Step
*
1
2
of Lemma
cs-inning-committed-some1
1. [V] : Type
2. ∀v,v':V.  Dec(v = v' ∈ V)@i
3. A : Id List@i
4. W : {a:Id| (a ∈ A)}  List List@i
5. one-intersection(A;W)@i
6. s : ConsensusState@i
7. i : ℤ@i
8. mapfilter(λa.Estimate(s;a)(i);λa.i ∈ dom(Estimate(s;a));A) ∈ V List
⊢ ∃L:V List. (∃v:V. in state s, inning i has committed v 
⇐⇒ (∃v∈L. in state s, inning i has committed v))
BY
{ (InstConcl [⌈mapfilter(λa.Estimate(s;a)(i);λa.i ∈ dom(Estimate(s;a));A)⌉]⋅
   THEN Auto
   THEN (All (RWO "l_exists_iff") THENA Auto)
   THEN ParallelLast
   THEN Auto) }
1
1. [V] : Type
2. ∀v,v':V.  Dec(v = v' ∈ V)@i
3. A : Id List@i
4. W : {a:Id| (a ∈ A)}  List List@i
5. one-intersection(A;W)@i
6. s : ConsensusState@i
7. i : ℤ@i
8. mapfilter(λa.Estimate(s;a)(i);λa.i ∈ dom(Estimate(s;a));A) ∈ V List
9. v : V@i
10. in state s, inning i has committed v@i
⊢ (v ∈ mapfilter(λa.Estimate(s;a)(i);λa.i ∈ dom(Estimate(s;a));A))
Latex:
1.  [V]  :  Type
2.  \mforall{}v,v':V.    Dec(v  =  v')@i
3.  A  :  Id  List@i
4.  W  :  \{a:Id|  (a  \mmember{}  A)\}    List  List@i
5.  one-intersection(A;W)@i
6.  s  :  ConsensusState@i
7.  i  :  \mBbbZ{}@i
8.  mapfilter(\mlambda{}a.Estimate(s;a)(i);\mlambda{}a.i  \mmember{}  dom(Estimate(s;a));A)  \mmember{}  V  List
\mvdash{}  \mexists{}L:V  List
      (\mexists{}v:V.  in  state  s,  inning  i  has  committed  v  \mLeftarrow{}{}\mRightarrow{}  (\mexists{}v\mmember{}L.  in  state  s,  inning  i  has  committed  v))
By
(InstConcl  [\mkleeneopen{}mapfilter(\mlambda{}a.Estimate(s;a)(i);\mlambda{}a.i  \mmember{}  dom(Estimate(s;a));A)\mkleeneclose{}]\mcdot{}
  THEN  Auto
  THEN  (All  (RWO  "l\_exists\_iff")  THENA  Auto)
  THEN  ParallelLast
  THEN  Auto)
Home
Index