Step
*
3
1
1
1
1
1
1
of Lemma
three-cs-no-repeated-votes
1. V : Type@i'
2. A : Id List@i
3. a : {a:Id| (a ∈ A)} @i
4. t : ℕ+@i
5. f : (V List) ─→ V@i
6. s : ts-reachable(three-consensus-ts(V;A;t;f))@i
7. y : ts-reachable(three-consensus-ts(V;A;t;f))@i
8. ∀a:{a:Id| (a ∈ A)} . no_repeats(consensus-rcv(V;A);filter(λx.rcv-vote?(x);s a))@i
9. a1 : {a:Id| (a ∈ A)} @i
10. a ∈ Id
11. e : consensus-rcv(V;A)@i
12. ∀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 a))))@i
13. ∀b:{a:Id| (a ∈ A)} . ((¬(b = a ∈ Id)) 
⇒ ((y b) = (s b) ∈ (consensus-rcv(V;A) List)))@i
14. (y a) = ((s a) @ [e]) ∈ (consensus-rcv(V;A) List)@i
15. no_repeats(consensus-rcv(V;A);filter(λx.rcv-vote?(x);s a))
16. y ∈ {a:Id| (a ∈ A)}  ─→ (consensus-rcv(V;A) List)
17. s ∈ {a:Id| (a ∈ A)}  ─→ (consensus-rcv(V;A) List)
18. no_repeats(consensus-rcv(V;A);filter(λx.rcv-vote?(x);s a))
19. no_repeats(consensus-rcv(V;A);filter(λx.rcv-vote?(x);[e]))
20. ↑rcv-vote?(e)
⊢ l_disjoint(consensus-rcv(V;A);filter(λx.rcv-vote?(x);s a);[e])
BY
{ (BLemma `l_disjoint_singleton`
   THEN Auto
   THEN (D 0 THENA Auto)
   THEN (RWO "member_filter" (-1) THENA Auto)
   THEN D -1
   THEN Thin (-1)) }
1
1. V : Type@i'
2. A : Id List@i
3. a : {a:Id| (a ∈ A)} @i
4. t : ℕ+@i
5. f : (V List) ─→ V@i
6. s : ts-reachable(three-consensus-ts(V;A;t;f))@i
7. y : ts-reachable(three-consensus-ts(V;A;t;f))@i
8. ∀a:{a:Id| (a ∈ A)} . no_repeats(consensus-rcv(V;A);filter(λx.rcv-vote?(x);s a))@i
9. a1 : {a:Id| (a ∈ A)} @i
10. a ∈ Id
11. e : consensus-rcv(V;A)@i
12. ∀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 a))))@i
13. ∀b:{a:Id| (a ∈ A)} . ((¬(b = a ∈ Id)) 
⇒ ((y b) = (s b) ∈ (consensus-rcv(V;A) List)))@i
14. (y a) = ((s a) @ [e]) ∈ (consensus-rcv(V;A) List)@i
15. no_repeats(consensus-rcv(V;A);filter(λx.rcv-vote?(x);s a))
16. y ∈ {a:Id| (a ∈ A)}  ─→ (consensus-rcv(V;A) List)
17. s ∈ {a:Id| (a ∈ A)}  ─→ (consensus-rcv(V;A) List)
18. no_repeats(consensus-rcv(V;A);filter(λx.rcv-vote?(x);s a))
19. no_repeats(consensus-rcv(V;A);filter(λx.rcv-vote?(x);[e]))
20. ↑rcv-vote?(e)
21. (e ∈ s a)
⊢ False
Latex:
1.  V  :  Type@i'
2.  A  :  Id  List@i
3.  a  :  \{a:Id|  (a  \mmember{}  A)\}  @i
4.  t  :  \mBbbN{}\msupplus{}@i
5.  f  :  (V  List)  {}\mrightarrow{}  V@i
6.  s  :  ts-reachable(three-consensus-ts(V;A;t;f))@i
7.  y  :  ts-reachable(three-consensus-ts(V;A;t;f))@i
8.  \mforall{}a:\{a:Id|  (a  \mmember{}  A)\}  .  no\_repeats(consensus-rcv(V;A);filter(\mlambda{}x.rcv-vote?(x);s  a))@i
9.  a1  :  \{a:Id|  (a  \mmember{}  A)\}  @i
10.  a  \mmember{}  Id
11.  e  :  consensus-rcv(V;A)@i
12.  \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  a))))@i
13.  \mforall{}b:\{a:Id|  (a  \mmember{}  A)\}  .  ((\mneg{}(b  =  a))  {}\mRightarrow{}  ((y  b)  =  (s  b)))@i
14.  (y  a)  =  ((s  a)  @  [e])@i
15.  no\_repeats(consensus-rcv(V;A);filter(\mlambda{}x.rcv-vote?(x);s  a))
16.  y  \mmember{}  \{a:Id|  (a  \mmember{}  A)\}    {}\mrightarrow{}  (consensus-rcv(V;A)  List)
17.  s  \mmember{}  \{a:Id|  (a  \mmember{}  A)\}    {}\mrightarrow{}  (consensus-rcv(V;A)  List)
18.  no\_repeats(consensus-rcv(V;A);filter(\mlambda{}x.rcv-vote?(x);s  a))
19.  no\_repeats(consensus-rcv(V;A);filter(\mlambda{}x.rcv-vote?(x);[e]))
20.  \muparrow{}rcv-vote?(e)
\mvdash{}  l\_disjoint(consensus-rcv(V;A);filter(\mlambda{}x.rcv-vote?(x);s  a);[e])
By
(BLemma  `l\_disjoint\_singleton`
  THEN  Auto
  THEN  (D  0  THENA  Auto)
  THEN  (RWO  "member\_filter"  (-1)  THENA  Auto)
  THEN  D  -1
  THEN  Thin  (-1))
Home
Index