Step
*
1
1
1
1
1
3
of Lemma
strict-majority-property
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 × ℕ+)))
BY
{ TACTIC:((BLemma `l_all_iff` THEN Auto)
          THEN (RW assert_pushdownC (-1) THENA Auto)
          THEN D -3
          THEN (FLemma `member-count-repeats3` [-2] THENA Auto)) }
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)|| ∈ ℤ
13. y3 : T@i
14. y4 : ℕ+@i
15. (<y3, y4> ∈ count-repeats(L,eq))
16. ||L|| < 2 * (snd(<y3, y4>))
17. y4 = ||filter(λy.(eq y y3);L)|| ∈ ℤ
⊢ <y3, y4> = <y1, y2> ∈ (T × ℕ+)
Latex:
Latex:
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{}  (\mforall{}y\mmember{}count-repeats(L,eq).(\muparrow{}||L||  <z  2  *  (snd(y)))  {}\mRightarrow{}  (y  =  <y1,  y2>))
By
Latex:
TACTIC:((BLemma  `l\_all\_iff`  THEN  Auto)
                THEN  (RW  assert\_pushdownC  (-1)  THENA  Auto)
                THEN  D  -3
                THEN  (FLemma  `member-count-repeats3`  [-2]  THENA  Auto))
Home
Index