Step
*
1
of Lemma
archive-condition-append-vote
1. [V] : Type
2. A : Id List@i
3. t : ℕ@i
4. f : (V List) ─→ V@i
5. L : consensus-rcv(V;A) List@i
6. n : ℤ@i
7. v : V@i
8. v2 : V@i
9. a : {b:Id| (b ∈ A)} @i
10. i : ℕ@i
11. archive-condition(V;A;t;f;n;v;L @ [Vote[a;i;v2]])@i
⊢ ((L = [] ∈ (consensus-rcv(V;A) List)) ∧ (i = n ∈ ℤ) ∧ (v = v2 ∈ V))
∨ ((0 < n ∧ (||values-for-distinct(IdDeq;votes-from-inning(n - 1;L))|| ≤ (2 * t)))
  ∧ (↑null(filter(λr.n - 1 <z inning(r);L)))
  ∧ (((i = n ∈ ℤ) ∧ (v = v2 ∈ V))
    ∨ ((((2 * t) + 1) ≤ ||values-for-distinct(IdDeq;votes-from-inning(n - 1;L @ [Vote[a;i;v2]]))||)
      ∧ ((f values-for-distinct(IdDeq;votes-from-inning(n - 1;L @ [Vote[a;i;v2]]))) = v ∈ V))))
BY
{ (D -1
   THEN ExRepD
   THEN RepeatFor 2 (AutoSimpHyp Auto (-2))
   THEN SplitOrHyps
   THEN ExRepD
   THEN SplitOrHyps
   THEN ExRepD) }
1
1. [V] : Type
2. A : Id List@i
3. t : ℕ@i
4. f : (V List) ─→ V@i
5. L : consensus-rcv(V;A) List@i
6. n : ℤ@i
7. v : V@i
8. v2 : V@i
9. a : {b:Id| (b ∈ A)} @i
10. i : ℕ@i
11. L' : consensus-rcv(V;A) List@i
12. r : consensus-rcv(V;A)@i
13. L = L' ∈ (consensus-rcv(V;A) List)
14. Vote[a;i;v2] = r ∈ consensus-rcv(V;A)
15. [] = [] ∈ (consensus-rcv(V;A) List)
16. L' = [] ∈ (consensus-rcv(V;A) List)@i
17. r = Init[v] ∈ consensus-rcv(V;A)@i
18. n = 0 ∈ ℤ@i
⊢ ((L = [] ∈ (consensus-rcv(V;A) List)) ∧ (i = n ∈ ℤ) ∧ (v = v2 ∈ V))
∨ ((0 < n ∧ (||values-for-distinct(IdDeq;votes-from-inning(n - 1;L))|| ≤ (2 * t)))
  ∧ (↑null(filter(λr.n - 1 <z inning(r);L)))
  ∧ (((i = n ∈ ℤ) ∧ (v = v2 ∈ V))
    ∨ ((((2 * t) + 1) ≤ ||values-for-distinct(IdDeq;votes-from-inning(n - 1;L @ [Vote[a;i;v2]]))||)
      ∧ ((f values-for-distinct(IdDeq;votes-from-inning(n - 1;L @ [Vote[a;i;v2]]))) = v ∈ V))))
2
1. [V] : Type
2. A : Id List@i
3. t : ℕ@i
4. f : (V List) ─→ V@i
5. L : consensus-rcv(V;A) List@i
6. n : ℤ@i
7. v : V@i
8. v2 : V@i
9. a : {b:Id| (b ∈ A)} @i
10. i : ℕ@i
11. L' : consensus-rcv(V;A) List@i
12. r : consensus-rcv(V;A)@i
13. L = L' ∈ (consensus-rcv(V;A) List)
14. Vote[a;i;v2] = r ∈ consensus-rcv(V;A)
15. [] = [] ∈ (consensus-rcv(V;A) List)
16. L' = [] ∈ (consensus-rcv(V;A) List)@i
17. 0 ≤ n@i
18. a1 : {a:Id| (a ∈ A)} @i
19. r = Vote[a1;n;v] ∈ consensus-rcv(V;A)@i
⊢ ((L = [] ∈ (consensus-rcv(V;A) List)) ∧ (i = n ∈ ℤ) ∧ (v = v2 ∈ V))
∨ ((0 < n ∧ (||values-for-distinct(IdDeq;votes-from-inning(n - 1;L))|| ≤ (2 * t)))
  ∧ (↑null(filter(λr.n - 1 <z inning(r);L)))
  ∧ (((i = n ∈ ℤ) ∧ (v = v2 ∈ V))
    ∨ ((((2 * t) + 1) ≤ ||values-for-distinct(IdDeq;votes-from-inning(n - 1;L @ [Vote[a;i;v2]]))||)
      ∧ ((f values-for-distinct(IdDeq;votes-from-inning(n - 1;L @ [Vote[a;i;v2]]))) = v ∈ V))))
3
1. [V] : Type
2. A : Id List@i
3. t : ℕ@i
4. f : (V List) ─→ V@i
5. L : consensus-rcv(V;A) List@i
6. n : ℤ@i
7. v : V@i
8. v2 : V@i
9. a : {b:Id| (b ∈ A)} @i
10. i : ℕ@i
11. L' : consensus-rcv(V;A) List@i
12. r : consensus-rcv(V;A)@i
13. L = L' ∈ (consensus-rcv(V;A) List)
14. Vote[a;i;v2] = r ∈ consensus-rcv(V;A)
15. [] = [] ∈ (consensus-rcv(V;A) List)
16. 0 < n@i
17. ||values-for-distinct(IdDeq;votes-from-inning(n - 1;L'))|| ≤ (2 * t)@i
18. ↑null(filter(λr.n - 1 <z inning(r);L'))@i
19. a1 : {a:Id| (a ∈ A)} @i
20. r = Vote[a1;n;v] ∈ consensus-rcv(V;A)@i
⊢ ((L = [] ∈ (consensus-rcv(V;A) List)) ∧ (i = n ∈ ℤ) ∧ (v = v2 ∈ V))
∨ ((0 < n ∧ (||values-for-distinct(IdDeq;votes-from-inning(n - 1;L))|| ≤ (2 * t)))
  ∧ (↑null(filter(λr.n - 1 <z inning(r);L)))
  ∧ (((i = n ∈ ℤ) ∧ (v = v2 ∈ V))
    ∨ ((((2 * t) + 1) ≤ ||values-for-distinct(IdDeq;votes-from-inning(n - 1;L @ [Vote[a;i;v2]]))||)
      ∧ ((f values-for-distinct(IdDeq;votes-from-inning(n - 1;L @ [Vote[a;i;v2]]))) = v ∈ V))))
4
1. [V] : Type
2. A : Id List@i
3. t : ℕ@i
4. f : (V List) ─→ V@i
5. L : consensus-rcv(V;A) List@i
6. n : ℤ@i
7. v : V@i
8. v2 : V@i
9. a : {b:Id| (b ∈ A)} @i
10. i : ℕ@i
11. L' : consensus-rcv(V;A) List@i
12. r : consensus-rcv(V;A)@i
13. L = L' ∈ (consensus-rcv(V;A) List)
14. Vote[a;i;v2] = r ∈ consensus-rcv(V;A)
15. [] = [] ∈ (consensus-rcv(V;A) List)
16. 0 < n@i
17. ||values-for-distinct(IdDeq;votes-from-inning(n - 1;L'))|| ≤ (2 * t)@i
18. ↑null(filter(λr.n - 1 <z inning(r);L'))@i
19. ((2 * t) + 1) ≤ ||values-for-distinct(IdDeq;votes-from-inning(n - 1;L @ [Vote[a;i;v2]]))||@i
20. (f values-for-distinct(IdDeq;votes-from-inning(n - 1;L @ [Vote[a;i;v2]]))) = v ∈ V@i
⊢ ((L = [] ∈ (consensus-rcv(V;A) List)) ∧ (i = n ∈ ℤ) ∧ (v = v2 ∈ V))
∨ ((0 < n ∧ (||values-for-distinct(IdDeq;votes-from-inning(n - 1;L))|| ≤ (2 * t)))
  ∧ (↑null(filter(λr.n - 1 <z inning(r);L)))
  ∧ (((i = n ∈ ℤ) ∧ (v = v2 ∈ V))
    ∨ ((((2 * t) + 1) ≤ ||values-for-distinct(IdDeq;votes-from-inning(n - 1;L @ [Vote[a;i;v2]]))||)
      ∧ ((f values-for-distinct(IdDeq;votes-from-inning(n - 1;L @ [Vote[a;i;v2]]))) = v ∈ V))))
Latex:
1.  [V]  :  Type
2.  A  :  Id  List@i
3.  t  :  \mBbbN{}@i
4.  f  :  (V  List)  {}\mrightarrow{}  V@i
5.  L  :  consensus-rcv(V;A)  List@i
6.  n  :  \mBbbZ{}@i
7.  v  :  V@i
8.  v2  :  V@i
9.  a  :  \{b:Id|  (b  \mmember{}  A)\}  @i
10.  i  :  \mBbbN{}@i
11.  archive-condition(V;A;t;f;n;v;L  @  [Vote[a;i;v2]])@i
\mvdash{}  ((L  =  [])  \mwedge{}  (i  =  n)  \mwedge{}  (v  =  v2))
\mvee{}  ((0  <  n  \mwedge{}  (||values-for-distinct(IdDeq;votes-from-inning(n  -  1;L))||  \mleq{}  (2  *  t)))
    \mwedge{}  (\muparrow{}null(filter(\mlambda{}r.n  -  1  <z  inning(r);L)))
    \mwedge{}  (((i  =  n)  \mwedge{}  (v  =  v2))
        \mvee{}  ((((2  *  t)  +  1)  \mleq{}  ||values-for-distinct(IdDeq;votes-from-inning(n  -  1;L  @  [Vote[a;i;v2]]))||)
            \mwedge{}  ((f  values-for-distinct(IdDeq;votes-from-inning(n  -  1;L  @  [Vote[a;i;v2]])))  =  v))))
By
(D  -1
  THEN  ExRepD
  THEN  RepeatFor  2  (AutoSimpHyp  Auto  (-2))
  THEN  SplitOrHyps
  THEN  ExRepD
  THEN  SplitOrHyps
  THEN  ExRepD)
Home
Index