(* -*- coq-prog-args: ("-emacs-U" "-R" "." "Prelude") -*- *) (************************************************************************) (* v * The Coq Proof Assistant / The Coq Development Team *) (* B. Program Instance section_monad : Monad (arrow R) := { unit A := const ; bind A B f k := fun r => k (f r) r }. Next Obligation. Proof. rewrite eta_expansion. reflexivity. Qed. Next Obligation. Proof. rewrite eta_expansion ; auto. Qed.