我正在阅读Paxos 变得简单的论文,但被困在 P2 b的证明部分。
规则 P2 b的内容:
如果选择值为 v 的提案,则任何提案者发布的每个编号较高的提案都具有值 v。
这是 Leslie Lamport 的证明部分:
为了发现如何满足 P2 b,让我们考虑如何证明它成立。我们假设某个编号为 m 且值为 v 的提案被选中,并表明任何编号为 n > m 的提案也具有值 v。我们将通过对 n 使用归纳来简化证明,因此我们可以证明编号为 n 的提案在附加假设下具有值 v ,即每个提案都以 m 中的数字发布。. (n - 1) 的值为 v ,其中 i 。. j 表示从 i 到 j 的数字集。要选择编号为 m 的提案,必须有一些由大多数接受者组成的集合 C,使得 C 中的每个接受者都接受它。将此与归纳假设相结合,选择 m 的假设意味着:
C 中的每个接受者都接受了一个编号为 m ..(n - 1) 的提案,并且任何接受者接受的每个编号为 m ..(n - 1) 的提案都具有值 v
所以归纳过程是:
- 基本情况:选择了值为v的提案m
- 归纳步骤:任何编号为m ..(n-1) 的提案都具有值v
为什么它意味着:
C 中的每个接受者都接受了一个编号为 m ..(n − 1) 的提案
我只是无法弥合差距,为什么C中的每个接受者都需要接受编号为m..(n-1)的提案?
P1保证接受者必须接受收到的第一个提案, P2 a保证只有具有所选值的编号较高的提案才能被接受者接受,但我只是不明白隐含声明的重点。