add Notations.v
[coq-categories.git] / src / Enrichment_ch2_8.v
index 275de7b..a3f4c3e 100644 (file)
@@ -1,6 +1,5 @@
 Generalizable All Variables.
 Generalizable All Variables.
-Require Import Preamble.
-Require Import General.
+Require Import Notations.
 Require Import Categories_ch1_3.
 Require Import Functors_ch1_4.
 Require Import Isomorphisms_ch1_5.
 Require Import Categories_ch1_3.
 Require Import Functors_ch1_4.
 Require Import Isomorphisms_ch1_5.
@@ -127,7 +126,10 @@ Lemma ecomp_is_functorial `{ec:ECategory}{a b c}{x}(f:EI~~{V}~~>(a~~>b))(g:EI~~{
    apply ibs.
    clear ibs.
 
    apply ibs.
    clear ibs.
 
-   setoid_rewrite (MacLane_ex_VII_1_1 (x~~>a) (a~~>b)).
+   set (MacLane_ex_VII_1_1 (a~~>b) (x~~>a)) as q.
+   simpl in q.
+   setoid_rewrite <- q.
+   clear q.
    setoid_rewrite juggle3.
    set (fmor_preserves_comp ((x ~~> a) ⋊-)) as q.
    simpl in q.
    setoid_rewrite juggle3.
    set (fmor_preserves_comp ((x ~~> a) ⋊-)) as q.
    simpl in q.
@@ -362,9 +364,10 @@ Instance UnderlyingFunctor `(EF:@EFunctor Ob Hom V bin_obj' bc EI mn Eob1 EHom1
   Coercion UnderlyingFunctor : EFunctor >-> Functor.
 
 Class EBinoidalCat `(ec:ECategory) :=
   Coercion UnderlyingFunctor : EFunctor >-> Functor.
 
 Class EBinoidalCat `(ec:ECategory) :=
-{ ebc_bobj   : ec -> ec -> ec
-; ebc_first  : forall a:ec, EFunctor ec ec (fun x => ebc_bobj x a)
-; ebc_second : forall a:ec, EFunctor ec ec (fun x => ebc_bobj a x)
+{ ebc_bobj   :  ec -> ec -> ec
+; ebc_first  :  forall a:ec, EFunctor ec ec (fun x => ebc_bobj x a)
+; ebc_second :  forall a:ec, EFunctor ec ec (fun x => ebc_bobj a x)
+; ebc_ec     := ec  (* this isn't a coercion - avoids duplicate paths *)
 }.
 
 Instance EBinoidalCat_is_binoidal `(ebc:EBinoidalCat(ec:=ec)) : BinoidalCat (Underlying ec) ebc_bobj.
 }.
 
 Instance EBinoidalCat_is_binoidal `(ebc:EBinoidalCat(ec:=ec)) : BinoidalCat (Underlying ec) ebc_bobj.