Step * 1 1 2 1 2 1 2 1 of Lemma consensus-reachable


1. [V] Type
2. ∀v1,v2:V.  Dec(v1 v2 ∈ V)@i
3. {∃v,v':V. (v v' ∈ V))}@i
4. Id List@i
5. {a:Id| (a ∈ A)}  List List@i
6. three-intersection(A;W)@i
7. two-intersection(A;W)
8. one-intersection(A;W)
9. ws {a:Id| (a ∈ A)}  List@i
10. (ws ∈ W)@i
11. {a:Id| (a ∈ A)} 
12. (a ∈ ws)
13. 0 < ||ws||
14. : ℤ
15. ConsensusState
16. ∀a:{a:Id| (a ∈ A)} ((a ∈ ws)  ((Inning(x;a) i ∈ ℤ) ∧ (i ∈ fpf-domain(Estimate(x;a))))))
17. V
18. state may consider in inning i
⊢ (x ((λx,y. CR(in ws)[x, y] )^*) a.if a ∈b ws then <i, Estimate(x;a) ⊕ v> else fi ))
∧ (∃v@0:V. ∃i@0:ℤin state λa.if a ∈b ws then <i, Estimate(x;a) ⊕ v> else fi inning i@0 has committed v@0)
BY
(ThinVar `a'
   THEN Assert ⌜∀n:ℕ
                  (x 
                   ((λx,y. CR(in ws)[x, y] )^*) 
                   a.if a ∈b firstn(n;A) ∧b a ∈b ws then <i, Estimate(x;a) ⊕ v> else fi ))⌝⋅
   }

1
.....assertion..... 
1. [V] Type
2. ∀v1,v2:V.  Dec(v1 v2 ∈ V)@i
3. {∃v,v':V. (v v' ∈ V))}@i
4. Id List@i
5. {a:Id| (a ∈ A)}  List List@i
6. three-intersection(A;W)@i
7. two-intersection(A;W)
8. one-intersection(A;W)
9. ws {a:Id| (a ∈ A)}  List@i
10. (ws ∈ W)@i
11. 0 < ||ws||
12. : ℤ
13. ConsensusState
14. ∀a:{a:Id| (a ∈ A)} ((a ∈ ws)  ((Inning(x;a) i ∈ ℤ) ∧ (i ∈ fpf-domain(Estimate(x;a))))))
15. V
16. state may consider in inning i
⊢ ∀n:ℕ(x ((λx,y. CR(in ws)[x, y] )^*) a.if a ∈b firstn(n;A) ∧b a ∈b ws then <i, Estimate(x;a) ⊕ v> else fi )\000C)

2
1. [V] Type
2. ∀v1,v2:V.  Dec(v1 v2 ∈ V)@i
3. {∃v,v':V. (v v' ∈ V))}@i
4. Id List@i
5. {a:Id| (a ∈ A)}  List List@i
6. three-intersection(A;W)@i
7. two-intersection(A;W)
8. one-intersection(A;W)
9. ws {a:Id| (a ∈ A)}  List@i
10. (ws ∈ W)@i
11. 0 < ||ws||
12. : ℤ
13. ConsensusState
14. ∀a:{a:Id| (a ∈ A)} ((a ∈ ws)  ((Inning(x;a) i ∈ ℤ) ∧ (i ∈ fpf-domain(Estimate(x;a))))))
15. V
16. state may consider in inning i
17. ∀n:ℕ(x ((λx,y. CR(in ws)[x, y] )^*) a.if a ∈b firstn(n;A) ∧b a ∈b ws then <i, Estimate(x;a) ⊕ v> else fi\000C ))
⊢ (x ((λx,y. CR(in ws)[x, y] )^*) a.if a ∈b ws then <i, Estimate(x;a) ⊕ v> else fi ))
∧ (∃v@0:V. ∃i@0:ℤin state λa.if a ∈b ws then <i, Estimate(x;a) ⊕ v> else fi inning i@0 has committed v@0)


Latex:


Latex:

1.  [V]  :  Type
2.  \mforall{}v1,v2:V.    Dec(v1  =  v2)@i
3.  \{\mexists{}v,v':V.  (\mneg{}(v  =  v'))\}@i
4.  A  :  Id  List@i
5.  W  :  \{a:Id|  (a  \mmember{}  A)\}    List  List@i
6.  three-intersection(A;W)@i
7.  two-intersection(A;W)
8.  one-intersection(A;W)
9.  ws  :  \{a:Id|  (a  \mmember{}  A)\}    List@i
10.  (ws  \mmember{}  W)@i
11.  a  :  \{a:Id|  (a  \mmember{}  A)\} 
12.  (a  \mmember{}  ws)
13.  0  <  ||ws||
14.  i  :  \mBbbZ{}
15.  x  :  ConsensusState
16.  \mforall{}a:\{a:Id|  (a  \mmember{}  A)\}  .  ((a  \mmember{}  ws)  {}\mRightarrow{}  ((Inning(x;a)  =  i)  \mwedge{}  (\mneg{}(i  \mmember{}  fpf-domain(Estimate(x;a))))))
17.  v  :  V
18.  state  x  may  consider  v  in  inning  i
\mvdash{}  (x  ((\mlambda{}x,y.  CR(in  ws)[x,  y]  )\^{}*)  (\mlambda{}a.if  a  \mmember{}\msubb{}  ws  then  <i,  Estimate(x;a)  \moplus{}  i  :  v>  else  x  a  fi  ))
\mwedge{}  (\mexists{}v@0:V
        \mexists{}i@0:\mBbbZ{}
          in  state  \mlambda{}a.if  a  \mmember{}\msubb{}  ws
                                  then  <i,  Estimate(x;a)  \moplus{}  i  :  v>
                                  else  x  a
                                  fi  ,  inning  i@0  has  committed  v@0)


By


Latex:
(ThinVar  `a'
  THEN  Assert  \mkleeneopen{}\mforall{}n:\mBbbN{}
                                (x 
                                  rel\_star(ConsensusState;  \mlambda{}x,y.  CR(in  ws)[x,  y]  ) 
                                  (\mlambda{}a.if  a  \mmember{}\msubb{}  firstn(n;A)  \mwedge{}\msubb{}  a  \mmember{}\msubb{}  ws  then  <i,  Estimate(x;a)  \moplus{}  i  :  v>  else  x  a  fi  ))\mkleeneclose{}\mcdot{}
  )




Home Index