X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;ds=sidebyside;f=helm%2Fsoftware%2Fmatita%2Fcontribs%2Fformal_topology%2Foverlap%2Fbasic_pairs.ma;h=071892f6bd3b7605f1892f450bd684915507e333;hb=befe31089d1d45360b5b7681556c8a762800b3a2;hp=b13317c67659c3963a9983b9ac3677b54463ad41;hpb=79ce67a7a7502462e827de098b1056516092c0a7;p=helm.git diff --git a/helm/software/matita/contribs/formal_topology/overlap/basic_pairs.ma b/helm/software/matita/contribs/formal_topology/overlap/basic_pairs.ma index b13317c67..071892f6b 100644 --- a/helm/software/matita/contribs/formal_topology/overlap/basic_pairs.ma +++ b/helm/software/matita/contribs/formal_topology/overlap/basic_pairs.ma @@ -40,18 +40,6 @@ notation "hvbox (r \sub \f)" with precedence 90 for @{'form_rel $r}. interpretation "concrete relation" 'concr_rel r = (concr_rel __ r). interpretation "formal relation" 'form_rel r = (form_rel __ r). -include "o-basic_pairs.ma". - -definition o_basic_pair_of_basic_pair: cic:/matita/formal_topology/basic_pairs/basic_pair.ind#xpointer(1/1) → basic_pair. - intro; - constructor 1; - [ apply (SUBSETS (concr b)); - | apply (SUBSETS (form b)); - | constructor 1; - ] -qed. - - definition relation_pair_equality: ∀o1,o2. equivalence_relation1 (relation_pair o1 o2). intros; @@ -109,23 +97,26 @@ definition relation_pair_composition: | apply (r1 \sub\f ∘ r \sub\f) | lapply (commute ?? r) as H; lapply (commute ?? r1) as H1; - apply (.= ASSOC1); + alias symbol "trans" = "trans1". + alias symbol "assoc" = "category1 assoc". + apply (.= ASSOC); apply (.= #‡H1); - apply (.= ASSOC1\sup -1); + alias symbol "invert" = "setoid1 symmetry". + apply (.= ASSOC ^ -1); apply (.= H‡#); - apply ASSOC1] + apply ASSOC] | intros; change with (⊩ ∘ (b\sub\c ∘ a\sub\c) = ⊩ ∘ (b'\sub\c ∘ a'\sub\c)); - change in H with (⊩ ∘ a \sub\c = ⊩ ∘ a' \sub\c); - change in H1 with (⊩ ∘ b \sub\c = ⊩ ∘ b' \sub\c); - apply (.= ASSOC1); - apply (.= #‡H1); + change in e with (⊩ ∘ a \sub\c = ⊩ ∘ a' \sub\c); + change in e1 with (⊩ ∘ b \sub\c = ⊩ ∘ b' \sub\c); + apply (.= ASSOC); + apply (.= #‡e1); apply (.= #‡(commute ?? b')); - apply (.= ASSOC1 \sup -1); - apply (.= H‡#); - apply (.= ASSOC1); + apply (.= ASSOC ^ -1); + apply (.= e‡#); + apply (.= ASSOC); apply (.= #‡(commute ?? b')\sup -1); - apply (ASSOC1 \sup -1)] + apply (ASSOC ^ -1)] qed. definition BP: category1. @@ -137,7 +128,9 @@ definition BP: category1. | intros; change with (⊩ ∘ (a34\sub\c ∘ (a23\sub\c ∘ a12\sub\c)) = ⊩ ∘ ((a34\sub\c ∘ a23\sub\c) ∘ a12\sub\c)); - apply (ASSOC1‡#); + alias symbol "refl" = "refl1". + alias symbol "prop2" = "prop21". + apply (ASSOC‡#); | intros; change with (⊩ ∘ (a\sub\c ∘ (id_relation_pair o1)\sub\c) = ⊩ ∘ a\sub\c); apply ((id_neutral_right1 ????)‡#); @@ -146,6 +139,7 @@ definition BP: category1. apply ((id_neutral_left1 ????)‡#);] qed. +(* definition BPext: ∀o: BP. form o ⇒ Ω \sup (concr o). intros; constructor 1; [ apply (ext ? ? (rel o)); @@ -190,3 +184,25 @@ qed. interpretation "basic pair relation for subsets" 'Vdash2 x y = (fun1 (concr _) __ (relS _) x y). interpretation "basic pair relation for subsets (non applied)" 'Vdash = (fun1 ___ (relS _)). +*) + +include "o-basic_pairs.ma". +(* Qui, per fare le cose per bene, ci serve la nozione di funtore categorico *) +definition o_basic_pair_of_basic_pair: cic:/matita/formal_topology/basic_pairs/basic_pair.ind#xpointer(1/1) → basic_pair. + intro; + constructor 1; + [ apply (SUBSETS (concr b)); + | apply (SUBSETS (form b)); + | apply (orelation_of_relation ?? (rel b)); ] +qed. + +definition o_relation_pair_of_relation_pair: + ∀BP1,BP2.cic:/matita/formal_topology/basic_pairs/relation_pair.ind#xpointer(1/1) BP1 BP2 → + relation_pair (o_basic_pair_of_basic_pair BP1) (o_basic_pair_of_basic_pair BP2). + intros; + constructor 1; + [ apply (orelation_of_relation ?? (r \sub \c)); + | apply (orelation_of_relation ?? (r \sub \f)); + | + ] +qed. \ No newline at end of file