X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Fsoftware%2Fmatita%2Fcontribs%2Fformal_topology%2Foverlap%2Fbasic_pairs_to_o-basic_pairs.ma;h=9e85452d585eebbb7b558a0d0a521f000689364f;hb=23043db144b24b8cd2072800b61137bb396f891e;hp=d8813fdc1b1154c37458065c9f548d4ddddb3fea;hpb=cf25aeb5fa2c00ebfe93454fbe33421d590506d4;p=helm.git diff --git a/helm/software/matita/contribs/formal_topology/overlap/basic_pairs_to_o-basic_pairs.ma b/helm/software/matita/contribs/formal_topology/overlap/basic_pairs_to_o-basic_pairs.ma index d8813fdc1..9e85452d5 100644 --- a/helm/software/matita/contribs/formal_topology/overlap/basic_pairs_to_o-basic_pairs.ma +++ b/helm/software/matita/contribs/formal_topology/overlap/basic_pairs_to_o-basic_pairs.ma @@ -39,12 +39,13 @@ definition o_relation_pair_of_relation_pair: | apply commute;]] qed. -definition BP_to_OBP: carr3 (arrows3 CAT2 (category2_of_category1 BP) OBP). - constructor 1; - [ apply o_basic_pair_of_basic_pair; - | intros; constructor 1; - [ apply (o_relation_pair_of_relation_pair S T); - | intros (a b Eab); split; unfold o_relation_pair_of_relation_pair; simplify; +lemma o_relation_pair_of_relation_pair_is_morphism : + ∀S,T:category2_of_category1 BP. + ∀a,b:arrows2 (category2_of_category1 BP) S T.a=b → + (eq2 (arrows2 OBP (o_basic_pair_of_basic_pair S) (o_basic_pair_of_basic_pair T))) + (o_relation_pair_of_relation_pair S T a) (o_relation_pair_of_relation_pair S T b). +intros 2 (S T); + intros (a b Eab); split; unfold o_relation_pair_of_relation_pair; simplify; unfold o_basic_pair_of_basic_pair; simplify; [ change in match or_f_minus_star_ with (λq,w,x.fun12 ?? (or_f_minus_star q w) x); | change in match or_f_minus_ with (λq,w,x.fun12 ?? (or_f_minus q w) x); @@ -58,8 +59,23 @@ definition BP_to_OBP: carr3 (arrows3 CAT2 (category2_of_category1 BP) OBP). apply sym2; apply prop12; apply Eab; - ] - | simplify; intros; whd; split; +qed. + +lemma o_relation_pair_of_relation_pair_morphism : + ∀S,T:category2_of_category1 BP. + unary_morphism2 (arrows2 (category2_of_category1 BP) S T) + (arrows2 OBP (o_basic_pair_of_basic_pair S) (o_basic_pair_of_basic_pair T)). +intros (S T); + constructor 1; + [ apply (o_relation_pair_of_relation_pair S T); + | apply (o_relation_pair_of_relation_pair_is_morphism S T)] +qed. + +lemma o_relation_pair_of_relation_pair_morphism_respects_id: + ∀o:category2_of_category1 BP. + o_relation_pair_of_relation_pair_morphism o o (id2 (category2_of_category1 BP) o) + = id2 OBP (o_basic_pair_of_basic_pair o). + simplify; intros; whd; split; [ change in match or_f_minus_star_ with (λq,w,x.fun12 ?? (or_f_minus_star q w) x); | change in match or_f_minus_ with (λq,w,x.fun12 ?? (or_f_minus q w) x); | change in match or_f_ with (λq,w,x.fun12 ?? (or_f q w) x); @@ -67,8 +83,19 @@ definition BP_to_OBP: carr3 (arrows3 CAT2 (category2_of_category1 BP) OBP). simplify; apply prop12; apply prop22;[2,4,6,8: apply rule #;] - apply (respects_id2 ?? POW (concr o)); - | simplify; intros; whd; split; + apply (respects_id2 ?? POW (concr o)); +qed. + +lemma o_relation_pair_of_relation_pair_morphism_respects_comp: + ∀o1,o2,o3:category2_of_category1 BP. + ∀f1:arrows2 (category2_of_category1 BP) o1 o2. + ∀f2:arrows2 (category2_of_category1 BP) o2 o3. + (eq2 (arrows2 OBP (o_basic_pair_of_basic_pair o1) (o_basic_pair_of_basic_pair o3))) + (o_relation_pair_of_relation_pair_morphism o1 o3 (f2 ∘ f1)) + (comp2 OBP ??? + (o_relation_pair_of_relation_pair_morphism o1 o2 f1) + (o_relation_pair_of_relation_pair_morphism o2 o3 f2)). + simplify; intros; whd; split; [ change in match or_f_minus_star_ with (λq,w,x.fun12 ?? (or_f_minus_star q w) x); | change in match or_f_minus_ with (λq,w,x.fun12 ?? (or_f_minus q w) x); | change in match or_f_ with (λq,w,x.fun12 ?? (or_f q w) x); @@ -76,7 +103,15 @@ definition BP_to_OBP: carr3 (arrows3 CAT2 (category2_of_category1 BP) OBP). simplify; apply prop12; apply prop22;[2,4,6,8: apply rule #;] - apply (respects_comp2 ?? POW (concr o1) (concr o2) (concr o3) f1\sub\c f2\sub\c);] + apply (respects_comp2 ?? POW (concr o1) (concr o2) (concr o3) f1\sub\c f2\sub\c); +qed. + +definition BP_to_OBP: carr3 (arrows3 CAT2 (category2_of_category1 BP) OBP). + constructor 1; + [ apply o_basic_pair_of_basic_pair; + | intros; apply o_relation_pair_of_relation_pair_morphism; + | apply o_relation_pair_of_relation_pair_morphism_respects_id; + | apply o_relation_pair_of_relation_pair_morphism_respects_comp;] qed. theorem BP_to_OBP_faithful: