Step
*
1
1
1
1
1
1
of Lemma
consensus-ts4-ref-map1
1. V : Type
2. v2 : V@i
3. v3 : V@i
4. ¬(v2 = v3 ∈ V)@i
5. ∀v,v':V.  Dec(v = v' ∈ V)@i
6. A : Id List@i
7. W : {a:Id| (a ∈ A)}  List List@i
8. two-intersection(A;W)@i
9. one-intersection(A;W)
10. s : ConsensusState@i
11. i : ℤ@i
12. Dec(∃v,v':V. ((¬(v = v' ∈ V)) ∧ in state s, inning i could commit v  ∧ in state s, inning i could commit v' ))
13. ∀v:V. Dec(in state s, inning i has committed v)
14. v : V
15. in state s, inning i could commit v 
16. in state s, inning i has committed v
17. ¬(INITIAL = WITHDRAWN ∈ consensus-state3(V))
18. ∀[v:V]
      (((¬(COMMITED[v] = INITIAL ∈ consensus-state3(V))) ∧ (¬(CONSIDERING[v] = INITIAL ∈ consensus-state3(V))))
      ∧ (¬(COMMITED[v] = WITHDRAWN ∈ consensus-state3(V)))
      ∧ (¬(CONSIDERING[v] = WITHDRAWN ∈ consensus-state3(V)))
      ∧ (∀[v':V]
           ((¬(CONSIDERING[v] = COMMITED[v'] ∈ consensus-state3(V)))
           ∧ (¬(CONSIDERING[v] = CONSIDERING[v'] ∈ consensus-state3(V)))
             ∧ (¬(COMMITED[v] = COMMITED[v'] ∈ consensus-state3(V))) 
             supposing ¬(v = v' ∈ V))))
19. ¬(COMMITED[v] = INITIAL ∈ consensus-state3(V))
20. ¬(CONSIDERING[v] = INITIAL ∈ consensus-state3(V))
21. ¬(COMMITED[v] = WITHDRAWN ∈ consensus-state3(V))
22. ¬(CONSIDERING[v] = WITHDRAWN ∈ consensus-state3(V))
23. ∀[v':V]
      ((¬(CONSIDERING[v] = COMMITED[v'] ∈ consensus-state3(V)))
      ∧ (¬(CONSIDERING[v] = CONSIDERING[v'] ∈ consensus-state3(V)))
        ∧ (¬(COMMITED[v] = COMMITED[v'] ∈ consensus-state3(V))) 
        supposing ¬(v = v' ∈ V))
24. v1 : V@i
25. v' : V@i
26. ¬(v1 = v' ∈ V)@i
27. in state s, inning i could commit v1 @i
28. in state s, inning i could commit v' @i
⊢ COMMITED[v] = INITIAL ∈ consensus-state3(V)
BY
{ ((Assert v1 = v ∈ V BY
          OnMaybeHyp 16 (\h. (FLemma `cs-inning-committed-single` [-2;h] THEN Complete (Auto))))
   THEN (Assert v' = v ∈ V BY
               OnMaybeHyp 16 (\h. (FLemma `cs-inning-committed-single` [-2;h] THEN Complete (Auto))))
   ) }
1
1. V : Type
2. v2 : V@i
3. v3 : V@i
4. ¬(v2 = v3 ∈ V)@i
5. ∀v,v':V.  Dec(v = v' ∈ V)@i
6. A : Id List@i
7. W : {a:Id| (a ∈ A)}  List List@i
8. two-intersection(A;W)@i
9. one-intersection(A;W)
10. s : ConsensusState@i
11. i : ℤ@i
12. Dec(∃v,v':V. ((¬(v = v' ∈ V)) ∧ in state s, inning i could commit v  ∧ in state s, inning i could commit v' ))
13. ∀v:V. Dec(in state s, inning i has committed v)
14. v : V
15. in state s, inning i could commit v 
16. in state s, inning i has committed v
17. ¬(INITIAL = WITHDRAWN ∈ consensus-state3(V))
18. ∀[v:V]
      (((¬(COMMITED[v] = INITIAL ∈ consensus-state3(V))) ∧ (¬(CONSIDERING[v] = INITIAL ∈ consensus-state3(V))))
      ∧ (¬(COMMITED[v] = WITHDRAWN ∈ consensus-state3(V)))
      ∧ (¬(CONSIDERING[v] = WITHDRAWN ∈ consensus-state3(V)))
      ∧ (∀[v':V]
           ((¬(CONSIDERING[v] = COMMITED[v'] ∈ consensus-state3(V)))
           ∧ (¬(CONSIDERING[v] = CONSIDERING[v'] ∈ consensus-state3(V)))
             ∧ (¬(COMMITED[v] = COMMITED[v'] ∈ consensus-state3(V))) 
             supposing ¬(v = v' ∈ V))))
19. ¬(COMMITED[v] = INITIAL ∈ consensus-state3(V))
20. ¬(CONSIDERING[v] = INITIAL ∈ consensus-state3(V))
21. ¬(COMMITED[v] = WITHDRAWN ∈ consensus-state3(V))
22. ¬(CONSIDERING[v] = WITHDRAWN ∈ consensus-state3(V))
23. ∀[v':V]
      ((¬(CONSIDERING[v] = COMMITED[v'] ∈ consensus-state3(V)))
      ∧ (¬(CONSIDERING[v] = CONSIDERING[v'] ∈ consensus-state3(V)))
        ∧ (¬(COMMITED[v] = COMMITED[v'] ∈ consensus-state3(V))) 
        supposing ¬(v = v' ∈ V))
24. v1 : V@i
25. v' : V@i
26. ¬(v1 = v' ∈ V)@i
27. in state s, inning i could commit v1 @i
28. in state s, inning i could commit v' @i
29. v1 = v ∈ V
30. v' = v ∈ V
⊢ COMMITED[v] = INITIAL ∈ consensus-state3(V)
Latex:
1.  V  :  Type
2.  v2  :  V@i
3.  v3  :  V@i
4.  \mneg{}(v2  =  v3)@i
5.  \mforall{}v,v':V.    Dec(v  =  v')@i
6.  A  :  Id  List@i
7.  W  :  \{a:Id|  (a  \mmember{}  A)\}    List  List@i
8.  two-intersection(A;W)@i
9.  one-intersection(A;W)
10.  s  :  ConsensusState@i
11.  i  :  \mBbbZ{}@i
12.  Dec(\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'  ))
13.  \mforall{}v:V.  Dec(in  state  s,  inning  i  has  committed  v)
14.  v  :  V
15.  in  state  s,  inning  i  could  commit  v 
16.  in  state  s,  inning  i  has  committed  v
17.  \mneg{}(INITIAL  =  WITHDRAWN)
18.  \mforall{}[v:V]
            (((\mneg{}(COMMITED[v]  =  INITIAL))  \mwedge{}  (\mneg{}(CONSIDERING[v]  =  INITIAL)))
            \mwedge{}  (\mneg{}(COMMITED[v]  =  WITHDRAWN))
            \mwedge{}  (\mneg{}(CONSIDERING[v]  =  WITHDRAWN))
            \mwedge{}  (\mforall{}[v':V]
                      ((\mneg{}(CONSIDERING[v]  =  COMMITED[v']))
                      \mwedge{}  (\mneg{}(CONSIDERING[v]  =  CONSIDERING[v']))  \mwedge{}  (\mneg{}(COMMITED[v]  =  COMMITED[v'])) 
                          supposing  \mneg{}(v  =  v'))))
19.  \mneg{}(COMMITED[v]  =  INITIAL)
20.  \mneg{}(CONSIDERING[v]  =  INITIAL)
21.  \mneg{}(COMMITED[v]  =  WITHDRAWN)
22.  \mneg{}(CONSIDERING[v]  =  WITHDRAWN)
23.  \mforall{}[v':V]
            ((\mneg{}(CONSIDERING[v]  =  COMMITED[v']))
            \mwedge{}  (\mneg{}(CONSIDERING[v]  =  CONSIDERING[v']))  \mwedge{}  (\mneg{}(COMMITED[v]  =  COMMITED[v']))  supposing  \mneg{}(v  =  v'))
24.  v1  :  V@i
25.  v'  :  V@i
26.  \mneg{}(v1  =  v')@i
27.  in  state  s,  inning  i  could  commit  v1  @i
28.  in  state  s,  inning  i  could  commit  v'  @i
\mvdash{}  COMMITED[v]  =  INITIAL
By
((Assert  v1  =  v  BY
                OnMaybeHyp  16  (\mbackslash{}h.  (FLemma  `cs-inning-committed-single`  [-2;h]  THEN  Complete  (Auto))))
  THEN  (Assert  v'  =  v  BY
                          OnMaybeHyp  16  (\mbackslash{}h.  (FLemma  `cs-inning-committed-single`  [-2;h]  THEN  Complete  (Auto))))
  )
Home
Index