Paxos made simple -- two details
What exactly is the reason for rule P1?


The paper says:


  We use the customary asynchronous, non-Byzantine model...


In other words, it assumes that everything can take an arbitrarily long time to happen, but no messages are corrupted in transit and all agents obey the protocol.

What this means is that it would be perfectly fine to write the timeout-based rule as you describe, but it would be harder to describe and analyse and yet it would not satisfy any different properties from a protocol that has no timeouts: the asynchronous model already allows for arbitrary delays and message-reordering, so adding any further delays and message-reordering doesn't gain anything.


  What does "P1a subsumes P1" mean?


It means it replaces P1. The sentence after P1 starts ...


  But this requirement raises a problem.


... which means that P1 isn't the correct requirement. The correct requirement is in fact P1a.