X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;ds=sidebyside;f=helm%2Fsoftware%2Fmatita%2Fcontribs%2Fformal_topology%2Foverlap%2Fcategories.ma;h=0ac3b518baaacaab25f1869c24a26e096236a0e9;hb=759451f66c0009b12e5bcc9fe0c61f7ab5277057;hp=2582167dc8bcd65a76a1c6a4d591f234d8159662;hpb=a799c56fa883a1318cb42e185c0d0929b368a961;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 2582167dc..0ac3b518b 100644 --- a/helm/software/matita/contribs/formal_topology/overlap/categories.ma +++ b/helm/software/matita/contribs/formal_topology/overlap/categories.ma @@ -54,7 +54,6 @@ definition setoid1_of_setoid: setoid → setoid1. | apply (trans s)]] qed. -(* questa coercion e' necessaria per problemi di unificazione *) coercion setoid1_of_setoid. definition reflexive2: ∀A:Type2.∀R:A→A→CProp2.CProp2 ≝ λA:Type2.λR:A→A→CProp2.∀x:A.R x x. @@ -87,24 +86,6 @@ qed. coercion setoid2_of_setoid1. -(* -definition Leibniz: Type → setoid. - intro; - constructor 1; - [ apply T - | constructor 1; - [ apply (λx,y:T.cic:/matita/logic/equality/eq.ind#xpointer(1/1) ? x y) - | alias id "refl_eq" = "cic:/matita/logic/equality/eq.ind#xpointer(1/1/1)". - apply refl_eq - | alias id "sym_eq" = "cic:/matita/logic/equality/sym_eq.con". - apply sym_eq - | alias id "trans_eq" = "cic:/matita/logic/equality/trans_eq.con". - apply trans_eq ]] -qed. - -coercion Leibniz. -*) - 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). @@ -210,21 +191,6 @@ definition if_morphism: binary_morphism1 CPROP CPROP CPROP. | apply (fi ?? e1); apply f; apply (if ?? e); assumption]] qed. -(* -definition eq_morphism: ∀S:setoid. binary_morphism S S CPROP. - intro; - constructor 1; - [ apply (eq_rel ? (eq S)) - | intros; split; intro; - [ apply (.= H \sup -1); - apply (.= H2); - assumption - | apply (.= H); - apply (.= H2); - apply (H1 \sup -1)]] -qed. -*) - record category : Type1 ≝ { objs:> Type0; arrows: objs → objs → setoid; @@ -267,8 +233,6 @@ interpretation "category1 assoc" 'assoc = (comp_assoc1 ________). interpretation "category composition" 'compose x y = (fun2 ___ (comp ____) y x). interpretation "category assoc" 'assoc = (comp_assoc ________). -(* bug grande come una casa? - Ma come fa a passare la quantificazione larga??? *) definition unary_morphism_setoid: setoid → setoid → setoid. intros; constructor 1; @@ -305,18 +269,8 @@ definition setoid1_of_SET: SET → setoid1. qed. coercion setoid1_of_SET. -definition eq': ∀w:SET.equivalence_relation ? := λw.eq w. - -definition prop1_SET : - ∀A,B:SET.∀w:arrows1 SET A B.∀a,b:Type_OF_objs1 A.eq' ? a b→eq' ? (w a) (w b). -intros; apply (prop1 A B w a b e); -qed. - - -interpretation "SET dagger" 'prop1 h = (prop1_SET _ _ _ _ _ h). notation "hbox(a break ⇒ b)" right associative with precedence 20 for @{ 'Imply $a $b }. interpretation "unary morphism" 'Imply a b = (arrows1 SET a b). -interpretation "SET eq" 'eq x y = (eq_rel _ (eq' _) x y). definition unary_morphism1_setoid1: setoid1 → setoid1 → setoid1. intros; @@ -351,14 +305,7 @@ definition setoid1_OF_SET1: objs2 SET1 → setoid1. intros; apply o; qed. coercion setoid1_OF_SET1. - -definition eq'': ∀w:SET1.equivalence_relation1 ? := λw.eq1 w. - -definition prop11_SET1 : - ∀A,B:SET1.∀w:arrows2 SET1 A B.∀a,b:Type_OF_objs2 A.eq'' ? a b→eq'' ? (w a) (w b). -intros; apply (prop11 A B w a b e); -qed. - + definition setoid2_OF_category2: Type_OF_category2 SET1 → setoid2. intro; apply (setoid2_of_setoid1 t); qed. coercion setoid2_OF_category2. @@ -378,9 +325,7 @@ definition Type_OF_setoid1_of_carr: ∀U. carr U → Type_OF_setoid1 ?(*(setoid1 qed. coercion Type_OF_setoid1_of_carr. -interpretation "SET dagger" 'prop1 h = (prop11_SET1 _ _ _ _ _ h). interpretation "unary morphism1" 'Imply a b = (arrows2 SET1 a b). -interpretation "SET1 eq" 'eq x y = (eq_rel1 _ (eq'' _) x y). lemma unary_morphism1_of_arrows1_SET1: ∀S,T. (S ⇒ T) → unary_morphism1 S T. intros; apply t;