Step
*
1
2
2
1
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. L[i] = INITIAL ∈ consensus-state3(V)@i
9. v1 : V@i
10. y[i] = CONSIDERING[v1] ∈ consensus-state3(V)@i
11. ∀j:ℕi
      ((L[j] = WITHDRAWN ∈ consensus-state3(V))
      ∨ (L[j] = CONSIDERING[v1] ∈ consensus-state3(V))
      ∨ (L[j] = COMMITED[v1] ∈ consensus-state3(V)))@i
12. v : V@i
13. (CONSIDERING[v] ∈ y) ∨ (COMMITED[v] ∈ y)@i
14. v' : V@i
15. (CONSIDERING[v'] ∈ y) ∨ (COMMITED[v'] ∈ y)@i
16. ∀j:ℕ||L||. (L[j] = INITIAL ∈ consensus-state3(V)) ∨ (L[j] = WITHDRAWN ∈ consensus-state3(V)) supposing i < j
⊢ v' = v ∈ V
BY
{ Assert ⌈∀j:ℕ||L||. ∀v:V.
            (((y[j] = CONSIDERING[v] ∈ consensus-state3(V)) ∨ (y[j] = COMMITED[v] ∈ consensus-state3(V)))
            
⇒ (v = v1 ∈ V))⌉⋅ }
1
.....assertion..... 
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. L[i] = INITIAL ∈ consensus-state3(V)@i
9. v1 : V@i
10. y[i] = CONSIDERING[v1] ∈ consensus-state3(V)@i
11. ∀j:ℕi
      ((L[j] = WITHDRAWN ∈ consensus-state3(V))
      ∨ (L[j] = CONSIDERING[v1] ∈ consensus-state3(V))
      ∨ (L[j] = COMMITED[v1] ∈ consensus-state3(V)))@i
12. v : V@i
13. (CONSIDERING[v] ∈ y) ∨ (COMMITED[v] ∈ y)@i
14. v' : V@i
15. (CONSIDERING[v'] ∈ y) ∨ (COMMITED[v'] ∈ y)@i
16. ∀j:ℕ||L||. (L[j] = INITIAL ∈ consensus-state3(V)) ∨ (L[j] = WITHDRAWN ∈ consensus-state3(V)) supposing i < j
⊢ ∀j:ℕ||L||. ∀v:V.
    (((y[j] = CONSIDERING[v] ∈ consensus-state3(V)) ∨ (y[j] = COMMITED[v] ∈ consensus-state3(V))) 
⇒ (v = v1 ∈ V))
2
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. L[i] = INITIAL ∈ consensus-state3(V)@i
9. v1 : V@i
10. y[i] = CONSIDERING[v1] ∈ consensus-state3(V)@i
11. ∀j:ℕi
      ((L[j] = WITHDRAWN ∈ consensus-state3(V))
      ∨ (L[j] = CONSIDERING[v1] ∈ consensus-state3(V))
      ∨ (L[j] = COMMITED[v1] ∈ consensus-state3(V)))@i
12. v : V@i
13. (CONSIDERING[v] ∈ y) ∨ (COMMITED[v] ∈ y)@i
14. v' : V@i
15. (CONSIDERING[v'] ∈ y) ∨ (COMMITED[v'] ∈ y)@i
16. ∀j:ℕ||L||. (L[j] = INITIAL ∈ consensus-state3(V)) ∨ (L[j] = WITHDRAWN ∈ consensus-state3(V)) supposing i < j
17. ∀j:ℕ||L||. ∀v:V.
      (((y[j] = CONSIDERING[v] ∈ consensus-state3(V)) ∨ (y[j] = COMMITED[v] ∈ consensus-state3(V))) 
⇒ (v = v1 ∈ V))
⊢ v' = v ∈ V
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.  L[i]  =  INITIAL@i
9.  v1  :  V@i
10.  y[i]  =  CONSIDERING[v1]@i
11.  \mforall{}j:\mBbbN{}i.  ((L[j]  =  WITHDRAWN)  \mvee{}  (L[j]  =  CONSIDERING[v1])  \mvee{}  (L[j]  =  COMMITED[v1]))@i
12.  v  :  V@i
13.  (CONSIDERING[v]  \mmember{}  y)  \mvee{}  (COMMITED[v]  \mmember{}  y)@i
14.  v'  :  V@i
15.  (CONSIDERING[v']  \mmember{}  y)  \mvee{}  (COMMITED[v']  \mmember{}  y)@i
16.  \mforall{}j:\mBbbN{}||L||.  (L[j]  =  INITIAL)  \mvee{}  (L[j]  =  WITHDRAWN)  supposing  i  <  j
\mvdash{}  v'  =  v
By
Assert  \mkleeneopen{}\mforall{}j:\mBbbN{}||L||.  \mforall{}v:V.    (((y[j]  =  CONSIDERING[v])  \mvee{}  (y[j]  =  COMMITED[v]))  {}\mRightarrow{}  (v  =  v1))\mkleeneclose{}\mcdot{}
Home
Index