Step
*
1
1
2
of Lemma
consensus-ts4-archived-invariant
1. V : Type@i'
2. ∀v1,v2:V.  Dec(v1 = v2 ∈ V)@i
3. A : Id List@i
4. W : {a:Id| (a ∈ A)}  List List@i
5. x : ConsensusState@i
6. (λa.<-1, ⊗>) ((λx,y. CR[x,y])^*) x@i
7. y : ConsensusState@i
8. (λa.<-1, ⊗>) ((λx,y. CR[x,y])^*) y@i
9. ∀i:ℤ. ∀v:V. ∀a:{a:Id| (a ∈ A)} .
     (by state x, a archived v in inning i
     
⇒ (∀j:ℕi. ∀v':V.  (in state x, inning j could commit v'  
⇒ (v' = v ∈ V))))@i
10. CR[x,y]@i
11. i : ℤ@i
12. v : V@i
13. a : {a:Id| (a ∈ A)} @i
14. by state y, a archived v in inning i@i
15. j : ℕi@i
16. v' : V@i
17. in state y, inning j could commit v' @i
18. ¬by state x, a archived v in inning i
⊢ v' = v ∈ V
BY
{ OnMaybeHyp 11 (\h. (Unfold `consensus-rel` h THEN ExRepD THEN SplitOrHyps THEN ExRepD)) }
1
1. V : Type@i'
2. ∀v1,v2:V.  Dec(v1 = v2 ∈ V)@i
3. A : Id List@i
4. W : {a:Id| (a ∈ A)}  List List@i
5. x : ConsensusState@i
6. (λa.<-1, ⊗>) ((λx,y. CR[x,y])^*) x@i
7. y : ConsensusState@i
8. (λa.<-1, ⊗>) ((λx,y. CR[x,y])^*) y@i
9. ∀i:ℤ. ∀v:V. ∀a:{a:Id| (a ∈ A)} .
     (by state x, a archived v in inning i
     
⇒ (∀j:ℕi. ∀v':V.  (in state x, inning j could commit v'  
⇒ (v' = v ∈ V))))@i
10. a1 : {a:Id| (a ∈ A)} @i
11. ∀b:{a:Id| (a ∈ A)} 
      ((¬(b = a1 ∈ Id)) 
⇒ ((Inning(y;b) = Inning(x;b) ∈ ℤ) ∧ (Estimate(y;b) = Estimate(x;b) ∈ i:ℤ fp-> V)))@i
12. Inning(y;a1) = (Inning(x;a1) + 1) ∈ ℤ@i
13. Estimate(y;a1) = Estimate(x;a1) ∈ i:ℤ fp-> V@i
14. i : ℤ@i
15. v : V@i
16. a : {a:Id| (a ∈ A)} @i
17. by state y, a archived v in inning i@i
18. j : ℕi@i
19. v' : V@i
20. in state y, inning j could commit v' @i
21. ¬by state x, a archived v in inning i
⊢ v' = v ∈ V
2
1. V : Type@i'
2. ∀v1,v2:V.  Dec(v1 = v2 ∈ V)@i
3. A : Id List@i
4. W : {a:Id| (a ∈ A)}  List List@i
5. x : ConsensusState@i
6. (λa.<-1, ⊗>) ((λx,y. CR[x,y])^*) x@i
7. y : ConsensusState@i
8. (λa.<-1, ⊗>) ((λx,y. CR[x,y])^*) y@i
9. ∀i:ℤ. ∀v:V. ∀a:{a:Id| (a ∈ A)} .
     (by state x, a archived v in inning i
     
⇒ (∀j:ℕi. ∀v':V.  (in state x, inning j could commit v'  
⇒ (v' = v ∈ V))))@i
10. a1 : {a:Id| (a ∈ A)} @i
11. ∀b:{a:Id| (a ∈ A)} 
      ((¬(b = a1 ∈ Id)) 
⇒ ((Inning(y;b) = Inning(x;b) ∈ ℤ) ∧ (Estimate(y;b) = Estimate(x;b) ∈ i:ℤ fp-> V)))@i
12. Inning(y;a1) = Inning(x;a1) ∈ ℤ@i
13. ¬(Inning(x;a1) ∈ fpf-domain(Estimate(x;a1)))@i
14. v1 : V@i
15. state x may consider v1 in inning Inning(x;a1)@i
16. Estimate(y;a1) = Estimate(x;a1) ⊕ Inning(x;a1) : v1 ∈ i:ℤ fp-> V@i
17. i : ℤ@i
18. v : V@i
19. a : {a:Id| (a ∈ A)} @i
20. by state y, a archived v in inning i@i
21. j : ℕi@i
22. v' : V@i
23. in state y, inning j could commit v' @i
24. ¬by state x, a archived v in inning i
⊢ v' = v ∈ V
Latex:
1.  V  :  Type@i'
2.  \mforall{}v1,v2:V.    Dec(v1  =  v2)@i
3.  A  :  Id  List@i
4.  W  :  \{a:Id|  (a  \mmember{}  A)\}    List  List@i
5.  x  :  ConsensusState@i
6.  (\mlambda{}a.<-1,  \motimes{}>)  rel\_star(ConsensusState;  \mlambda{}x,y.  CR[x,y])  x@i
7.  y  :  ConsensusState@i
8.  (\mlambda{}a.<-1,  \motimes{}>)  rel\_star(ConsensusState;  \mlambda{}x,y.  CR[x,y])  y@i
9.  \mforall{}i:\mBbbZ{}.  \mforall{}v:V.  \mforall{}a:\{a:Id|  (a  \mmember{}  A)\}  .
          (by  state  x,  a  archived  v  in  inning  i
          {}\mRightarrow{}  (\mforall{}j:\mBbbN{}i.  \mforall{}v':V.    (in  state  x,  inning  j  could  commit  v'    {}\mRightarrow{}  (v'  =  v))))@i
10.  CR[x,y]@i
11.  i  :  \mBbbZ{}@i
12.  v  :  V@i
13.  a  :  \{a:Id|  (a  \mmember{}  A)\}  @i
14.  by  state  y,  a  archived  v  in  inning  i@i
15.  j  :  \mBbbN{}i@i
16.  v'  :  V@i
17.  in  state  y,  inning  j  could  commit  v'  @i
18.  \mneg{}by  state  x,  a  archived  v  in  inning  i
\mvdash{}  v'  =  v
By
OnMaybeHyp  11  (\mbackslash{}h.  (Unfold  `consensus-rel`  h  THEN  ExRepD  THEN  SplitOrHyps  THEN  ExRepD))
Home
Index