From e6eee3c9787855479899acb82cb65f9cdd0259c6 Mon Sep 17 00:00:00 2001 From: Adam Megacz Date: Tue, 5 Apr 2011 06:32:52 +0000 Subject: [PATCH 1/1] add special case of ni_respects where one side is exactly equal --- src/NaturalIsomorphisms_ch7_5.v | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/src/NaturalIsomorphisms_ch7_5.v b/src/NaturalIsomorphisms_ch7_5.v index f82dba8..680e743 100644 --- a/src/NaturalIsomorphisms_ch7_5.v +++ b/src/NaturalIsomorphisms_ch7_5.v @@ -78,6 +78,35 @@ Definition ni_comp `{C:Category}`{D:Category} reflexivity). Defined. +Definition ni_respects1 + `{A:Category}`{B:Category} + {Fobj}(F:Functor A B Fobj) + `{C:Category} + {G0obj}(G0:Functor B C G0obj) + {G1obj}(G1:Functor B C G1obj) + : (G0 <~~~> G1) -> ((F >>>> G0) <~~~> (F >>>> G1)). + intro phi. + destruct phi as [ phi_niso phi_comm ]. + refine {| ni_iso := (fun a => phi_niso (Fobj a)) |}. + intros; simpl; apply phi_comm. + Defined. + +Definition ni_respects2 + `{A:Category}`{B:Category} + {F0obj}(F0:Functor A B F0obj) + {F1obj}(F1:Functor A B F1obj) + `{C:Category} + {Gobj}(G:Functor B C Gobj) + : (F0 <~~~> F1) -> ((F0 >>>> G) <~~~> (F1 >>>> G)). + intro phi. + destruct phi as [ phi_niso phi_comm ]. + refine {| ni_iso := fun a => (@functors_preserve_isos _ _ _ _ _ _ _ G) _ _ (phi_niso a) |}. + intros; simpl. + setoid_rewrite fmor_preserves_comp. + apply fmor_respects. + apply phi_comm. + Defined. + Definition ni_respects `{A:Category}`{B:Category} {F0obj}(F0:Functor A B F0obj) -- 1.7.10.4