(* Check that the analysis of projectable rel's in an evar instance is up to
aliases *)
Require Import List.
Definition compose (A B C : Type) (g : B -> C) (f : A -> B) : A -> C :=
fun x : A => g(f x).
Definition map_fuse' :
forall (A B C : Type) (g : B -> C) (f : A -> B) (xs : list A),
(map g (map f xs)) = map (compose _ _ _ g f) xs
:=
fun A B C g f =>
(fix loop (ys : list A) {struct ys} :=
match ys as ys return (map g (map f ys)) = map (compose _ _ _ g f) ys
with
| nil => refl_equal nil
| x :: xs =>
match loop xs in eq _ a return eq _ ((g (f x)) :: a) with
| refl_equal => refl_equal (map g (map f (x :: xs)))
end
end).
¤ Dauer der Verarbeitung: 0.25 Sekunden
(vorverarbeitet)
¤
|
Haftungshinweis
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung ist noch experimentell.
|