X-Git-Url: http://git.megacz.com/?p=coq-hetmet.git;a=blobdiff_plain;f=src%2FGeneralizedArrow.v;h=303baef5c31d1bc42a1c10a53c4905d74971fd44;hp=f2465675526f995ae95338299713edf1888cf5c6;hb=443ffa2812bff032a13e33010e8fd1380f7215f1;hpb=76f4613eaa5989e29bfd59d716c216ee5386c5f7 diff --git a/src/GeneralizedArrow.v b/src/GeneralizedArrow.v index f246567..303baef 100644 --- a/src/GeneralizedArrow.v +++ b/src/GeneralizedArrow.v @@ -20,16 +20,30 @@ Require Import NaturalIsomorphisms_ch7_5. Require Import MonoidalCategories_ch7_8. Require Import Coherence_ch7_8. Require Import Enrichment_ch2_8. +Require Import Enrichments. Require Import RepresentableStructure_ch7_2. +Require Import PreMonoidalCenter. +Require Import PreMonoidalCategories. +Require Import BinoidalCategories. -Class GeneralizedArrow (K:Enrichment) (C:MonoidalEnrichment) := -{ ga_functor_obj : enr_v_mon K -> C -; ga_functor : Functor (enr_v_mon K) C ga_functor_obj -; ga_functor_monoidal : MonoidalFunctor (enr_v_mon K) C ga_functor +Class GeneralizedArrow (K:Enrichment) {ce}(C:MonoidalEnrichment ce) := +{ ga_functor_obj : enr_v K -> ce +; ga_functor : Functor (enr_v_mon K) (enr_c_pm ce) ga_functor_obj +; ga_functor_monoidal : PreMonoidalFunctor (enr_v_mon K) (enr_c_pm ce) ga_functor + +(* We require that the host language (but NOT the guest language) be pure, i.e. all morphisms central, to simplify + * things. If this doesn't suit you, just consider the "host language" here to be the pure sublanguage of the + * host language, and toss on the inclusion functor to the full language *) +; ga_host_lang_pure : CommutativeCat (enr_c_pm ce) + +(* +; ga_functor : Functor (enr_v_mon K) (Center_is_Monoidal (enr_c_pm ce)) ga_functor_obj +; ga_functor_monoidal : MonoidalFunctor (enr_v_mon K) (Center_is_Monoidal (enr_c_pm ce)) ga_functor +*) }. -Coercion ga_functor_monoidal : GeneralizedArrow >-> MonoidalFunctor. +Coercion ga_functor_monoidal : GeneralizedArrow >-> PreMonoidalFunctor. -Implicit Arguments GeneralizedArrow [ ]. -Implicit Arguments ga_functor_obj [ K C ]. -Implicit Arguments ga_functor [ K C ]. -Implicit Arguments ga_functor_monoidal [ K C ]. +Implicit Arguments GeneralizedArrow [ [ce] ]. +Implicit Arguments ga_functor_obj [ K ce C ]. +Implicit Arguments ga_functor [ K ce C ]. +Implicit Arguments ga_functor_monoidal [ K ce C ].