add inverse form of ni_commutes
[coq-categories.git] / src / Enrichment_ch2_8.v
index 52a3d2a..3d3aac9 100644 (file)
@@ -1,6 +1,5 @@
 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.
@@ -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.
 
-   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.
@@ -361,11 +363,11 @@ Instance UnderlyingFunctor `(EF:@EFunctor Ob Hom V bin_obj' bc EI mn Eob1 EHom1
   Defined.
   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)
+Class EBinoidalCat `(ec:ECategory)(bobj   :  ec -> ec -> ec) :=
+{ ebc_first  :  forall a:ec, EFunctor ec ec (fun x => bobj x a)
+; ebc_second :  forall a:ec, EFunctor ec ec (fun x => bobj a x)
 ; ebc_ec     := ec  (* this isn't a coercion - avoids duplicate paths *)
+; ebc_bobj   := bobj
 }.
 
 Instance EBinoidalCat_is_binoidal `(ebc:EBinoidalCat(ec:=ec)) : BinoidalCat (Underlying ec) ebc_bobj.