Step
*
1
1
1
of Lemma
cs-ref-map3-ambivalent
1. V : Type@i'
2. L : consensus-state3(V) List@i
3. ∀[v: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))
BY
{ ((InstLemma `filter_is_empty` [⌈consensus-state3(V)⌉;⌈λx.cs-is-considering(x)⌉;⌈L⌉]⋅ THENA Auto)
   THEN MoveToConcl (-1)
   THEN (SplitOnConclITE THENA Auto)
   THEN Reduce 0) }
1
1. V : Type@i'
2. L : consensus-state3(V) List@i
3. ∀[v: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)
9. filter(λx.cs-is-considering(x);L) = [] ∈ (consensus-state3(V) List)
⊢ uiff(True;∀[i:ℕ||L||]. (¬↑cs-is-considering(L[i])))
⇒ uiff(True;∀[i:ℕ||L||]. (¬↑cs-is-committed(L[i])))
⇒ (AMBIVALENT = AMBIVALENT ∈ consensus-state2(V))
2
1. V : Type@i'
2. L : consensus-state3(V) List@i
3. ∀[v: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)
9. ¬(filter(λx.cs-is-considering(x);L) = [] ∈ (consensus-state3(V) List))
⊢ uiff(False;∀[i:ℕ||L||]. (¬↑cs-is-considering(L[i])))
⇒ uiff(True;∀[i:ℕ||L||]. (¬↑cs-is-committed(L[i])))
⇒ (PREDECIDED[cs-considered-val(hd(filter(λx.cs-is-considering(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))@i
7.  \mforall{}[v:V].  (\mneg{}(CONSIDERING[v]  \mmember{}  L))@i
8.  filter(\mlambda{}x.cs-is-committed(x);L)  =  []
\mvdash{}  uiff(True;\mforall{}[i:\mBbbN{}||L||].  (\mneg{}\muparrow{}cs-is-committed(L[i])))
{}\mRightarrow{}  (if  null(filter(\mlambda{}x.cs-is-considering(x);L))
      then  AMBIVALENT
      else  PREDECIDED[cs-considered-val(hd(filter(\mlambda{}x.cs-is-considering(x);L)))]
      fi 
      =  AMBIVALENT)
By
((InstLemma  `filter\_is\_empty`  [\mkleeneopen{}consensus-state3(V)\mkleeneclose{};\mkleeneopen{}\mlambda{}x.cs-is-considering(x)\mkleeneclose{};\mkleeneopen{}L\mkleeneclose{}]\mcdot{}  THENA  Auto)
  THEN  MoveToConcl  (-1)
  THEN  (SplitOnConclITE  THENA  Auto)
  THEN  Reduce  0)
Home
Index