Step
*
1
2
1
1
1
of Lemma
decidable__cs-inning-committable-another
.....assertion..... 
1. [V] : Type
2. v1 : V@i
3. v2 : V@i
4. ¬(v1 = v2 ∈ V)@i
5. ∀v,v':V.  Dec(v = v' ∈ V)@i
6. A : Id List@i
7. W : {a:Id| (a ∈ A)}  List List@i
8. one-intersection(A;W)@i
9. s : ConsensusState@i
10. i : ℤ@i
11. v' : V@i
12. mapfilter(λa.Estimate(s;a)(i);λa.i ∈ dom(Estimate(s;a));A) ∈ V List
13. v : V@i
14. ¬(v = v' ∈ V)@i
15. ws : {a:Id| (a ∈ A)}  List@i
16. (ws ∈ W)@i
17. ∀a:{a:Id| (a ∈ A)} 
      ((a ∈ ws) 
⇒ (by state s, a archived v in inning i ∨ in state s, a has not completed inning i))@i
⊢ Dec(∃v:V
       ((v ∈ mapfilter(λa.Estimate(s;a)(i);λa.i ∈ dom(Estimate(s;a));A))
       ∧ (¬(v = v' ∈ V))
       ∧ in state s, inning i could commit v ))
BY
{ Assert ⌈Dec((∃v∈mapfilter(λa.Estimate(s;a)(i);λa.i ∈ dom(Estimate(s;a));A). (¬(v = v' ∈ V))
          ∧ in state s, inning i could commit v ))⌉⋅ }
1
.....assertion..... 
1. [V] : Type
2. v1 : V@i
3. v2 : V@i
4. ¬(v1 = v2 ∈ V)@i
5. ∀v,v':V.  Dec(v = v' ∈ V)@i
6. A : Id List@i
7. W : {a:Id| (a ∈ A)}  List List@i
8. one-intersection(A;W)@i
9. s : ConsensusState@i
10. i : ℤ@i
11. v' : V@i
12. mapfilter(λa.Estimate(s;a)(i);λa.i ∈ dom(Estimate(s;a));A) ∈ V List
13. v : V@i
14. ¬(v = v' ∈ V)@i
15. ws : {a:Id| (a ∈ A)}  List@i
16. (ws ∈ W)@i
17. ∀a:{a:Id| (a ∈ A)} 
      ((a ∈ ws) 
⇒ (by state s, a archived v in inning i ∨ in state s, a has not completed inning i))@i
⊢ Dec((∃v∈mapfilter(λa.Estimate(s;a)(i);λa.i ∈ dom(Estimate(s;a));A). (¬(v = v' ∈ V))
∧ in state s, inning i could commit v ))
2
1. [V] : Type
2. v1 : V@i
3. v2 : V@i
4. ¬(v1 = v2 ∈ V)@i
5. ∀v,v':V.  Dec(v = v' ∈ V)@i
6. A : Id List@i
7. W : {a:Id| (a ∈ A)}  List List@i
8. one-intersection(A;W)@i
9. s : ConsensusState@i
10. i : ℤ@i
11. v' : V@i
12. mapfilter(λa.Estimate(s;a)(i);λa.i ∈ dom(Estimate(s;a));A) ∈ V List
13. v : V@i
14. ¬(v = v' ∈ V)@i
15. ws : {a:Id| (a ∈ A)}  List@i
16. (ws ∈ W)@i
17. ∀a:{a:Id| (a ∈ A)} 
      ((a ∈ ws) 
⇒ (by state s, a archived v in inning i ∨ in state s, a has not completed inning i))@i
18. Dec((∃v∈mapfilter(λa.Estimate(s;a)(i);λa.i ∈ dom(Estimate(s;a));A). (¬(v = v' ∈ V))
∧ in state s, inning i could commit v ))
⊢ Dec(∃v:V
       ((v ∈ mapfilter(λa.Estimate(s;a)(i);λa.i ∈ dom(Estimate(s;a));A))
       ∧ (¬(v = v' ∈ V))
       ∧ in state s, inning i could commit v ))
Latex:
.....assertion..... 
1.  [V]  :  Type
2.  v1  :  V@i
3.  v2  :  V@i
4.  \mneg{}(v1  =  v2)@i
5.  \mforall{}v,v':V.    Dec(v  =  v')@i
6.  A  :  Id  List@i
7.  W  :  \{a:Id|  (a  \mmember{}  A)\}    List  List@i
8.  one-intersection(A;W)@i
9.  s  :  ConsensusState@i
10.  i  :  \mBbbZ{}@i
11.  v'  :  V@i
12.  mapfilter(\mlambda{}a.Estimate(s;a)(i);\mlambda{}a.i  \mmember{}  dom(Estimate(s;a));A)  \mmember{}  V  List
13.  v  :  V@i
14.  \mneg{}(v  =  v')@i
15.  ws  :  \{a:Id|  (a  \mmember{}  A)\}    List@i
16.  (ws  \mmember{}  W)@i
17.  \mforall{}a:\{a:Id|  (a  \mmember{}  A)\} 
            ((a  \mmember{}  ws)
            {}\mRightarrow{}  (by  state  s,  a  archived  v  in  inning  i  \mvee{}  in  state  s,  a  has  not  completed  inning  i))@i
\mvdash{}  Dec(\mexists{}v:V
              ((v  \mmember{}  mapfilter(\mlambda{}a.Estimate(s;a)(i);\mlambda{}a.i  \mmember{}  dom(Estimate(s;a));A))
              \mwedge{}  (\mneg{}(v  =  v'))
              \mwedge{}  in  state  s,  inning  i  could  commit  v  ))
By
Assert  \mkleeneopen{}Dec((\mexists{}v\mmember{}mapfilter(\mlambda{}a.Estimate(s;a)(i);\mlambda{}a.i  \mmember{}  dom(Estimate(s;a));A).  (\mneg{}(v  =  v'))
                \mwedge{}  in  state  s,  inning  i  could  commit  v  ))\mkleeneclose{}\mcdot{}
Home
Index