X-Git-Url: http://git.megacz.com/?p=coq-categories.git;a=blobdiff_plain;f=src%2FSectionRetract_ch2_4.v;h=2d4f859333c61f23c09ca1be7f50acbdc0ea7bc3;hp=3eda753e5fd4ebd20fe8ecfe31063d07a8003870;hb=27ffdd2265eb1c15acc62970f49d25a07bcadb05;hpb=ff3003c261295c60d367580b6700396102eb5a9c diff --git a/src/SectionRetract_ch2_4.v b/src/SectionRetract_ch2_4.v index 3eda753..2d4f859 100644 --- a/src/SectionRetract_ch2_4.v +++ b/src/SectionRetract_ch2_4.v @@ -4,6 +4,7 @@ Require Import Categories_ch1_3. Require Import Functors_ch1_4. Require Import Isomorphisms_ch1_5. Require Import ProductCategories_ch1_6_1. +Require Import NaturalIsomorphisms_ch7_5. (******************************************************************************) (* Chapter 2.4: Sections and Retractions *) @@ -54,3 +55,13 @@ Instance retract_prod `{C:Category}`{D:Category}{a b:C}{d e:D}(r1:a ⊆ b)(r2:d }. simpl; split; apply retract_pf. Defined. + +Structure Retraction `{C:Category} `{D:Category} := +{ retraction_section_fobj : C -> D +; retraction_section : Functor C D retraction_section_fobj +; retraction_retraction_fobj : D -> C +; retraction_retraction : Functor D C retraction_retraction_fobj +; retraction_composes : retraction_section >>>> retraction_retraction ≃ functor_id _ +}. +Implicit Arguments Retraction [ [Ob] [Hom] [Ob0] [Hom0] ]. +Coercion retraction_section : Retraction >-> Functor.