Step
*
1
of Lemma
vote-crosses-threshold
.....equality..... 
1. V : Type
2. A : Id List
3. t : ℕ+
4. n1 : ℕ
5. n2 : ℤ
6. v1 : V
7. L1 : consensus-rcv(V;A) List
8. a : {a:Id| (a ∈ A)} 
9. ||values-for-distinct(IdDeq;votes-from-inning(n2;L1))|| ≤ (2 * t)
10. ((2 * t) + 1) ≤ ||values-for-distinct(IdDeq;votes-from-inning(n2;L1 @ [Vote[a;n1;v1]]))||
11. a1 : {a:Id| (a ∈ A)} 
12. v : V
13. Vote[a;n1;v1] = Vote[a1;n2;v] ∈ consensus-rcv(V;A)
14. ¬↑null(filter(λr.n2 - 1 <z inning(r);L1))
15. 0 ≤ n2
⊢ n1 = n2 ∈ ℤ
BY
{ (Thin (-2) THEN RepUR ``cs-rcv-vote consensus-rcv`` -2 THEN Auto)⋅ }
Latex:
.....equality..... 
1.  V  :  Type
2.  A  :  Id  List
3.  t  :  \mBbbN{}\msupplus{}
4.  n1  :  \mBbbN{}
5.  n2  :  \mBbbZ{}
6.  v1  :  V
7.  L1  :  consensus-rcv(V;A)  List
8.  a  :  \{a:Id|  (a  \mmember{}  A)\} 
9.  ||values-for-distinct(IdDeq;votes-from-inning(n2;L1))||  \mleq{}  (2  *  t)
10.  ((2  *  t)  +  1)  \mleq{}  ||values-for-distinct(IdDeq;votes-from-inning(n2;L1  @  [Vote[a;n1;v1]]))||
11.  a1  :  \{a:Id|  (a  \mmember{}  A)\} 
12.  v  :  V
13.  Vote[a;n1;v1]  =  Vote[a1;n2;v]
14.  \mneg{}\muparrow{}null(filter(\mlambda{}r.n2  -  1  <z  inning(r);L1))
15.  0  \mleq{}  n2
\mvdash{}  n1  =  n2
By
(Thin  (-2)  THEN  RepUR  ``cs-rcv-vote  consensus-rcv``  -2  THEN  Auto)\mcdot{}
Home
Index