X-Git-Url: http://git.megacz.com/?p=coq-categories.git;a=blobdiff_plain;f=src%2FSubcategories_ch7_1.v;h=25391a12eda6a431ed4bac1e99f4d432314bc903;hp=cd1eaa9bb6c88d627f7adb25ce71099d07d0bfc2;hb=20641452e40570b4bfc9429ca57b0cffca6eccfb;hpb=105a7461c7531f8b4e49f34e7242021ac6bb5ebe diff --git a/src/Subcategories_ch7_1.v b/src/Subcategories_ch7_1.v index cd1eaa9..25391a1 100644 --- a/src/Subcategories_ch7_1.v +++ b/src/Subcategories_ch7_1.v @@ -44,16 +44,15 @@ Instance IdentitySubCategory `(C:Category Ob Hom) : SubCategory C (fun _ => True intros; auto. intros; auto. Defined. +*) (* the inclusion operation from a subcategory to its host is a functor *) -Instance InclusionFunctor `(C:Category Ob Hom)`(SP:@SubCategory _ _ C Pobj Pmor) +Instance FullSubcategoryInclusionFunctor `(SP:@FullSubcategory Ob Hom C Pobj) : Functor SP C (fun x => projT1 x) := - { fmor := fun dom ran f => projT1 f }. + { fmor := fun dom ran f => f }. intros. unfold eqv in H. simpl in H. auto. intros. simpl. reflexivity. intros. simpl. reflexivity. Defined. -*) - (* a wide subcategory includes all objects, so it requires nothing more than a predicate on each hom-set *) Class WideSubcategory `(C:Category Ob Hom)(Pmor:forall a b:Ob, (a~>b) ->Type) : Type := @@ -120,6 +119,16 @@ Section FullImage. auto. Defined. + Lemma RestrictToImage_splits_niso : F ≃ (RestrictToImage >>>> FullImage_InclusionFunctor). + unfold IsomorphicFunctors. + exists (fun A => iso_id (fobj A)). + intros. + simpl. + setoid_rewrite left_identity. + setoid_rewrite right_identity. + reflexivity. + Qed. + End FullImage. (* any functor may be restricted to a subcategory of its domain *)