Step
*
1
1
1
1
1
of Lemma
strict-majority-property
.....equality..... 
1. T : Type
2. eq : EqDecider(T)
3. L : T List
4. x : T
5. ||L|| < 2 * ||filter(λy.(eq y x);L)||
6. ∀x,y:T.  Dec(x = y ∈ T)
7. (x ∈ L)
8. y1 : T
9. y2 : ℕ+
10. (<y1, y2> ∈ count-repeats(L,eq))
11. x = y1 ∈ T
12. y2 = ||filter(λy.(eq y y1);L)|| ∈ ℤ
⊢ filter(λp.||L|| <z 2 * (snd(p));count-repeats(L,eq)) = [<y1, y2>] ∈ ((T × ℕ+) List)
BY
{ ((BLemma `filter_is_singleton` THEN Auto) THEN RepUR ``so_apply`` 0) }
1
1. T : Type
2. eq : EqDecider(T)
3. L : T List
4. x : T
5. ||L|| < 2 * ||filter(λy.(eq y x);L)||
6. ∀x,y:T.  Dec(x = y ∈ T)
7. (x ∈ L)
8. y1 : T
9. y2 : ℕ+
10. (<y1, y2> ∈ count-repeats(L,eq))
11. x = y1 ∈ T
12. y2 = ||filter(λy.(eq y y1);L)|| ∈ ℤ
⊢ (<y1, y2> ∈! count-repeats(L,eq))
2
1. T : Type
2. eq : EqDecider(T)
3. L : T List
4. x : T
5. ||L|| < 2 * ||filter(λy.(eq y x);L)||
6. ∀x,y:T.  Dec(x = y ∈ T)
7. (x ∈ L)
8. y1 : T
9. y2 : ℕ+
10. (<y1, y2> ∈ count-repeats(L,eq))
11. x = y1 ∈ T
12. y2 = ||filter(λy.(eq y y1);L)|| ∈ ℤ
⊢ ↑||L|| <z 2 * y2
3
1. T : Type
2. eq : EqDecider(T)
3. L : T List
4. x : T
5. ||L|| < 2 * ||filter(λy.(eq y x);L)||
6. ∀x,y:T.  Dec(x = y ∈ T)
7. (x ∈ L)
8. y1 : T
9. y2 : ℕ+
10. (<y1, y2> ∈ count-repeats(L,eq))
11. x = y1 ∈ T
12. y2 = ||filter(λy.(eq y y1);L)|| ∈ ℤ
⊢ (∀y∈count-repeats(L,eq).(↑||L|| <z 2 * (snd(y))) 
⇒ (y = <y1, y2> ∈ (T × ℕ+)))
Latex:
Latex:
.....equality..... 
1.  T  :  Type
2.  eq  :  EqDecider(T)
3.  L  :  T  List
4.  x  :  T
5.  ||L||  <  2  *  ||filter(\mlambda{}y.(eq  y  x);L)||
6.  \mforall{}x,y:T.    Dec(x  =  y)
7.  (x  \mmember{}  L)
8.  y1  :  T
9.  y2  :  \mBbbN{}\msupplus{}
10.  (<y1,  y2>  \mmember{}  count-repeats(L,eq))
11.  x  =  y1
12.  y2  =  ||filter(\mlambda{}y.(eq  y  y1);L)||
\mvdash{}  filter(\mlambda{}p.||L||  <z  2  *  (snd(p));count-repeats(L,eq))  =  [<y1,  y2>]
By
Latex:
((BLemma  `filter\_is\_singleton`  THEN  Auto)  THEN  RepUR  ``so\_apply``  0)
Home
Index