Step
*
1
1
2
1
of Lemma
three-cs-vote-invariant
1. V : Type@i'
2. A : Id List@i
3. t : ℕ+@i
4. f : (V List) ─→ V@i
5. s : {a:Id| (a ∈ A)} ─→ (consensus-rcv(V;A) List)@i
6. y : {a:Id| (a ∈ A)} ─→ (consensus-rcv(V;A) List)@i
7. ∀a:{a:Id| (a ∈ A)} . ∀n:ℕ. ∀b:{a:Id| (a ∈ A)} . ∀v1:V.
((Vote[b;n;v1] ∈ s a)
⇒ (∃L:consensus-rcv(V;A) List. (L ≤ s b ∧ archive-condition(V;A;t;f;n;v1;L))))@i
8. a1 : {a:Id| (a ∈ A)} @i
9. e : consensus-rcv(V;A)@i
10. ∀b:{a:Id| (a ∈ A)} . ∀i:ℕ. ∀v:V.
((e = Vote[b;i;v] ∈ consensus-rcv(V;A))
⇒ ((∃L:consensus-rcv(V;A) List. (L ≤ s b ∧ archive-condition(V;A;t;f;i;v;L))) ∧ (¬(e ∈ s a1))))@i
11. ∀b:{a:Id| (a ∈ A)} . ((¬(b = a1 ∈ Id))
⇒ ((y b) = (s b) ∈ (consensus-rcv(V;A) List)))@i
12. (y a1) = ((s a1) @ [e]) ∈ (consensus-rcv(V;A) List)@i
13. a : {a:Id| (a ∈ A)} @i
14. n : ℕ@i
15. b : {a:Id| (a ∈ A)} @i
16. v1 : V@i
17. (Vote[b;n;v1] ∈ y a)@i
18. ∀n:ℕ. ∀b:{a:Id| (a ∈ A)} . ∀v1:V.
((Vote[b;n;v1] ∈ s a)
⇒ (∃L:consensus-rcv(V;A) List. (L ≤ s b ∧ archive-condition(V;A;t;f;n;v1;L))))
19. L : consensus-rcv(V;A) List
20. L ≤ s b
21. archive-condition(V;A;t;f;n;v1;L)
22. b = a1 ∈ Id
⊢ L ≤ y b
BY
{ ElimVar `b' }
1
1. V : Type@i'
2. A : Id List@i
3. t : ℕ+@i
4. f : (V List) ─→ V@i
5. s : {a:Id| (a ∈ A)} ─→ (consensus-rcv(V;A) List)@i
6. y : {a:Id| (a ∈ A)} ─→ (consensus-rcv(V;A) List)@i
7. ∀a:{a:Id| (a ∈ A)} . ∀n:ℕ. ∀b:{a:Id| (a ∈ A)} . ∀v1:V.
((Vote[b;n;v1] ∈ s a)
⇒ (∃L:consensus-rcv(V;A) List. (L ≤ s b ∧ archive-condition(V;A;t;f;n;v1;L))))@i
8. a1 : {a:Id| (a ∈ A)} @i
9. e : consensus-rcv(V;A)@i
10. ∀b:{a:Id| (a ∈ A)} . ∀i:ℕ. ∀v:V.
((e = Vote[b;i;v] ∈ consensus-rcv(V;A))
⇒ ((∃L:consensus-rcv(V;A) List. (L ≤ s b ∧ archive-condition(V;A;t;f;i;v;L))) ∧ (¬(e ∈ s a1))))@i
11. ∀b:{a:Id| (a ∈ A)} . ((¬(b = a1 ∈ Id))
⇒ ((y b) = (s b) ∈ (consensus-rcv(V;A) List)))@i
12. (y a1) = ((s a1) @ [e]) ∈ (consensus-rcv(V;A) List)@i
13. a : {a:Id| (a ∈ A)} @i
14. n : ℕ@i
15. b : {a:Id| (a ∈ A)} @i
16. a1 ∈ Id
17. v1 : V@i
18. (Vote[a1;n;v1] ∈ y a)@i
19. ∀n:ℕ. ∀b:{a:Id| (a ∈ A)} . ∀v1:V.
((Vote[b;n;v1] ∈ s a)
⇒ (∃L:consensus-rcv(V;A) List. (L ≤ s b ∧ archive-condition(V;A;t;f;n;v1;L))))
20. L : consensus-rcv(V;A) List
21. L ≤ s a1
22. archive-condition(V;A;t;f;n;v1;L)
⊢ L ≤ y a1
Latex:
1. V : Type@i'
2. A : Id List@i
3. t : \mBbbN{}\msupplus{}@i
4. f : (V List) {}\mrightarrow{} V@i
5. s : \{a:Id| (a \mmember{} A)\} {}\mrightarrow{} (consensus-rcv(V;A) List)@i
6. y : \{a:Id| (a \mmember{} A)\} {}\mrightarrow{} (consensus-rcv(V;A) List)@i
7. \mforall{}a:\{a:Id| (a \mmember{} A)\} . \mforall{}n:\mBbbN{}. \mforall{}b:\{a:Id| (a \mmember{} A)\} . \mforall{}v1:V.
((Vote[b;n;v1] \mmember{} s a)
{}\mRightarrow{} (\mexists{}L:consensus-rcv(V;A) List. (L \mleq{} s b \mwedge{} archive-condition(V;A;t;f;n;v1;L))))@i
8. a1 : \{a:Id| (a \mmember{} A)\} @i
9. e : consensus-rcv(V;A)@i
10. \mforall{}b:\{a:Id| (a \mmember{} A)\} . \mforall{}i:\mBbbN{}. \mforall{}v:V.
((e = Vote[b;i;v])
{}\mRightarrow{} ((\mexists{}L:consensus-rcv(V;A) List. (L \mleq{} s b \mwedge{} archive-condition(V;A;t;f;i;v;L)))
\mwedge{} (\mneg{}(e \mmember{} s a1))))@i
11. \mforall{}b:\{a:Id| (a \mmember{} A)\} . ((\mneg{}(b = a1)) {}\mRightarrow{} ((y b) = (s b)))@i
12. (y a1) = ((s a1) @ [e])@i
13. a : \{a:Id| (a \mmember{} A)\} @i
14. n : \mBbbN{}@i
15. b : \{a:Id| (a \mmember{} A)\} @i
16. v1 : V@i
17. (Vote[b;n;v1] \mmember{} y a)@i
18. \mforall{}n:\mBbbN{}. \mforall{}b:\{a:Id| (a \mmember{} A)\} . \mforall{}v1:V.
((Vote[b;n;v1] \mmember{} s a)
{}\mRightarrow{} (\mexists{}L:consensus-rcv(V;A) List. (L \mleq{} s b \mwedge{} archive-condition(V;A;t;f;n;v1;L))))
19. L : consensus-rcv(V;A) List
20. L \mleq{} s b
21. archive-condition(V;A;t;f;n;v1;L)
22. b = a1
\mvdash{} L \mleq{} y b
By
ElimVar `b'
Home
Index