Step * 1 1 5 1 1 1 1 1 of Lemma cs-ref-map3-decided


1. Type
2. consensus-state3(V) List@i
3. V@i
4. False supposing ∀[i:ℕ||L||]. (¬↑cs-is-committed(L[i]))@i
5. (COMMITED[v] ∈ L)@i
6. ∀[v':V]. v' v ∈ supposing (CONSIDERING[v'] ∈ L) ∨ (COMMITED[v'] ∈ L)
7. filter(λx.cs-is-committed(x);L) ∈ {x:consensus-state3(V)| ↑((λx.cs-is-committed(x)) x)}  List
8. {x:consensus-state3(V)| ↑((λx.cs-is-committed(x)) x)} 
9. v2 {x:consensus-state3(V)| ↑((λx.cs-is-committed(x)) x)}  List
10. filter(λx.cs-is-committed(x);L) [u v2] ∈ ({x:consensus-state3(V)| ↑((λx.cs-is-committed(x)) x)}  List)@i
11. ¬([u v2] [] ∈ (consensus-state3(V) List))@i
⊢ cs-committed-val(u) v ∈ V
BY
(BackThruSomeHyp THEN OrRight THEN Auto) }

1
1. Type
2. consensus-state3(V) List@i
3. V@i
4. False supposing ∀[i:ℕ||L||]. (¬↑cs-is-committed(L[i]))@i
5. (COMMITED[v] ∈ L)@i
6. ∀[v':V]. v' v ∈ supposing (CONSIDERING[v'] ∈ L) ∨ (COMMITED[v'] ∈ L)
7. filter(λx.cs-is-committed(x);L) ∈ {x:consensus-state3(V)| ↑((λx.cs-is-committed(x)) x)}  List
8. {x:consensus-state3(V)| ↑((λx.cs-is-committed(x)) x)} 
9. v2 {x:consensus-state3(V)| ↑((λx.cs-is-committed(x)) x)}  List
10. filter(λx.cs-is-committed(x);L) [u v2] ∈ ({x:consensus-state3(V)| ↑((λx.cs-is-committed(x)) x)}  List)@i
11. ¬([u v2] [] ∈ (consensus-state3(V) List))@i
⊢ (COMMITED[cs-committed-val(u)] ∈ L)


Latex:



1.  V  :  Type
2.  L  :  consensus-state3(V)  List@i
3.  v  :  V@i
4.  False  supposing  \mforall{}[i:\mBbbN{}||L||].  (\mneg{}\muparrow{}cs-is-committed(L[i]))@i
5.  (COMMITED[v]  \mmember{}  L)@i
6.  \mforall{}[v':V].  v'  =  v  supposing  (CONSIDERING[v']  \mmember{}  L)  \mvee{}  (COMMITED[v']  \mmember{}  L)
7.  filter(\mlambda{}x.cs-is-committed(x);L)  \mmember{}  \{x:consensus-state3(V)|  \muparrow{}((\mlambda{}x.cs-is-committed(x))  x)\}    List
8.  u  :  \{x:consensus-state3(V)|  \muparrow{}((\mlambda{}x.cs-is-committed(x))  x)\} 
9.  v2  :  \{x:consensus-state3(V)|  \muparrow{}((\mlambda{}x.cs-is-committed(x))  x)\}    List
10.  filter(\mlambda{}x.cs-is-committed(x);L)  =  [u  /  v2]@i
11.  \mneg{}([u  /  v2]  =  [])@i
\mvdash{}  cs-committed-val(u)  =  v


By

(BackThruSomeHyp  THEN  OrRight  THEN  Auto)




Home Index