Step
*
1
4
1
1
of Lemma
archive-condition-append-init
.....equality..... 
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
⊢ votes-from-inning(n - 1;L @ [Init[v2]]) ~ votes-from-inning(n - 1;L)
BY
{ (((RepUR ``votes-from-inning`` 0 THEN (RWO "mapfilter-append" 0 THENM Fold `votes-from-inning` 0)) THENA Auto)
   THEN Subst' votes-from-inning(n - 1;[Init[v2]]) ~ [] 0
   THEN Try ((RWO "append-nil" 0 THEN Auto))) }
1
.....equality..... 
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
⊢ votes-from-inning(n - 1;[Init[v2]]) ~ []
Latex:
.....equality..... 
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.  L'  :  consensus-rcv(V;A)  List@i
10.  r  :  consensus-rcv(V;A)@i
11.  L  =  L'
12.  Init[v2]  =  r
13.  []  =  []
14.  0  <  n@i
15.  ||values-for-distinct(IdDeq;votes-from-inning(n  -  1;L'))||  \mleq{}  (2  *  t)@i
16.  \muparrow{}null(filter(\mlambda{}r.n  -  1  <z  inning(r);L'))@i
17.  ((2  *  t)  +  1)  \mleq{}  ||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@i
\mvdash{}  votes-from-inning(n  -  1;L  @  [Init[v2]])  \msim{}  votes-from-inning(n  -  1;L)
By
(((RepUR  ``votes-from-inning``  0  THEN  (RWO  "mapfilter-append"  0  THENM  Fold  `votes-from-inning`  0))
    THENA  Auto
    )
  THEN  Subst'  votes-from-inning(n  -  1;[Init[v2]])  \msim{}  []  0
  THEN  Try  ((RWO  "append-nil"  0  THEN  Auto)))
Home
Index