Step * 3 1 1 1 of Lemma three-cs-no-repeated-votes


1. Type@i'
2. Id List@i
3. : ℕ+@i
4. (V List) ─→ V@i
5. ts-reachable(three-consensus-ts(V;A;t;f))@i
6. ts-reachable(three-consensus-ts(V;A;t;f))@i
7. ∀a:{a:Id| (a ∈ A)} no_repeats(consensus-rcv(V;A);filter(λx.rcv-vote?(x);s a))@i
8. a1 {a:Id| (a ∈ A)} @i
9. 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 ≤ b ∧ archive-condition(V;A;t;f;i;v;L))) ∧ (e ∈ 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:Id| (a ∈ A)} @i
14. no_repeats(consensus-rcv(V;A);filter(λx.rcv-vote?(x);s a))
15. a1 ∈ Id
⊢ no_repeats(consensus-rcv(V;A);filter(λx.rcv-vote?(x);y a))
BY
(PromoteHyp (-3) THEN ElimVar `a1') }

1
1. Type@i'
2. Id List@i
3. {a:Id| (a ∈ A)} @i
4. : ℕ+@i
5. (V List) ─→ V@i
6. ts-reachable(three-consensus-ts(V;A;t;f))@i
7. 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. 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 ≤ b ∧ archive-condition(V;A;t;f;i;v;L))) ∧ (e ∈ 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))
⊢ no_repeats(consensus-rcv(V;A);filter(λx.rcv-vote?(x);y a))


Latex:



1.  V  :  Type@i'
2.  A  :  Id  List@i
3.  t  :  \mBbbN{}\msupplus{}@i
4.  f  :  (V  List)  {}\mrightarrow{}  V@i
5.  s  :  ts-reachable(three-consensus-ts(V;A;t;f))@i
6.  y  :  ts-reachable(three-consensus-ts(V;A;t;f))@i
7.  \mforall{}a:\{a:Id|  (a  \mmember{}  A)\}  .  no\_repeats(consensus-rcv(V;A);filter(\mlambda{}x.rcv-vote?(x);s  a))@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.  no\_repeats(consensus-rcv(V;A);filter(\mlambda{}x.rcv-vote?(x);s  a))
15.  a  =  a1
\mvdash{}  no\_repeats(consensus-rcv(V;A);filter(\mlambda{}x.rcv-vote?(x);y  a))


By

(PromoteHyp  (-3)  3  THEN  ElimVar  `a1')




Home Index