proposition: Lemma finenc_list : forall a, Fix (fun r => one + (a * r))%type ≅ (forall r, r -> (a -> r -> r) -> r).
proof: Proof. intros. unfold Fix. apply iso_ext; intros. rewrite (@Coyoneda_alg_iso (fun r => one + a * r)%type). autorewrite with isos. reflexivity. exact List_Alg_FunctorLaws. Qed.
imports: Hask.Ltac Hask.Prelude Hask.Control.Applicative Hask.Control.Monad Hask.Control.Monad.Cont Hask.Control.Monad.State Hask.Data.Functor.Contravariant Hask.Data.Functor.Identity Hask.Data.Functor.Kan Hask.Data.Functor.Yoneda Hask.Control.Lens Coq.Classes.Morphisms Coq.Setoids.Setoid Coq.Init.Datatypes Coq.Relations.Relation_Definitions FunctionalExtensionality Hask.Data.Functor.Fix Hask.Control.Monad.Freer