Step * 1 3 2 1 1 1 of Lemma cs-ref-map3-predecided


1. [V] Type
2. consensus-state3(V) List@i
3. V@i
4. ∀[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. filter(λx.cs-is-committed(x);L) [] ∈ (consensus-state3(V) List)
7. filter(λx.cs-is-considering(x);L) ∈ {x:consensus-state3(V)| ↑cs-is-considering(x)}  List
8. {x:consensus-state3(V)| ↑cs-is-considering(x)} 
9. {x:consensus-state3(V)| ↑cs-is-considering(x)}  List
10. filter(λx.cs-is-considering(x);L) [u w] ∈ ({x:consensus-state3(V)| ↑cs-is-considering(x)}  List)@i
11. ¬([u w] [] ∈ (consensus-state3(V) List))@i
12. (u ∈ [u w])
⊢ (PREDECIDED[cs-considered-val(u)] PREDECIDED[v] ∈ consensus-state2(V))  (CONSIDERING[v] ∈ L)
BY
((All Reduce THEN (RevHypSubst (-3) (-1)⋅ THENA Auto))
   THEN ((RWO "member_filter" (-1) THENA Auto)
         THEN Reduce (-1)
         THEN Auto
         THEN FLemma `cs-is-considering-implies` [-2]
         THEN Auto)
   }

1
1. [V] Type
2. consensus-state3(V) List@i
3. V@i
4. ∀[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. filter(λx.cs-is-committed(x);L) [] ∈ (consensus-state3(V) List)
7. filter(λx.cs-is-considering(x);L) ∈ {x:consensus-state3(V)| ↑cs-is-considering(x)}  List
8. {x:consensus-state3(V)| ↑cs-is-considering(x)} 
9. {x:consensus-state3(V)| ↑cs-is-considering(x)}  List
10. filter(λx.cs-is-considering(x);L) [u w] ∈ ({x:consensus-state3(V)| ↑cs-is-considering(x)}  List)@i
11. ¬([u w] [] ∈ (consensus-state3(V) List))@i
12. (u ∈ L)
13. ↑cs-is-considering(u)
14. PREDECIDED[cs-considered-val(u)] PREDECIDED[v] ∈ consensus-state2(V)@i
15. CONSIDERING[cs-considered-val(u)] ∈ consensus-state3(V)
⊢ (CONSIDERING[v] ∈ L)


Latex:


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.  filter(\mlambda{}x.cs-is-committed(x);L)  =  []
7.  filter(\mlambda{}x.cs-is-considering(x);L)  \mmember{}  \{x:consensus-state3(V)|  \muparrow{}cs-is-considering(x)\}    List
8.  u  :  \{x:consensus-state3(V)|  \muparrow{}cs-is-considering(x)\} 
9.  w  :  \{x:consensus-state3(V)|  \muparrow{}cs-is-considering(x)\}    List
10.  filter(\mlambda{}x.cs-is-considering(x);L)  =  [u  /  w]@i
11.  \mneg{}([u  /  w]  =  [])@i
12.  (u  \mmember{}  [u  /  w])
\mvdash{}  (PREDECIDED[cs-considered-val(u)]  =  PREDECIDED[v])  {}\mRightarrow{}  (CONSIDERING[v]  \mmember{}  L)


By


Latex:
((All  Reduce  THEN  (RevHypSubst  (-3)  (-1)\mcdot{}  THENA  Auto))
  THEN  ((RWO  "member\_filter"  (-1)  THENA  Auto)
              THEN  Reduce  (-1)
              THEN  Auto
              THEN  FLemma  `cs-is-considering-implies`  [-2]
              THEN  Auto)
  )




Home Index