Step
*
1
of Lemma
consensus-ts4-ref-map1
1. [V] : Type
2. ∃v,v':V. (¬(v = v' ∈ V))@i
3. ∀v,v':V.  Dec(v = v' ∈ V)@i
4. A : Id List@i
5. W : {a:Id| (a ∈ A)}  List List@i
6. two-intersection(A;W)@i
7. one-intersection(A;W)
⊢ ∀s:ConsensusState. ∀i:ℤ.
    ∃x:consensus-state3(V)
     ((x = INITIAL ∈ consensus-state3(V)
      
⇐⇒ ∃v,v':V. ((¬(v = v' ∈ V)) ∧ in state s, inning i could commit v  ∧ in state s, inning i could commit v' ))
     ∧ (x = WITHDRAWN ∈ consensus-state3(V) 
⇐⇒ ¬(∃v:V. in state s, inning i could commit v ))
     ∧ (∀v:V
          ((x = COMMITED[v] ∈ consensus-state3(V) 
⇐⇒ in state s, inning i has committed v)
          ∧ (x = CONSIDERING[v] ∈ consensus-state3(V)
            
⇐⇒ in state s, inning i could commit v 
                ∧ (¬in state s, inning i has committed v)
                ∧ (∀v':V. (in state s, inning i could commit v'  
⇒ (v' = v ∈ V)))))))
BY
{ (Auto
   THEN (InstLemma `decidable__cs-inning-two-committable` [⌈V⌉;⌈A⌉;⌈W⌉;⌈s⌉;⌈i⌉]⋅ THENA Auto)
   THEN (InstLemma `decidable__cs-inning-committed` [⌈V⌉;⌈A⌉;⌈W⌉;⌈s⌉;⌈i⌉]⋅ THENA Auto)
   THEN (InstLemma `decidable__cs-inning-committable-some` [⌈V⌉;⌈A⌉;⌈W⌉;⌈s⌉;⌈i⌉]⋅ THENA Auto)
   THEN D -1) }
1
1. [V] : Type
2. ∃v,v':V. (¬(v = v' ∈ V))@i
3. ∀v,v':V.  Dec(v = v' ∈ V)@i
4. A : Id List@i
5. W : {a:Id| (a ∈ A)}  List List@i
6. two-intersection(A;W)@i
7. one-intersection(A;W)
8. s : ConsensusState@i
9. i : ℤ@i
10. Dec(∃v,v':V. ((¬(v = v' ∈ V)) ∧ in state s, inning i could commit v  ∧ in state s, inning i could commit v' ))
11. ∀v:V. Dec(in state s, inning i has committed v)
12. ∃v:V. in state s, inning i could commit v 
⊢ ∃x:consensus-state3(V)
   ((x = INITIAL ∈ consensus-state3(V)
    
⇐⇒ ∃v,v':V. ((¬(v = v' ∈ V)) ∧ in state s, inning i could commit v  ∧ in state s, inning i could commit v' ))
   ∧ (x = WITHDRAWN ∈ consensus-state3(V) 
⇐⇒ ¬(∃v:V. in state s, inning i could commit v ))
   ∧ (∀v:V
        ((x = COMMITED[v] ∈ consensus-state3(V) 
⇐⇒ in state s, inning i has committed v)
        ∧ (x = CONSIDERING[v] ∈ consensus-state3(V)
          
⇐⇒ in state s, inning i could commit v 
              ∧ (¬in state s, inning i has committed v)
              ∧ (∀v':V. (in state s, inning i could commit v'  
⇒ (v' = v ∈ V)))))))
2
1. [V] : Type
2. ∃v,v':V. (¬(v = v' ∈ V))@i
3. ∀v,v':V.  Dec(v = v' ∈ V)@i
4. A : Id List@i
5. W : {a:Id| (a ∈ A)}  List List@i
6. two-intersection(A;W)@i
7. one-intersection(A;W)
8. s : ConsensusState@i
9. i : ℤ@i
10. Dec(∃v,v':V. ((¬(v = v' ∈ V)) ∧ in state s, inning i could commit v  ∧ in state s, inning i could commit v' ))
11. ∀v:V. Dec(in state s, inning i has committed v)
12. ¬(∃v:V. in state s, inning i could commit v )
⊢ ∃x:consensus-state3(V)
   ((x = INITIAL ∈ consensus-state3(V)
    
⇐⇒ ∃v,v':V. ((¬(v = v' ∈ V)) ∧ in state s, inning i could commit v  ∧ in state s, inning i could commit v' ))
   ∧ (x = WITHDRAWN ∈ consensus-state3(V) 
⇐⇒ ¬(∃v:V. in state s, inning i could commit v ))
   ∧ (∀v:V
        ((x = COMMITED[v] ∈ consensus-state3(V) 
⇐⇒ in state s, inning i has committed v)
        ∧ (x = CONSIDERING[v] ∈ consensus-state3(V)
          
⇐⇒ in state s, inning i could commit v 
              ∧ (¬in state s, inning i has committed v)
              ∧ (∀v':V. (in state s, inning i could commit v'  
⇒ (v' = v ∈ V)))))))
Latex:
1.  [V]  :  Type
2.  \mexists{}v,v':V.  (\mneg{}(v  =  v'))@i
3.  \mforall{}v,v':V.    Dec(v  =  v')@i
4.  A  :  Id  List@i
5.  W  :  \{a:Id|  (a  \mmember{}  A)\}    List  List@i
6.  two-intersection(A;W)@i
7.  one-intersection(A;W)
\mvdash{}  \mforall{}s:ConsensusState.  \mforall{}i:\mBbbZ{}.
        \mexists{}x:consensus-state3(V)
          ((x  =  INITIAL
            \mLeftarrow{}{}\mRightarrow{}  \mexists{}v,v':V
                      ((\mneg{}(v  =  v'))
                      \mwedge{}  in  state  s,  inning  i  could  commit  v 
                      \mwedge{}  in  state  s,  inning  i  could  commit  v'  ))
          \mwedge{}  (x  =  WITHDRAWN  \mLeftarrow{}{}\mRightarrow{}  \mneg{}(\mexists{}v:V.  in  state  s,  inning  i  could  commit  v  ))
          \mwedge{}  (\mforall{}v:V
                    ((x  =  COMMITED[v]  \mLeftarrow{}{}\mRightarrow{}  in  state  s,  inning  i  has  committed  v)
                    \mwedge{}  (x  =  CONSIDERING[v]
                        \mLeftarrow{}{}\mRightarrow{}  in  state  s,  inning  i  could  commit  v 
                                \mwedge{}  (\mneg{}in  state  s,  inning  i  has  committed  v)
                                \mwedge{}  (\mforall{}v':V.  (in  state  s,  inning  i  could  commit  v'    {}\mRightarrow{}  (v'  =  v)))))))
By
(Auto
  THEN  (InstLemma  `decidable\_\_cs-inning-two-committable`  [\mkleeneopen{}V\mkleeneclose{};\mkleeneopen{}A\mkleeneclose{};\mkleeneopen{}W\mkleeneclose{};\mkleeneopen{}s\mkleeneclose{};\mkleeneopen{}i\mkleeneclose{}]\mcdot{}  THENA  Auto)
  THEN  (InstLemma  `decidable\_\_cs-inning-committed`  [\mkleeneopen{}V\mkleeneclose{};\mkleeneopen{}A\mkleeneclose{};\mkleeneopen{}W\mkleeneclose{};\mkleeneopen{}s\mkleeneclose{};\mkleeneopen{}i\mkleeneclose{}]\mcdot{}  THENA  Auto)
  THEN  (InstLemma  `decidable\_\_cs-inning-committable-some`  [\mkleeneopen{}V\mkleeneclose{};\mkleeneopen{}A\mkleeneclose{};\mkleeneopen{}W\mkleeneclose{};\mkleeneopen{}s\mkleeneclose{};\mkleeneopen{}i\mkleeneclose{}]\mcdot{}  THENA  Auto)
  THEN  D  -1)
Home
Index