Step
*
of Lemma
eager-map-append-sq
∀[T:Type]
∀[A:Type]. ∀[f:A ⟶ T]. ∀[as:A List]. ∀[bs:T List]. (eager-map-append(f;as;bs) ~ map(f;rev(as)) @ bs)
supposing value-type(T)
BY
{ (InductionOnList THEN Reduce 0) }
1
1. T : Type
2. value-type(T)
3. A : Type
4. f : A ⟶ T
⊢ ∀[bs:T List]. (bs ~ bs)
2
1. T : Type
2. value-type(T)
3. A : Type
4. f : A ⟶ T
5. u : A
6. v : A List
7. ∀[bs:T List]. (eager-map-append(f;v;bs) ~ map(f;rev(v)) @ bs)
⊢ ∀[bs:T List]. (eager-map-append(f;[u / v];bs) ~ map(f;rev(v) @ [u]) @ bs)
Latex:
Latex:
\mforall{}[T:Type]
\mforall{}[A:Type]. \mforall{}[f:A {}\mrightarrow{} T]. \mforall{}[as:A List]. \mforall{}[bs:T List].
(eager-map-append(f;as;bs) \msim{} map(f;rev(as)) @ bs)
supposing value-type(T)
By
Latex:
(InductionOnList THEN Reduce 0)
Home
Index