Step * 1 1 of Lemma cs-ref-map3-ambivalent


1. Type@i'
2. consensus-state3(V) List@i
3. ∀[v:V]
     ∀[v':V]. v' v ∈ supposing (CONSIDERING[v'] ∈ L) ∨ (COMMITED[v'] ∈ L) 
     supposing (CONSIDERING[v] ∈ L) ∨ (COMMITED[v] ∈ L)
4. ∀v:V. ((COMMITED[v] ∈ L) ⇐⇒ cs-ref-map3(L) Decided[v] ∈ consensus-state2(V))
5. ∀v:V
     ((∀v':V. (COMMITED[v'] ∈ L))) ∧ (CONSIDERING[v] ∈ L) ⇐⇒ cs-ref-map3(L) PREDECIDED[v] ∈ consensus-state2(V))
6. (∀[v:V]. (COMMITED[v] ∈ L))) ∧ (∀[v:V]. (CONSIDERING[v] ∈ L)))@i
⊢ cs-ref-map3(L) AMBIVALENT ∈ consensus-state2(V)
BY
(Auto
   THEN RepUR ``cs-ref-map3 let`` 0
   THEN (InstLemma `filter_is_empty` [⌈consensus-state3(V)⌉;⌈λx.cs-is-committed(x)⌉;⌈L⌉]⋅ THENA Auto)
   THEN MoveToConcl (-1)
   THEN (SplitOnConclITE THENA Auto)
   THEN Reduce 0) }

1
1. Type@i'
2. consensus-state3(V) List@i
3. ∀[v:V]
     ∀[v':V]. v' v ∈ supposing (CONSIDERING[v'] ∈ L) ∨ (COMMITED[v'] ∈ L) 
     supposing (CONSIDERING[v] ∈ L) ∨ (COMMITED[v] ∈ L)
4. ∀v:V. ((COMMITED[v] ∈ L) ⇐⇒ cs-ref-map3(L) Decided[v] ∈ consensus-state2(V))
5. ∀v:V
     ((∀v':V. (COMMITED[v'] ∈ L))) ∧ (CONSIDERING[v] ∈ L) ⇐⇒ cs-ref-map3(L) PREDECIDED[v] ∈ consensus-state2(V))
6. ∀[v:V]. (COMMITED[v] ∈ L))@i
7. ∀[v:V]. (CONSIDERING[v] ∈ L))@i
8. filter(λx.cs-is-committed(x);L) [] ∈ (consensus-state3(V) List)
⊢ uiff(True;∀[i:ℕ||L||]. (¬↑cs-is-committed(L[i])))
 (if null(filter(λx.cs-is-considering(x);L))
   then AMBIVALENT
   else PREDECIDED[cs-considered-val(hd(filter(λx.cs-is-considering(x);L)))]
   fi 
   AMBIVALENT
   ∈ consensus-state2(V))

2
1. Type@i'
2. consensus-state3(V) List@i
3. ∀[v:V]
     ∀[v':V]. v' v ∈ supposing (CONSIDERING[v'] ∈ L) ∨ (COMMITED[v'] ∈ L) 
     supposing (CONSIDERING[v] ∈ L) ∨ (COMMITED[v] ∈ L)
4. ∀v:V. ((COMMITED[v] ∈ L) ⇐⇒ cs-ref-map3(L) Decided[v] ∈ consensus-state2(V))
5. ∀v:V
     ((∀v':V. (COMMITED[v'] ∈ L))) ∧ (CONSIDERING[v] ∈ L) ⇐⇒ cs-ref-map3(L) PREDECIDED[v] ∈ consensus-state2(V))
6. ∀[v:V]. (COMMITED[v] ∈ L))@i
7. ∀[v:V]. (CONSIDERING[v] ∈ L))@i
8. ¬(filter(λx.cs-is-committed(x);L) [] ∈ (consensus-state3(V) List))
⊢ uiff(False;∀[i:ℕ||L||]. (¬↑cs-is-committed(L[i])))
 (Decided[cs-committed-val(hd(filter(λx.cs-is-committed(x);L)))] AMBIVALENT ∈ consensus-state2(V))


Latex:



1.  V  :  Type@i'
2.  L  :  consensus-state3(V)  List@i
3.  \mforall{}[v:V]
          \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)
4.  \mforall{}v:V.  ((COMMITED[v]  \mmember{}  L)  \mLeftarrow{}{}\mRightarrow{}  cs-ref-map3(L)  =  Decided[v])
5.  \mforall{}v:V.  ((\mforall{}v':V.  (\mneg{}(COMMITED[v']  \mmember{}  L)))  \mwedge{}  (CONSIDERING[v]  \mmember{}  L)  \mLeftarrow{}{}\mRightarrow{}  cs-ref-map3(L)  =  PREDECIDED[v])
6.  (\mforall{}[v:V].  (\mneg{}(COMMITED[v]  \mmember{}  L)))  \mwedge{}  (\mforall{}[v:V].  (\mneg{}(CONSIDERING[v]  \mmember{}  L)))@i
\mvdash{}  cs-ref-map3(L)  =  AMBIVALENT


By

(Auto
  THEN  RepUR  ``cs-ref-map3  let``  0
  THEN  (InstLemma  `filter\_is\_empty`  [\mkleeneopen{}consensus-state3(V)\mkleeneclose{};\mkleeneopen{}\mlambda{}x.cs-is-committed(x)\mkleeneclose{};\mkleeneopen{}L\mkleeneclose{}]\mcdot{}  THENA  Auto)
  THEN  MoveToConcl  (-1)
  THEN  (SplitOnConclITE  THENA  Auto)
  THEN  Reduce  0)




Home Index