Step
*
2
1
1
of Lemma
archive-condition-innings
1. V : Type
2. A : Id List
3. t : ℕ+
4. f : (V List) ─→ V
5. L1 : consensus-rcv(V;A) List
6. L2 : consensus-rcv(V;A) List
7. n1 : ℤ
8. n2 : ℤ
9. v1 : V
10. v2 : V
11. L3 : consensus-rcv(V;A) List
12. r1 : consensus-rcv(V;A)
13. L1 = (L3 @ [r1]) ∈ (consensus-rcv(V;A) List)
14. ((L3 = [] ∈ (consensus-rcv(V;A) List))
∧ (((r1 = Init[v1] ∈ consensus-rcv(V;A)) ∧ (n1 = 0 ∈ ℤ))
  ∨ ((0 ≤ n1) ∧ (∃a:{a:Id| (a ∈ A)} . (r1 = Vote[a;n1;v1] ∈ consensus-rcv(V;A))))))
∨ ((0 < n1
  ∧ (||values-for-distinct(IdDeq;votes-from-inning(n1 - 1;L3))|| ≤ (2 * t))
  ∧ (↑null(filter(λr.n1 - 1 <z inning(r);L3))))
  ∧ ((∃a:{a:Id| (a ∈ A)} . (r1 = Vote[a;n1;v1] ∈ consensus-rcv(V;A)))
    ∨ ((((2 * t) + 1) ≤ ||values-for-distinct(IdDeq;votes-from-inning(n1 - 1;L1))||)
      ∧ ((f values-for-distinct(IdDeq;votes-from-inning(n1 - 1;L1))) = v1 ∈ V))))
15. L1 < L2
16. L' : consensus-rcv(V;A) List
17. r : consensus-rcv(V;A)
18. L2 = (L' @ [r]) ∈ (consensus-rcv(V;A) List)
19. 0 < n2
20. ||values-for-distinct(IdDeq;votes-from-inning(n2 - 1;L'))|| ≤ (2 * t)
21. ↑null(filter(λr.n2 - 1 <z inning(r);L'))
22. (∃a:{a:Id| (a ∈ A)} . (r = Vote[a;n2;v2] ∈ consensus-rcv(V;A)))
∨ ((((2 * t) + 1) ≤ ||values-for-distinct(IdDeq;votes-from-inning(n2 - 1;L2))||)
  ∧ ((f values-for-distinct(IdDeq;votes-from-inning(n2 - 1;L2))) = v2 ∈ V))
23. n2 ≤ n1
24. (r1 ∈ L')
⊢ False
BY
{ (Assert ¬↑n2 - 1 <z inning(r1) BY
         ((D 0 THENA Auto)
          THEN (Assert (r1 ∈ filter(λr.n2 - 1 <z inning(r);L')) BY
                      ((BLemma `member_filter` THEN Reduce 0) THEN Auto))
          THEN FLemma `member_null` [-1]
          THEN Auto)) }
1
1. V : Type
2. A : Id List
3. t : ℕ+
4. f : (V List) ─→ V
5. L1 : consensus-rcv(V;A) List
6. L2 : consensus-rcv(V;A) List
7. n1 : ℤ
8. n2 : ℤ
9. v1 : V
10. v2 : V
11. L3 : consensus-rcv(V;A) List
12. r1 : consensus-rcv(V;A)
13. L1 = (L3 @ [r1]) ∈ (consensus-rcv(V;A) List)
14. ((L3 = [] ∈ (consensus-rcv(V;A) List))
∧ (((r1 = Init[v1] ∈ consensus-rcv(V;A)) ∧ (n1 = 0 ∈ ℤ))
  ∨ ((0 ≤ n1) ∧ (∃a:{a:Id| (a ∈ A)} . (r1 = Vote[a;n1;v1] ∈ consensus-rcv(V;A))))))
∨ ((0 < n1
  ∧ (||values-for-distinct(IdDeq;votes-from-inning(n1 - 1;L3))|| ≤ (2 * t))
  ∧ (↑null(filter(λr.n1 - 1 <z inning(r);L3))))
  ∧ ((∃a:{a:Id| (a ∈ A)} . (r1 = Vote[a;n1;v1] ∈ consensus-rcv(V;A)))
    ∨ ((((2 * t) + 1) ≤ ||values-for-distinct(IdDeq;votes-from-inning(n1 - 1;L1))||)
      ∧ ((f values-for-distinct(IdDeq;votes-from-inning(n1 - 1;L1))) = v1 ∈ V))))
15. L1 < L2
16. L' : consensus-rcv(V;A) List
17. r : consensus-rcv(V;A)
18. L2 = (L' @ [r]) ∈ (consensus-rcv(V;A) List)
19. 0 < n2
20. ||values-for-distinct(IdDeq;votes-from-inning(n2 - 1;L'))|| ≤ (2 * t)
21. ↑null(filter(λr.n2 - 1 <z inning(r);L'))
22. (∃a:{a:Id| (a ∈ A)} . (r = Vote[a;n2;v2] ∈ consensus-rcv(V;A)))
∨ ((((2 * t) + 1) ≤ ||values-for-distinct(IdDeq;votes-from-inning(n2 - 1;L2))||)
  ∧ ((f values-for-distinct(IdDeq;votes-from-inning(n2 - 1;L2))) = v2 ∈ V))
23. n2 ≤ n1
24. (r1 ∈ L')
25. ¬↑n2 - 1 <z inning(r1)
⊢ False
Latex:
1.  V  :  Type
2.  A  :  Id  List
3.  t  :  \mBbbN{}\msupplus{}
4.  f  :  (V  List)  {}\mrightarrow{}  V
5.  L1  :  consensus-rcv(V;A)  List
6.  L2  :  consensus-rcv(V;A)  List
7.  n1  :  \mBbbZ{}
8.  n2  :  \mBbbZ{}
9.  v1  :  V
10.  v2  :  V
11.  L3  :  consensus-rcv(V;A)  List
12.  r1  :  consensus-rcv(V;A)
13.  L1  =  (L3  @  [r1])
14.  ((L3  =  [])
\mwedge{}  (((r1  =  Init[v1])  \mwedge{}  (n1  =  0))  \mvee{}  ((0  \mleq{}  n1)  \mwedge{}  (\mexists{}a:\{a:Id|  (a  \mmember{}  A)\}  .  (r1  =  Vote[a;n1;v1])))))
\mvee{}  ((0  <  n1
    \mwedge{}  (||values-for-distinct(IdDeq;votes-from-inning(n1  -  1;L3))||  \mleq{}  (2  *  t))
    \mwedge{}  (\muparrow{}null(filter(\mlambda{}r.n1  -  1  <z  inning(r);L3))))
    \mwedge{}  ((\mexists{}a:\{a:Id|  (a  \mmember{}  A)\}  .  (r1  =  Vote[a;n1;v1]))
        \mvee{}  ((((2  *  t)  +  1)  \mleq{}  ||values-for-distinct(IdDeq;votes-from-inning(n1  -  1;L1))||)
            \mwedge{}  ((f  values-for-distinct(IdDeq;votes-from-inning(n1  -  1;L1)))  =  v1))))
15.  L1  <  L2
16.  L'  :  consensus-rcv(V;A)  List
17.  r  :  consensus-rcv(V;A)
18.  L2  =  (L'  @  [r])
19.  0  <  n2
20.  ||values-for-distinct(IdDeq;votes-from-inning(n2  -  1;L'))||  \mleq{}  (2  *  t)
21.  \muparrow{}null(filter(\mlambda{}r.n2  -  1  <z  inning(r);L'))
22.  (\mexists{}a:\{a:Id|  (a  \mmember{}  A)\}  .  (r  =  Vote[a;n2;v2]))
\mvee{}  ((((2  *  t)  +  1)  \mleq{}  ||values-for-distinct(IdDeq;votes-from-inning(n2  -  1;L2))||)
    \mwedge{}  ((f  values-for-distinct(IdDeq;votes-from-inning(n2  -  1;L2)))  =  v2))
23.  n2  \mleq{}  n1
24.  (r1  \mmember{}  L')
\mvdash{}  False
By
(Assert  \mneg{}\muparrow{}n2  -  1  <z  inning(r1)  BY
              ((D  0  THENA  Auto)
                THEN  (Assert  (r1  \mmember{}  filter(\mlambda{}r.n2  -  1  <z  inning(r);L'))  BY
                                        ((BLemma  `member\_filter`  THEN  Reduce  0)  THEN  Auto))
                THEN  FLemma  `member\_null`  [-1]
                THEN  Auto))
Home
Index