Step
*
of Lemma
strict-majority-property
No Annotations
∀[T:Type]. ∀[eq:EqDecider(T)]. ∀[L:T List]. ∀[x:T].
  uiff(||L|| < 2 * ||filter(λy.(eq y x);L)||;strict-majority(eq;L) = (inl x) ∈ (T?))
BY
{ (Auto THEN RepUR ``strict-majority let`` 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)||
⊢ if null(filter(λp.||L|| <z 2 * (snd(p));count-repeats(L,eq)))
then inr ⋅ 
else inl (fst(hd(filter(λp.||L|| <z 2 * (snd(p));count-repeats(L,eq)))))
fi 
= (inl x)
∈ (T?)
2
1. T : Type
2. eq : EqDecider(T)
3. L : T List
4. x : T
5. strict-majority(eq;L) = (inl x) ∈ (T?)
⊢ ||L|| < 2 * ||filter(λy.(eq y x);L)||
Latex:
Latex:
No  Annotations
\mforall{}[T:Type].  \mforall{}[eq:EqDecider(T)].  \mforall{}[L:T  List].  \mforall{}[x:T].
    uiff(||L||  <  2  *  ||filter(\mlambda{}y.(eq  y  x);L)||;strict-majority(eq;L)  =  (inl  x))
By
Latex:
(Auto  THEN  RepUR  ``strict-majority  let``  0)
Home
Index