Step
*
1
2
2
2
2
of Lemma
consensus-ts3-invariant1
1. V : Type@i'
2. L : consensus-state3(V) List@i
3. y : consensus-state3(V) List@i
4. ∀v:V
     (((CONSIDERING[v] ∈ L) ∨ (COMMITED[v] ∈ L))
     
⇒ (∀v':V. (((CONSIDERING[v'] ∈ L) ∨ (COMMITED[v'] ∈ L)) 
⇒ (v' = v ∈ V))))@i
5. ||y|| = ||L|| ∈ ℤ@i
6. i : ℕ||L||@i
7. ∀j:ℕ||L||. ((¬(j = i ∈ ℤ)) 
⇒ (y[j] = L[j] ∈ consensus-state3(V)))@i
8. v1 : V@i
9. L[i] = CONSIDERING[v1] ∈ consensus-state3(V)@i
10. y[i] = WITHDRAWN ∈ consensus-state3(V)@i
11. v : V@i
12. (CONSIDERING[v] ∈ y) ∨ (COMMITED[v] ∈ y)@i
13. v' : V@i
14. (CONSIDERING[v'] ∈ y) ∨ (COMMITED[v'] ∈ y)@i
⊢ v' = v ∈ V
BY
{ ((Assert ¬(CONSIDERING[v] = WITHDRAWN ∈ consensus-state3(V)) BY
          (BLemma `consensus-state3-unequal` THEN Auto))
   THEN (Assert ¬(COMMITED[v] = WITHDRAWN ∈ consensus-state3(V)) BY
               (BLemma `consensus-state3-unequal` THEN Auto))
   THEN (Assert ¬(CONSIDERING[v'] = WITHDRAWN ∈ consensus-state3(V)) BY
               (BLemma `consensus-state3-unequal` THEN Auto))
   THEN (Assert ¬(COMMITED[v'] = WITHDRAWN ∈ consensus-state3(V)) BY
               (BLemma `consensus-state3-unequal` THEN Auto))
   THEN BackThruSomeHyp
   THEN OnMaybeHyp 12 (\h. Complete ((ParallelOp h
                                      THEN (D h THEN D h+1)
                                      THEN Unfold `l_member` 0
                                      THEN InstConcl [⌈i1⌉]⋅
                                      THEN Auto
                                      THEN InstHyp [⌈i1⌉] 7⋅
                                      THEN Auto
                                      THEN D 0
                                      THEN Auto)))) }
Latex:
1.  V  :  Type@i'
2.  L  :  consensus-state3(V)  List@i
3.  y  :  consensus-state3(V)  List@i
4.  \mforall{}v:V
          (((CONSIDERING[v]  \mmember{}  L)  \mvee{}  (COMMITED[v]  \mmember{}  L))
          {}\mRightarrow{}  (\mforall{}v':V.  (((CONSIDERING[v']  \mmember{}  L)  \mvee{}  (COMMITED[v']  \mmember{}  L))  {}\mRightarrow{}  (v'  =  v))))@i
5.  ||y||  =  ||L||@i
6.  i  :  \mBbbN{}||L||@i
7.  \mforall{}j:\mBbbN{}||L||.  ((\mneg{}(j  =  i))  {}\mRightarrow{}  (y[j]  =  L[j]))@i
8.  v1  :  V@i
9.  L[i]  =  CONSIDERING[v1]@i
10.  y[i]  =  WITHDRAWN@i
11.  v  :  V@i
12.  (CONSIDERING[v]  \mmember{}  y)  \mvee{}  (COMMITED[v]  \mmember{}  y)@i
13.  v'  :  V@i
14.  (CONSIDERING[v']  \mmember{}  y)  \mvee{}  (COMMITED[v']  \mmember{}  y)@i
\mvdash{}  v'  =  v
By
((Assert  \mneg{}(CONSIDERING[v]  =  WITHDRAWN)  BY
                (BLemma  `consensus-state3-unequal`  THEN  Auto))
  THEN  (Assert  \mneg{}(COMMITED[v]  =  WITHDRAWN)  BY
                          (BLemma  `consensus-state3-unequal`  THEN  Auto))
  THEN  (Assert  \mneg{}(CONSIDERING[v']  =  WITHDRAWN)  BY
                          (BLemma  `consensus-state3-unequal`  THEN  Auto))
  THEN  (Assert  \mneg{}(COMMITED[v']  =  WITHDRAWN)  BY
                          (BLemma  `consensus-state3-unequal`  THEN  Auto))
  THEN  BackThruSomeHyp
  THEN  OnMaybeHyp  12  (\mbackslash{}h.  Complete  ((ParallelOp  h
                                                                        THEN  (D  h  THEN  D  h+1)
                                                                        THEN  Unfold  `l\_member`  0
                                                                        THEN  InstConcl  [\mkleeneopen{}i1\mkleeneclose{}]\mcdot{}
                                                                        THEN  Auto
                                                                        THEN  InstHyp  [\mkleeneopen{}i1\mkleeneclose{}]  7\mcdot{}
                                                                        THEN  Auto
                                                                        THEN  D  0
                                                                        THEN  Auto))))
Home
Index