Step
*
1
of Lemma
archive-condition-append-init
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. ∃L':consensus-rcv(V;A) List
∃r:consensus-rcv(V;A)
(((L @ [Init[v2]]) = (L' @ [r]) ∈ (consensus-rcv(V;A) List))
∧ (((L' = [] ∈ (consensus-rcv(V;A) List))
∧ (((r = Init[v] ∈ consensus-rcv(V;A)) ∧ (n = 0 ∈ ℤ))
∨ ((0 ≤ n) ∧ (∃a:{a:Id| (a ∈ A)} . (r = Vote[a;n;v] ∈ consensus-rcv(V;A))))))
∨ ((0 < n
∧ (||values-for-distinct(IdDeq;votes-from-inning(n - 1;L'))|| ≤ (2 * t))
∧ (↑null(filter(λr.n - 1 <z inning(r);L'))))
∧ ((∃a:{a:Id| (a ∈ A)} . (r = Vote[a;n;v] ∈ consensus-rcv(V;A)))
∨ ((((2 * t) + 1) ≤ ||values-for-distinct(IdDeq;votes-from-inning(n - 1;L @ [Init[v2]]))||)
∧ ((f values-for-distinct(IdDeq;votes-from-inning(n - 1;L @ [Init[v2]]))) = v ∈ V))))))@i
⊢ {(L = [] ∈ (consensus-rcv(V;A) List)) ∧ (n = 0 ∈ ℤ) ∧ (v2 = v ∈ V)}
BY
{ (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. L' : consensus-rcv(V;A) List@i
10. r : consensus-rcv(V;A)@i
11. L = L' ∈ (consensus-rcv(V;A) List)
12. Init[v2] = r ∈ consensus-rcv(V;A)
13. [] = [] ∈ (consensus-rcv(V;A) List)
14. L' = [] ∈ (consensus-rcv(V;A) List)@i
15. r = Init[v] ∈ consensus-rcv(V;A)@i
16. n = 0 ∈ ℤ@i
⊢ (L = [] ∈ (consensus-rcv(V;A) List)) ∧ (n = 0 ∈ ℤ) ∧ (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. L' : consensus-rcv(V;A) List@i
10. r : consensus-rcv(V;A)@i
11. L = L' ∈ (consensus-rcv(V;A) List)
12. Init[v2] = r ∈ consensus-rcv(V;A)
13. [] = [] ∈ (consensus-rcv(V;A) List)
14. L' = [] ∈ (consensus-rcv(V;A) List)@i
15. 0 ≤ n@i
16. a : {a:Id| (a ∈ A)} @i
17. r = Vote[a;n;v] ∈ consensus-rcv(V;A)@i
⊢ (L = [] ∈ (consensus-rcv(V;A) List)) ∧ (n = 0 ∈ ℤ) ∧ (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. L' : consensus-rcv(V;A) List@i
10. r : consensus-rcv(V;A)@i
11. L = L' ∈ (consensus-rcv(V;A) List)
12. Init[v2] = r ∈ consensus-rcv(V;A)
13. [] = [] ∈ (consensus-rcv(V;A) List)
14. 0 < n@i
15. ||values-for-distinct(IdDeq;votes-from-inning(n - 1;L'))|| ≤ (2 * t)@i
16. ↑null(filter(λr.n - 1 <z inning(r);L'))@i
17. a : {a:Id| (a ∈ A)} @i
18. r = Vote[a;n;v] ∈ consensus-rcv(V;A)@i
⊢ (L = [] ∈ (consensus-rcv(V;A) List)) ∧ (n = 0 ∈ ℤ) ∧ (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. L' : consensus-rcv(V;A) List@i
10. r : consensus-rcv(V;A)@i
11. L = L' ∈ (consensus-rcv(V;A) List)
12. Init[v2] = r ∈ consensus-rcv(V;A)
13. [] = [] ∈ (consensus-rcv(V;A) List)
14. 0 < n@i
15. ||values-for-distinct(IdDeq;votes-from-inning(n - 1;L'))|| ≤ (2 * t)@i
16. ↑null(filter(λr.n - 1 <z inning(r);L'))@i
17. ((2 * t) + 1) ≤ ||values-for-distinct(IdDeq;votes-from-inning(n - 1;L @ [Init[v2]]))||@i
18. (f values-for-distinct(IdDeq;votes-from-inning(n - 1;L @ [Init[v2]]))) = v ∈ V@i
⊢ (L = [] ∈ (consensus-rcv(V;A) List)) ∧ (n = 0 ∈ ℤ) ∧ (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. \mexists{}L':consensus-rcv(V;A) List
\mexists{}r:consensus-rcv(V;A)
(((L @ [Init[v2]]) = (L' @ [r]))
\mwedge{} (((L' = [])
\mwedge{} (((r = Init[v]) \mwedge{} (n = 0)) \mvee{} ((0 \mleq{} n) \mwedge{} (\mexists{}a:\{a:Id| (a \mmember{} A)\} . (r = Vote[a;n;v])))))
\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{} ((\mexists{}a:\{a:Id| (a \mmember{} A)\} . (r = Vote[a;n;v]))
\mvee{} ((((2 * t) + 1) \mleq{} ||values-for-distinct(IdDeq;votes-from-inning(n - 1;L
@ [Init[v2]]))||)
\mwedge{} ((f values-for-distinct(IdDeq;votes-from-inning(n - 1;L @ [Init[v2]]))) = v))))))@i
\mvdash{} \{(L = []) \mwedge{} (n = 0) \mwedge{} (v2 = v)\}
By
(ExRepD
THEN RepeatFor 2 (AutoSimpHyp Auto (-2))
THEN SplitOrHyps
THEN ExRepD
THEN SplitOrHyps
THEN ExRepD)
Home
Index