Step
*
1
1
1
2
1
1
1
1
of Lemma
cs-ref-map3-predecided
1. V : Type
2. L : consensus-state3(V) List@i
3. v : V@i
4. ∀[v':V]. v' = v ∈ V supposing (CONSIDERING[v'] ∈ L) ∨ (COMMITED[v'] ∈ L) 
   supposing (CONSIDERING[v] ∈ L) ∨ (COMMITED[v] ∈ L)
5. ∀v:V. ((COMMITED[v] ∈ L) 
⇐⇒ cs-ref-map3(L) = Decided[v] ∈ consensus-state2(V))
6. ∀v':V. (¬(COMMITED[v'] ∈ L))@i
7. (CONSIDERING[v] ∈ L)@i
8. filter(λx.cs-is-considering(x);L) ∈ {x:consensus-state3(V)| ↑((λx.cs-is-considering(x)) x)}  List
9. u : {x:consensus-state3(V)| ↑((λx.cs-is-considering(x)) x)} 
10. w : {x:consensus-state3(V)| ↑((λx.cs-is-considering(x)) x)}  List
11. filter(λx.cs-is-considering(x);L) = [u / w] ∈ ({x:consensus-state3(V)| ↑((λx.cs-is-considering(x)) x)}  List)@i
12. ¬([u / w] = [] ∈ (consensus-state3(V) List))@i
13. (u ∈ [u / w])
⊢ (CONSIDERING[cs-considered-val(u)] ∈ L)
BY
{ (All Reduce THEN (RevHypSubst (-3) (-1)⋅ THENA Auto)) }
1
1. V : Type
2. L : consensus-state3(V) List@i
3. v : V@i
4. ∀[v':V]. v' = v ∈ V supposing (CONSIDERING[v'] ∈ L) ∨ (COMMITED[v'] ∈ L) 
   supposing (CONSIDERING[v] ∈ L) ∨ (COMMITED[v] ∈ L)
5. ∀v:V. ((COMMITED[v] ∈ L) 
⇐⇒ cs-ref-map3(L) = Decided[v] ∈ consensus-state2(V))
6. ∀v':V. (¬(COMMITED[v'] ∈ L))@i
7. (CONSIDERING[v] ∈ L)@i
8. filter(λx.cs-is-considering(x);L) ∈ {x:consensus-state3(V)| ↑cs-is-considering(x)}  List
9. u : {x:consensus-state3(V)| ↑cs-is-considering(x)} 
10. w : {x:consensus-state3(V)| ↑cs-is-considering(x)}  List
11. filter(λx.cs-is-considering(x);L) = [u / w] ∈ ({x:consensus-state3(V)| ↑cs-is-considering(x)}  List)@i
12. ¬([u / w] = [] ∈ (consensus-state3(V) List))@i
13. (u ∈ filter(λx.cs-is-considering(x);L))
⊢ (CONSIDERING[cs-considered-val(u)] ∈ L)
Latex:
1.  V  :  Type
2.  L  :  consensus-state3(V)  List@i
3.  v  :  V@i
4.  \mforall{}[v':V].  v'  =  v  supposing  (CONSIDERING[v']  \mmember{}  L)  \mvee{}  (COMMITED[v']  \mmember{}  L) 
      supposing  (CONSIDERING[v]  \mmember{}  L)  \mvee{}  (COMMITED[v]  \mmember{}  L)
5.  \mforall{}v:V.  ((COMMITED[v]  \mmember{}  L)  \mLeftarrow{}{}\mRightarrow{}  cs-ref-map3(L)  =  Decided[v])
6.  \mforall{}v':V.  (\mneg{}(COMMITED[v']  \mmember{}  L))@i
7.  (CONSIDERING[v]  \mmember{}  L)@i
8.  filter(\mlambda{}x.cs-is-considering(x);L)  \mmember{}  \{x:consensus-state3(V)|  \muparrow{}((\mlambda{}x.cs-is-considering(x))  x)\}    List
9.  u  :  \{x:consensus-state3(V)|  \muparrow{}((\mlambda{}x.cs-is-considering(x))  x)\} 
10.  w  :  \{x:consensus-state3(V)|  \muparrow{}((\mlambda{}x.cs-is-considering(x))  x)\}    List
11.  filter(\mlambda{}x.cs-is-considering(x);L)  =  [u  /  w]@i
12.  \mneg{}([u  /  w]  =  [])@i
13.  (u  \mmember{}  [u  /  w])
\mvdash{}  (CONSIDERING[cs-considered-val(u)]  \mmember{}  L)
By
(All  Reduce  THEN  (RevHypSubst  (-3)  (-1)\mcdot{}  THENA  Auto))
Home
Index