X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Fsoftware%2Fmatita%2Fcontribs%2Fformal_topology%2Foverlap%2Fcategories.ma;h=30a8159fb911e57a20314fcc1ff66376b66e2857;hb=3e5c359c75874748cfed8a9046031b62396e0e6d;hp=17c5f498f20df3af32034a893a73493076c89e01;hpb=3e094922bf3fec6975fdbe6feceb509eaafe0563;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 17c5f498f..30a8159fb 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; @@ -80,7 +88,7 @@ qed. coercion setoid2_of_setoid1. prefer coercion Type_OF_setoid2. prefer coercion Type_OF_setoid. -prefer coercion Type_OF_setoid1. +prefer coercion Type_OF_setoid1. (* we prefer 0 < 1 < 2 *) record equivalence_relation3 (A:Type3) : Type4 ≝ @@ -96,19 +104,10 @@ 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). - -notation < "hvbox(a break = \sub 1 b)" non associative with precedence 45 -for @{ 'eq1 $a $b }. - -notation < "hvbox(a break = \sub 2 b)" non associative with precedence 45 -for @{ 'eq2 $a $b }. - -notation < "hvbox(a break = \sub 3 b)" non associative with precedence 45 -for @{ 'eq3 $a $b }. +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 }. @@ -121,19 +120,15 @@ 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 eq explicit" 'eq3 x y = (eq_rel3 _ (eq3 _) x y). -interpretation "setoid2 eq explicit" 'eq2 x y = (eq_rel2 _ (eq2 _) x y). -interpretation "setoid1 eq explicit" 'eq1 x y = (eq_rel1 _ (eq1 _) x y). - -interpretation "setoid3 symmetry" 'invert r = (sym3 ____ r). -interpretation "setoid2 symmetry" 'invert r = (sym2 ____ r). -interpretation "setoid1 symmetry" 'invert r = (sym1 ____ r). -interpretation "setoid symmetry" 'invert r = (sym ____ r). +interpretation "setoid3 symmetry" 'invert r = (sym3 ???? r). +interpretation "setoid2 symmetry" 'invert r = (sym2 ???? r). +interpretation "setoid1 symmetry" 'invert r = (sym1 ???? r). +interpretation "setoid symmetry" 'invert r = (sym ???? r). notation ".= r" with precedence 50 for @{'trans $r}. -interpretation "trans3" 'trans r = (trans3 _____ r). -interpretation "trans2" 'trans r = (trans2 _____ r). -interpretation "trans1" 'trans r = (trans1 _____ r). -interpretation "trans" 'trans r = (trans _____ r). +interpretation "trans3" 'trans r = (trans3 ????? r). +interpretation "trans2" 'trans r = (trans2 ????? r). +interpretation "trans1" 'trans r = (trans1 ????? r). +interpretation "trans" 'trans r = (trans ????? r). record unary_morphism (A,B: setoid) : Type0 ≝ { fun1:1> A → B; @@ -178,20 +173,21 @@ record binary_morphism3 (A,B,C:setoid3) : Type3 ≝ notation "† c" with precedence 90 for @{'prop1 $c }. notation "l ‡ r" with precedence 90 for @{'prop2 $l $r }. notation "#" with precedence 90 for @{'refl}. -interpretation "prop1" 'prop1 c = (prop1 _____ c). -interpretation "prop11" 'prop1 c = (prop11 _____ c). -interpretation "prop12" 'prop1 c = (prop12 _____ c). -interpretation "prop13" 'prop1 c = (prop13 _____ c). -interpretation "prop2" 'prop2 l r = (prop2 ________ l r). -interpretation "prop21" 'prop2 l r = (prop21 ________ l r). -interpretation "prop22" 'prop2 l r = (prop22 ________ l r). -interpretation "prop23" 'prop2 l r = (prop23 ________ l r). -interpretation "refl" 'refl = (refl ___). -interpretation "refl1" 'refl = (refl1 ___). -interpretation "refl2" 'refl = (refl2 ___). -interpretation "refl3" 'refl = (refl3 ___). - -definition unary_morphism2_of_unary_morphism1: ∀S,T.unary_morphism1 S T → unary_morphism2 S T. +interpretation "prop1" 'prop1 c = (prop1 ????? c). +interpretation "prop11" 'prop1 c = (prop11 ????? c). +interpretation "prop12" 'prop1 c = (prop12 ????? c). +interpretation "prop13" 'prop1 c = (prop13 ????? c). +interpretation "prop2" 'prop2 l r = (prop2 ???????? l r). +interpretation "prop21" 'prop2 l r = (prop21 ???????? l r). +interpretation "prop22" 'prop2 l r = (prop22 ???????? l r). +interpretation "prop23" 'prop2 l r = (prop23 ???????? l r). +interpretation "refl" 'refl = (refl ???). +interpretation "refl1" 'refl = (refl1 ???). +interpretation "refl2" 'refl = (refl2 ???). +interpretation "refl3" 'refl = (refl3 ???). + +definition unary_morphism2_of_unary_morphism1: + ∀S,T:setoid1.unary_morphism1 S T → unary_morphism2 (setoid2_of_setoid1 S) T. intros; constructor 1; [ apply (fun11 ?? u); @@ -218,7 +214,7 @@ definition fi': ∀A,B:CPROP. A = B → B → A. qed. notation ". r" with precedence 50 for @{'fi $r}. -interpretation "fi" 'fi r = (fi' __ r). +interpretation "fi" 'fi r = (fi' ?? r). definition and_morphism: binary_morphism1 CPROP CPROP CPROP. constructor 1; @@ -230,7 +226,7 @@ definition and_morphism: binary_morphism1 CPROP CPROP CPROP. | apply (fi ?? e1 b1)]] qed. -interpretation "and_morphism" 'and a b = (fun21 ___ and_morphism a b). +interpretation "and_morphism" 'and a b = (fun21 ??? and_morphism a b). definition or_morphism: binary_morphism1 CPROP CPROP CPROP. constructor 1; @@ -242,7 +238,7 @@ definition or_morphism: binary_morphism1 CPROP CPROP CPROP. | apply (fi ?? e1 b1)]] qed. -interpretation "or_morphism" 'or a b = (fun21 ___ or_morphism a b). +interpretation "or_morphism" 'or a b = (fun21 ??? or_morphism a b). definition if_morphism: binary_morphism1 CPROP CPROP CPROP. constructor 1; @@ -299,12 +295,12 @@ record category3 : Type4 ≝ notation "'ASSOC'" with precedence 90 for @{'assoc}. -interpretation "category2 composition" 'compose x y = (fun22 ___ (comp2 ____) y x). -interpretation "category2 assoc" 'assoc = (comp_assoc2 ________). -interpretation "category1 composition" 'compose x y = (fun21 ___ (comp1 ____) y x). -interpretation "category1 assoc" 'assoc = (comp_assoc1 ________). -interpretation "category composition" 'compose x y = (fun2 ___ (comp ____) y x). -interpretation "category assoc" 'assoc = (comp_assoc ________). +interpretation "category2 composition" 'compose x y = (fun22 ??? (comp2 ????) y x). +interpretation "category2 assoc" 'assoc = (comp_assoc2 ????????). +interpretation "category1 composition" 'compose x y = (fun21 ??? (comp1 ????) y x). +interpretation "category1 assoc" 'assoc = (comp_assoc1 ????????). +interpretation "category composition" 'compose x y = (fun2 ??? (comp ????) y x). +interpretation "category assoc" 'assoc = (comp_assoc ????????). definition category2_of_category1: category1 → category2. intro; @@ -467,4 +463,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).