Step
*
1
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. A : Id List@i
5. W : {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:{a:Id| (a ∈ A)} . (a ∈ ws)
12. 0 < ||ws||
13. x : ts-reachable(consensus-ts4(V;A;W))@i
⊢ ∃y:ConsensusState. ((x ((λx@0,y. CR(in ws)[x@0, y] )^*) y) ∧ (∃v:V. ∃i:ℤ. in state y, inning i has committed v))
BY
{ ((Assert x ∈ ConsensusState BY
          (DVar `x' THEN RepUR ``ts-type consensus-ts4`` -2 THEN Auto))
   THEN Assert ⌈∃i:ℤ
                 ∃x':ConsensusState
                  ((x ((λx,y. CR(in ws)[x, y] )^*) x')
                  ∧ (∀a:{a:Id| (a ∈ A)} . ((a ∈ ws) 
⇒ ((Inning(x';a) = i ∈ ℤ) ∧ (¬(i ∈ fpf-domain(Estimate(x';a))))))))\000C⌉
        ⋅
   )⋅ }
1
.....assertion..... 
1. [V] : Type
2. ∀v1,v2:V.  Dec(v1 = v2 ∈ V)@i
3. {∃v,v':V. (¬(v = v' ∈ V))}@i
4. A : Id List@i
5. W : {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:{a:Id| (a ∈ A)} . (a ∈ ws)
12. 0 < ||ws||
13. x : ts-reachable(consensus-ts4(V;A;W))@i
14. x ∈ ConsensusState
⊢ ∃i:ℤ
   ∃x':ConsensusState
    ((x ((λx,y. CR(in ws)[x, y] )^*) x')
    ∧ (∀a:{a:Id| (a ∈ A)} . ((a ∈ ws) 
⇒ ((Inning(x';a) = i ∈ ℤ) ∧ (¬(i ∈ fpf-domain(Estimate(x';a))))))))
2
1. [V] : Type
2. ∀v1,v2:V.  Dec(v1 = v2 ∈ V)@i
3. {∃v,v':V. (¬(v = v' ∈ V))}@i
4. A : Id List@i
5. W : {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:{a:Id| (a ∈ A)} . (a ∈ ws)
12. 0 < ||ws||
13. x : ts-reachable(consensus-ts4(V;A;W))@i
14. x ∈ ConsensusState
15. ∃i:ℤ
     ∃x':ConsensusState
      ((x ((λx,y. CR(in ws)[x, y] )^*) x')
      ∧ (∀a:{a:Id| (a ∈ A)} . ((a ∈ ws) 
⇒ ((Inning(x';a) = i ∈ ℤ) ∧ (¬(i ∈ fpf-domain(Estimate(x';a))))))))
⊢ ∃y:ConsensusState. ((x ((λx@0,y. CR(in ws)[x@0, y] )^*) y) ∧ (∃v:V. ∃i:ℤ. in state y, inning i has committed v))
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.  \mexists{}a:\{a:Id|  (a  \mmember{}  A)\}  .  (a  \mmember{}  ws)
12.  0  <  ||ws||
13.  x  :  ts-reachable(consensus-ts4(V;A;W))@i
\mvdash{}  \mexists{}y:ConsensusState
      ((x  ((\mlambda{}x@0,y.  CR(in  ws)[x@0,  y]  )\^{}*)  y)  \mwedge{}  (\mexists{}v:V.  \mexists{}i:\mBbbZ{}.  in  state  y,  inning  i  has  committed  v))
By
((Assert  x  \mmember{}  ConsensusState  BY
                (DVar  `x'  THEN  RepUR  ``ts-type  consensus-ts4``  -2  THEN  Auto))
  THEN  Assert  \mkleeneopen{}\mexists{}i:\mBbbZ{}
                              \mexists{}x':ConsensusState
                                ((x  rel\_star(ConsensusState;  \mlambda{}x,y.  CR(in  ws)[x,  y]  )  x')
                                \mwedge{}  (\mforall{}a:\{a:Id|  (a  \mmember{}  A)\} 
                                          ((a  \mmember{}  ws)  {}\mRightarrow{}  ((Inning(x';a)  =  i)  \mwedge{}  (\mneg{}(i  \mmember{}  fpf-domain(Estimate(x';a))))))))\mkleeneclose{}\mcdot{}
  )\mcdot{}
Home
Index