make EBinoidalCat action-on-objects a parameter instead of field
[coq-categories.git] / src / Enrichment_ch2_8.v
index 87d9aa0..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.
@@ -364,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.