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