make EBinoidalCat action-on-objects a parameter instead of field
authorAdam Megacz <megacz@cs.berkeley.edu>
Mon, 11 Apr 2011 02:36:25 +0000 (02:36 +0000)
committerAdam Megacz <megacz@cs.berkeley.edu>
Mon, 11 Apr 2011 02:36:25 +0000 (02:36 +0000)
src/Enrichment_ch2_8.v

index a3f4c3e..3d3aac9 100644 (file)
@@ -363,11 +363,11 @@ Instance UnderlyingFunctor `(EF:@EFunctor Ob Hom V bin_obj' bc EI mn Eob1 EHom1
   Defined.
   Coercion UnderlyingFunctor : EFunctor >-> Functor.
 
   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_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.
 }.
 
 Instance EBinoidalCat_is_binoidal `(ebc:EBinoidalCat(ec:=ec)) : BinoidalCat (Underlying ec) ebc_bobj.