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).
+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;
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 ≝
}.
-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).
+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 =_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).
-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;
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);
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;
| 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;
| 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;
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;