Step
*
1
1
1
1
1
3
1
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)|| ∈ ℤ
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 × ℕ+)
BY
{ TACTIC:(Decide y3 = y1 ∈ T 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)|| ∈ ℤ
18. y3 = y1 ∈ T
⊢ <y3, y4> = <y1, y2> ∈ (T × ℕ+)
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)|| ∈ ℤ
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)|| ∈ ℤ
18. ¬(y3 = y1 ∈ T)
⊢ <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)||
13.  y3  :  T@i
14.  y4  :  \mBbbN{}\msupplus{}@i
15.  (<y3,  y4>  \mmember{}  count-repeats(L,eq))
16.  ||L||  <  2  *  (snd(<y3,  y4>))
17.  y4  =  ||filter(\mlambda{}y.(eq  y  y3);L)||
\mvdash{}  <y3,  y4>  =  <y1,  y2>
By
Latex:
TACTIC:(Decide  y3  =  y1  THENA  Auto)
Home
Index