X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Fsoftware%2Fmatita%2Fcontribs%2Fformal_topology%2Foverlap%2Fcategories.ma;h=3e750928d229ead63a7df26905c3a14a8b62830e;hb=ddc0a7b3f0acd57f879e540e696f69ca0c20bbf5;hp=7ac1b0b3d6d2f3b66a46c0fc3b4e49465d7aa4f2;hpb=4bdb34a1cce33b4387b04cc37bf229e08f5bbafb;p=helm.git diff --git a/helm/software/matita/contribs/formal_topology/overlap/categories.ma b/helm/software/matita/contribs/formal_topology/overlap/categories.ma index 7ac1b0b3d..3e750928d 100644 --- a/helm/software/matita/contribs/formal_topology/overlap/categories.ma +++ b/helm/software/matita/contribs/formal_topology/overlap/categories.ma @@ -14,6 +14,14 @@ include "cprop_connectives.ma". +notation "hvbox(a break = \sub \ID b)" non associative with precedence 45 +for @{ 'eqID $a $b }. + +notation > "hvbox(a break =_\ID b)" non associative with precedence 45 +for @{ cic:/matita/logic/equality/eq.ind#xpointer(1/1) ? $a $b }. + +interpretation "ID eq" 'eqID x y = (cic:/matita/logic/equality/eq.ind#xpointer(1/1) _ x y). + record equivalence_relation (A:Type0) : Type1 ≝ { eq_rel:2> A → A → CProp0; refl: reflexive ? eq_rel; @@ -96,10 +104,22 @@ record setoid3: Type4 ≝ }. -interpretation "setoid3 eq" 'eq x y = (eq_rel3 _ (eq3 _) x y). -interpretation "setoid2 eq" 'eq x y = (eq_rel2 _ (eq2 _) x y). -interpretation "setoid1 eq" 'eq x y = (eq_rel1 _ (eq1 _) x y). -interpretation "setoid eq" 'eq x y = (eq_rel _ (eq _) x y). +interpretation "setoid3 eq" 'eq t x y = (eq_rel3 _ (eq3 t) x y). +interpretation "setoid2 eq" 'eq t x y = (eq_rel2 _ (eq2 t) x y). +interpretation "setoid1 eq" 'eq t x y = (eq_rel1 _ (eq1 t) x y). +interpretation "setoid eq" 'eq t x y = (eq_rel _ (eq t) x y). + +notation > "hvbox(a break =_12 b)" non associative with precedence 45 +for @{ eq_rel2 (carr2 (setoid2_of_setoid1 ?)) (eq2 (setoid2_of_setoid1 ?)) $a $b }. +notation > "hvbox(a break =_0 b)" non associative with precedence 45 +for @{ eq_rel ? (eq ?) $a $b }. +notation > "hvbox(a break =_1 b)" non associative with precedence 45 +for @{ eq_rel1 ? (eq1 ?) $a $b }. +notation > "hvbox(a break =_2 b)" non associative with precedence 45 +for @{ eq_rel2 ? (eq2 ?) $a $b }. +notation > "hvbox(a break =_3 b)" non associative with precedence 45 +for @{ eq_rel3 ? (eq3 ?) $a $b }. + interpretation "setoid3 symmetry" 'invert r = (sym3 ____ r). interpretation "setoid2 symmetry" 'invert r = (sym2 ____ r). interpretation "setoid1 symmetry" 'invert r = (sym1 ____ r). @@ -302,9 +322,8 @@ record functor2 (C1: category2) (C2: category2) : Type3 ≝ map_arrows2: ∀S,T. unary_morphism2 (arrows2 ? S T) (arrows2 ? (map_objs2 S) (map_objs2 T)); respects_id2: ∀o:C1. map_arrows2 ?? (id2 ? o) = id2 ? (map_objs2 o); respects_comp2: - ∀o1,o2,o3,o4.∀f1:arrows2 ? o1 o2.∀f2:arrows2 ? o2 o3.∀f3:arrows2 ? o3 o4. - map_arrows2 ?? (f3 ∘ f2 ∘ f1) = - map_arrows2 ?? f3 ∘ map_arrows2 ?? f2 ∘ map_arrows2 ?? f1}. + ∀o1,o2,o3.∀f1:arrows2 ? o1 o2.∀f2:arrows2 ? o2 o3. + map_arrows2 ?? (f2 ∘ f1) = map_arrows2 ?? f2 ∘ map_arrows2 ?? f1}. definition functor2_setoid: category2 → category2 → setoid3. intros (C1 C2); @@ -443,4 +462,4 @@ coercion objs2_of_category1. prefer coercion Type_OF_setoid. (* we prefer the lower carrier projection *) prefer coercion Type_OF_objs1. -interpretation "unary morphism1" 'Imply a b = (arrows2 SET1 a b). \ No newline at end of file +interpretation "unary morphism1" 'Imply a b = (arrows2 SET1 a b).