X-Git-Url: http://git.megacz.com/?p=coq-hetmet.git;a=blobdiff_plain;f=src%2FGeneralizedArrow.v;h=f246cbea99e1844e0a2eabc98a383b609d80b931;hp=9149734daf155b269bdf26c95bf723881ca48959;hb=1215a7fa07083dadaad909ca023a305fc75f7632;hpb=64d416692bda1d36c33b5efa245d46dcf546ad4a diff --git a/src/GeneralizedArrow.v b/src/GeneralizedArrow.v index 9149734..f246cbe 100644 --- a/src/GeneralizedArrow.v +++ b/src/GeneralizedArrow.v @@ -26,18 +26,19 @@ Require Import PreMonoidalCenter. Require Import PreMonoidalCategories. Require Import BinoidalCategories. -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 -(* -; 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 -*) +Class GeneralizedArrow (K:Enrichment)(C:Enrichment) := +{ ga_functor_obj : enr_v K -> C +; ga_functor : Functor (enr_v_mon K) (enr_c_pm C) ga_functor_obj +; ga_functor_monoidal : PreMonoidalFunctor (enr_v_mon K) (enr_c_pm C) 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 C) }. Coercion ga_functor_monoidal : GeneralizedArrow >-> PreMonoidalFunctor. -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 ]. +Implicit Arguments GeneralizedArrow [ ]. +Implicit Arguments ga_functor_obj [ K C ]. +Implicit Arguments ga_functor [ K C ]. +Implicit Arguments ga_functor_monoidal [ K C ].