Step
*
1
1
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
14. x ∈ ConsensusState
15. imax-list(map(λa.Inning(x;a);ws)) ∈ ℤ
⊢ ∃x':ConsensusState
   ((x ((λx,y. CR(in ws)[x, y] )^*) x')
   ∧ (∀a:{a:Id| (a ∈ A)} 
        ((a ∈ ws)
        
⇒ ((Inning(x';a) = (imax-list(map(λa.Inning(x;a);ws)) + 1) ∈ ℤ)
           ∧ (¬(imax-list(map(λa.Inning(x;a);ws)) + 1 ∈ fpf-domain(Estimate(x';a))))))))
BY
{ (Assert ∀a:{a:Id| (a ∈ A)} . ((a ∈ ws) 
⇒ Inning(x;a) < imax-list(map(λa.Inning(x;a);ws)) + 1) BY
         ((D 0 THENA Auto)
          THEN (InstLemma `imax-list-ub` [⌈map(λa.Inning(x;a);ws)⌉;⌈Inning(x;a)⌉]⋅
                THEN Auto
                THEN D -2
                THEN Auto
                THEN (BLemma `l_exists_iff` THENA Auto)
                THEN InstConcl [⌈Inning(x;a)⌉]⋅
                THEN Auto)⋅
          ))⋅ }
1
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. imax-list(map(λa.Inning(x;a);ws)) ∈ ℤ
16. ∀a:{a:Id| (a ∈ A)} . ((a ∈ ws) 
⇒ Inning(x;a) < imax-list(map(λa.Inning(x;a);ws)) + 1)
⊢ ∃x':ConsensusState
   ((x ((λx,y. CR(in ws)[x, y] )^*) x')
   ∧ (∀a:{a:Id| (a ∈ A)} 
        ((a ∈ ws)
        
⇒ ((Inning(x';a) = (imax-list(map(λa.Inning(x;a);ws)) + 1) ∈ ℤ)
           ∧ (¬(imax-list(map(λa.Inning(x;a);ws)) + 1 ∈ fpf-domain(Estimate(x';a))))))))
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
14.  x  \mmember{}  ConsensusState
15.  imax-list(map(\mlambda{}a.Inning(x;a);ws))  \mmember{}  \mBbbZ{}
\mvdash{}  \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)  =  (imax-list(map(\mlambda{}a.Inning(x;a);ws))  +  1))
                      \mwedge{}  (\mneg{}(imax-list(map(\mlambda{}a.Inning(x;a);ws))  +  1  \mmember{}  fpf-domain(Estimate(x';a))))))))
By
(Assert  \mforall{}a:\{a:Id|  (a  \mmember{}  A)\}  .  ((a  \mmember{}  ws)  {}\mRightarrow{}  Inning(x;a)  <  imax-list(map(\mlambda{}a.Inning(x;a);ws))  +  1)  BY
              ((D  0  THENA  Auto)
                THEN  (InstLemma  `imax-list-ub`  [\mkleeneopen{}map(\mlambda{}a.Inning(x;a);ws)\mkleeneclose{};\mkleeneopen{}Inning(x;a)\mkleeneclose{}]\mcdot{}
                            THEN  Auto
                            THEN  D  -2
                            THEN  Auto
                            THEN  (BLemma  `l\_exists\_iff`  THENA  Auto)
                            THEN  InstConcl  [\mkleeneopen{}Inning(x;a)\mkleeneclose{}]\mcdot{}
                            THEN  Auto)\mcdot{}
                ))\mcdot{}
Home
Index