Step
*
1
1
1
1
of Lemma
three-cs-vote-invariant
1. V : Type@i'
2. A : Id List@i
3. t : ℕ+@i
4. f : (V List) ─→ V@i
5. s : {a:Id| (a ∈ A)}  ─→ (consensus-rcv(V;A) List)@i
6. y : {a:Id| (a ∈ A)}  ─→ (consensus-rcv(V;A) List)@i
7. ∀a:{a:Id| (a ∈ A)} . ∀n:ℕ. ∀b:{a:Id| (a ∈ A)} . ∀v1:V.
     ((Vote[b;n;v1] ∈ s a) 
⇒ (∃L:consensus-rcv(V;A) List. (L ≤ s b ∧ archive-condition(V;A;t;f;n;v1;L))))@i
8. a1 : {a:Id| (a ∈ A)} @i
9. e : consensus-rcv(V;A)@i
10. ∀b:{a:Id| (a ∈ A)} . ∀i:ℕ. ∀v:V.
      ((e = Vote[b;i;v] ∈ consensus-rcv(V;A))
      
⇒ ((∃L:consensus-rcv(V;A) List. (L ≤ s b ∧ archive-condition(V;A;t;f;i;v;L))) ∧ (¬(e ∈ s a1))))@i
11. ∀b:{a:Id| (a ∈ A)} . ((¬(b = a1 ∈ Id)) 
⇒ ((y b) = (s b) ∈ (consensus-rcv(V;A) List)))@i
12. (y a1) = ((s a1) @ [e]) ∈ (consensus-rcv(V;A) List)@i
13. a : {a:Id| (a ∈ A)} @i
14. n : ℕ@i
15. b : {a:Id| (a ∈ A)} @i
16. v1 : V@i
17. (Vote[b;n;v1] ∈ y a)@i
18. ∀n:ℕ. ∀b:{a:Id| (a ∈ A)} . ∀v1:V.
      ((Vote[b;n;v1] ∈ s a) 
⇒ (∃L:consensus-rcv(V;A) List. (L ≤ s b ∧ archive-condition(V;A;t;f;n;v1;L))))
19. a = a1 ∈ Id
⊢ ∃L:consensus-rcv(V;A) List. (L ≤ s b ∧ archive-condition(V;A;t;f;n;v1;L))
BY
{ ((Assert (Vote[b;n;v1] ∈ (s a1) @ [e]) BY
          Auto)
   THEN ((RWW "member_append member_singleton" (-1) THENM D -1) THENA Auto)
   THEN Auto) }
Latex:
1.  V  :  Type@i'
2.  A  :  Id  List@i
3.  t  :  \mBbbN{}\msupplus{}@i
4.  f  :  (V  List)  {}\mrightarrow{}  V@i
5.  s  :  \{a:Id|  (a  \mmember{}  A)\}    {}\mrightarrow{}  (consensus-rcv(V;A)  List)@i
6.  y  :  \{a:Id|  (a  \mmember{}  A)\}    {}\mrightarrow{}  (consensus-rcv(V;A)  List)@i
7.  \mforall{}a:\{a:Id|  (a  \mmember{}  A)\}  .  \mforall{}n:\mBbbN{}.  \mforall{}b:\{a:Id|  (a  \mmember{}  A)\}  .  \mforall{}v1:V.
          ((Vote[b;n;v1]  \mmember{}  s  a)
          {}\mRightarrow{}  (\mexists{}L:consensus-rcv(V;A)  List.  (L  \mleq{}  s  b  \mwedge{}  archive-condition(V;A;t;f;n;v1;L))))@i
8.  a1  :  \{a:Id|  (a  \mmember{}  A)\}  @i
9.  e  :  consensus-rcv(V;A)@i
10.  \mforall{}b:\{a:Id|  (a  \mmember{}  A)\}  .  \mforall{}i:\mBbbN{}.  \mforall{}v:V.
            ((e  =  Vote[b;i;v])
            {}\mRightarrow{}  ((\mexists{}L:consensus-rcv(V;A)  List.  (L  \mleq{}  s  b  \mwedge{}  archive-condition(V;A;t;f;i;v;L)))
                  \mwedge{}  (\mneg{}(e  \mmember{}  s  a1))))@i
11.  \mforall{}b:\{a:Id|  (a  \mmember{}  A)\}  .  ((\mneg{}(b  =  a1))  {}\mRightarrow{}  ((y  b)  =  (s  b)))@i
12.  (y  a1)  =  ((s  a1)  @  [e])@i
13.  a  :  \{a:Id|  (a  \mmember{}  A)\}  @i
14.  n  :  \mBbbN{}@i
15.  b  :  \{a:Id|  (a  \mmember{}  A)\}  @i
16.  v1  :  V@i
17.  (Vote[b;n;v1]  \mmember{}  y  a)@i
18.  \mforall{}n:\mBbbN{}.  \mforall{}b:\{a:Id|  (a  \mmember{}  A)\}  .  \mforall{}v1:V.
            ((Vote[b;n;v1]  \mmember{}  s  a)
            {}\mRightarrow{}  (\mexists{}L:consensus-rcv(V;A)  List.  (L  \mleq{}  s  b  \mwedge{}  archive-condition(V;A;t;f;n;v1;L))))
19.  a  =  a1
\mvdash{}  \mexists{}L:consensus-rcv(V;A)  List.  (L  \mleq{}  s  b  \mwedge{}  archive-condition(V;A;t;f;n;v1;L))
By
((Assert  (Vote[b;n;v1]  \mmember{}  (s  a1)  @  [e])  BY
                Auto)
  THEN  ((RWW  "member\_append  member\_singleton"  (-1)  THENM  D  -1)  THENA  Auto)
  THEN  Auto)
Home
Index