proposition: Theorem arrow_IsApplicative {x} : IsApplicative arrow_IsFunctor (arrow_Applicative x).
proof: Proof. unfold arrow_Applicative, arrow. construct. - construct. + exact H. + construct; intuition eauto. + construct; intuition eauto; simpl. * extensionality z. now destruct (x1 z), u. * f_equal. now destruct a. + construct; intuition eauto; simpl. * extensionality z. now destruct (x1 z), u. * f_equal. now destruct b. + construct; intuition eauto; simpl. * extensionality w. now destruct (x1 w); simplify. + destruct x1; simpl. reflexivity. + destruct x1; simpl. reflexivity. + simplify; simpl. intuition eauto. - apply Coq_StrongFunctor. Qed.
imports: Category.Lib Category.Theory.Category Category.Theory.Functor Category.Theory.Natural.Transformation Category.Structure.Monoidal.Closed Category.Functor.Structure.Monoidal Category.Functor.Structure.Monoidal.Pure Category.Functor.Structure.Monoidal.Id Category.Functor.Structure.Monoidal.Compose Category.Functor.Applicative Category.Instance.Coq Category.Theory.Coq.Functor.Proofs Category.Theory.Coq.Applicative