Step
*
of Lemma
filter-upto-length
∀[T:Type]. ∀[P:T ⟶ 𝔹]. ∀[L:T List].  (filter(P;L) ~ map(λi.L[i];filter(λi.(P L[i]);upto(||L||))))
BY
{ (InductionOnList THEN Reduce 0 THEN Try (Trivial)) }
1
1. T : Type
2. P : T ⟶ 𝔹
3. u : T
4. v : T List
5. filter(P;v) ~ map(λi.v[i];filter(λi.(P v[i]);upto(||v||)))
⊢ if P u then [u / filter(P;v)] else filter(P;v) fi  ~ map(λi.[u / v][i];filter(λi.(P [u / v][i]);upto(||v|| + 1)))
Latex:
Latex:
\mforall{}[T:Type].  \mforall{}[P:T  {}\mrightarrow{}  \mBbbB{}].  \mforall{}[L:T  List].    (filter(P;L)  \msim{}  map(\mlambda{}i.L[i];filter(\mlambda{}i.(P  L[i]);upto(||L||))))
By
Latex:
(InductionOnList  THEN  Reduce  0  THEN  Try  (Trivial))
Home
Index