X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Fsoftware%2Fmatita%2Flibrary%2Fformal_topology%2Fconcrete_spaces.ma;h=5c39beddeee5d2895078095ad53c129ee05cc876;hb=45c7aae67e888fd4aa3ae03378cbcaeb4f5fdaf9;hp=568f3c0528488ec22c45a10378ebb0e5861f8435;hpb=80c5d1841a5ea1d302f9b6865a6f1539d9361524;p=helm.git diff --git a/helm/software/matita/library/formal_topology/concrete_spaces.ma b/helm/software/matita/library/formal_topology/concrete_spaces.ma index 568f3c052..5c39bedde 100644 --- a/helm/software/matita/library/formal_topology/concrete_spaces.ma +++ b/helm/software/matita/library/formal_topology/concrete_spaces.ma @@ -30,6 +30,8 @@ definition ext: ∀X,S:REL. ∀r: arrows1 ? X S. S ⇒ Ω \sup X. | apply (. #‡(#‡H\sup -1)); assumption]] qed. +definition BPext: ∀o: basic_pair. form o ⇒ Ω \sup (concr o) ≝ λo.ext ? ? (rel o). + definition extS: ∀X,S:REL. ∀r: arrows1 ? X S. Ω \sup S ⇒ Ω \sup X. (* ∃ is not yet a morphism apply (λX,S,r,F.{x ∈ X | ∃a. a ∈ F ∧ x ♮r a});*) intros (X S r); constructor 1; @@ -48,30 +50,42 @@ definition extS: ∀X,S:REL. ∀r: arrows1 ? X S. Ω \sup S ⇒ Ω \sup X. | apply (. (#‡H\sup -1)‡#); assumption]]] qed. -definition fintersects: ∀o: basic_pair. form o → form o → Ω \sup (form o). - apply - (λo: basic_pair.λa,b: form o. - {c | ext ?? (rel o) c ⊆ ext ?? (rel o) a ∩ ext ?? (rel o) b }); - intros; simplify; apply (.= (†H)‡#); apply refl1. +definition BPextS: ∀o: basic_pair. Ω \sup (form o) ⇒ Ω \sup (concr o) ≝ + λo.extS ?? (rel o). + +definition fintersects: ∀o: basic_pair. binary_morphism1 (form o) (form o) (Ω \sup (form o)). + intros (o); constructor 1; + [ apply (λa,b: form o.{c | BPext o c ⊆ BPext o a ∩ BPext o b }); + intros; simplify; apply (.= (†H)‡#); apply refl1 + | intros; split; simplify; intros; + [ apply (. #‡((†H)‡(†H1))); assumption + | apply (. #‡((†H\sup -1)‡(†H1\sup -1))); assumption]] qed. -interpretation "fintersects" 'fintersects U V = (fintersects _ U V). +interpretation "fintersects" 'fintersects U V = (fun1 ___ (fintersects _) U V). definition fintersectsS: - ∀o:basic_pair. Ω \sup (form o) → Ω \sup (form o) → Ω \sup (form o). - apply (λo: basic_pair.λa,b: Ω \sup (form o). - {c | ext ?? (rel o) c ⊆ extS ?? (rel o) a ∩ extS ?? (rel o) b }); - intros; simplify; apply (.= (†H)‡#); apply refl1. + ∀o:basic_pair. binary_morphism1 (Ω \sup (form o)) (Ω \sup (form o)) (Ω \sup (form o)). + intros (o); constructor 1; + [ apply (λo: basic_pair.λa,b: Ω \sup (form o).{c | BPext o c ⊆ BPextS o a ∩ BPextS o b }); + intros; simplify; apply (.= (†H)‡#); apply refl1 + | intros; split; simplify; intros; + [ apply (. #‡((†H)‡(†H1))); assumption + | apply (. #‡((†H\sup -1)‡(†H1\sup -1))); assumption]] qed. -interpretation "fintersectsS" 'fintersects U V = (fintersectsS _ U V). +interpretation "fintersectsS" 'fintersects U V = (fun1 ___ (fintersectsS _) U V). -(* -definition relS: ∀o: basic_pair. concr o → Ω \sup (form o) → CProp. - apply (λo:basic_pair.λx:concr o.λS: Ω \sup (form o).∃y: form o.y ∈ S ∧ x ⊩ y); +definition relS: ∀o: basic_pair. binary_morphism1 (concr o) (Ω \sup (form o)) CPROP. + intros (o); constructor 1; + [ apply (λx:concr o.λS: Ω \sup (form o).∃y: form o.y ∈ S ∧ x ⊩ y); + | intros; split; intros; cases H2; exists [1,3: apply w] + [ apply (. (#‡H1)‡(H‡#)); assumption + | apply (. (#‡H1 \sup -1)‡(H \sup -1‡#)); assumption]] +qed. -interpretation "basic pair relation for subsets" 'Vdash2 x y = (relS _ x y). -interpretation "basic pair relation for subsets (non applied)" 'Vdash = (relS _). +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 _)). record concrete_space : Type ≝ { bp:> basic_pair; @@ -79,6 +93,7 @@ record concrete_space : Type ≝ all_covered: ∀x: concr bp. x ⊩ form bp }. +(* record convergent_relation_pair (CS1,CS2: concrete_space) : Type ≝ { rp:> relation_pair CS1 CS2; respects_converges: