]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/software/matita/contribs/formal_topology/overlap/basic_pairs_to_o-basic_pairs.ma
Towards fullness.
[helm.git] / helm / software / matita / contribs / formal_topology / overlap / basic_pairs_to_o-basic_pairs.ma
index 7dbd3a80ae6bd0c9bbe9b6c687e9404dda6420d8..d8813fdc1b1154c37458065c9f548d4ddddb3fea 100644 (file)
@@ -20,9 +20,9 @@ include "relations_to_o-algebra.ma".
 definition o_basic_pair_of_basic_pair: basic_pair → Obasic_pair.
  intro b;
  constructor 1;
-  [ apply (map_objs2 ?? SUBSETS' (concr b));
-  | apply (map_objs2 ?? SUBSETS' (form b));
-  | apply (map_arrows2 ?? SUBSETS' (concr b) (form b) (rel b)); ]
+  [ apply (map_objs2 ?? POW (concr b));
+  | apply (map_objs2 ?? POW (form b));
+  | apply (map_arrows2 ?? POW (concr b) (form b) (rel b)); ]
 qed.
 
 definition o_relation_pair_of_relation_pair:
@@ -30,12 +30,12 @@ definition o_relation_pair_of_relation_pair:
   Orelation_pair (o_basic_pair_of_basic_pair BP1) (o_basic_pair_of_basic_pair BP2).
  intros;
  constructor 1;
-  [ apply (map_arrows2 ?? SUBSETS' (concr BP1) (concr BP2) (r \sub \c));
-  | apply (map_arrows2 ?? SUBSETS' (form BP1) (form BP2) (r \sub \f));
-  | apply (.= (respects_comp2 ?? SUBSETS' (concr BP1) (concr BP2) (form BP2)  r\sub\c (⊩\sub BP2) )^-1);
-    cut (⊩ \sub BP2∘r \sub \c = r\sub\f ∘ ⊩ \sub BP1) as H;
+  [ apply (map_arrows2 ?? POW (concr BP1) (concr BP2) (r \sub \c));
+  | apply (map_arrows2 ?? POW (form BP1) (form BP2) (r \sub \f));
+  | apply (.= (respects_comp2 ?? POW (concr BP1) (concr BP2) (form BP2)  r\sub\c (⊩\sub BP2) )^-1);
+    cut ( ⊩ \sub BP2 ∘ r \sub \c =_12 r\sub\f ∘ ⊩ \sub BP1) as H;
     [ apply (.= †H);
-      apply (respects_comp2 ?? SUBSETS' (concr BP1) (form BP1) (form BP2) (⊩\sub BP1) r\sub\f);
+      apply (respects_comp2 ?? POW (concr BP1) (form BP1) (form BP2) (⊩\sub BP1) r\sub\f);
     | apply commute;]]
 qed.
 
@@ -52,9 +52,9 @@ definition BP_to_OBP: carr3 (arrows3 CAT2 (category2_of_category1 BP) OBP).
        | change in match or_f_star_ with (λq,w,x.fun12 ?? (or_f_star q w) x);]
        simplify;
        apply (prop12);
-       apply (.= (respects_comp2 ?? SUBSETS' (concr S) (concr T) (form T) (a\sub\c) (⊩\sub T))^-1);
+       apply (.= (respects_comp2 ?? POW (concr S) (concr T) (form T) (a\sub\c) (⊩\sub T))^-1);
        apply sym2;
-       apply (.= (respects_comp2 ?? SUBSETS' (concr S) (concr T) (form T) (b\sub\c) (⊩\sub T))^-1);
+       apply (.= (respects_comp2 ?? POW (concr S) (concr T) (form T) (b\sub\c) (⊩\sub T))^-1);
        apply sym2;
        apply prop12;
        apply Eab;
@@ -67,7 +67,7 @@ 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 ?? SUBSETS' (concr o)); 
+    apply (respects_id2 ?? POW (concr 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);
@@ -76,26 +76,37 @@ 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 ?? SUBSETS' (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.
 
-
-(*
 theorem BP_to_OBP_faithful:
  ∀S,T.∀f,g:arrows2 (category2_of_category1 BP) S T.
   map_arrows2 ?? BP_to_OBP ?? f = map_arrows2 ?? BP_to_OBP ?? g → f=g.
- intros; unfold BP_to_OBP in e; simplify in e; cases e;
unfold orelation_of_relation in e3; simplify in e3; clear e e1 e2 e4;
intros 2; change in match or_f_ in e3 with (λq,w,x.fun12 ?? (or_f q w) x);
simplify in e3; STOP lapply (e3 (singleton ? x)); cases Hletin;
- split; intro; [ lapply (s y); | lapply (s1 y); ]
-  [2,4: exists; [1,3:apply x] split; [1,3: assumption |*: change with (x=x); apply rule #]
-  |*: cases Hletin1; cases x1; change in f3 with (eq1 ? x w); apply (. f3‡#); assumption;]
+ intros; change with ( (⊩) ∘ f \sub \c = (⊩) ∘ g \sub \c);
apply (POW_faithful);
apply (.= respects_comp2 ?? POW (concr S) (concr T) (form T) f \sub \c (⊩ \sub T));
apply sym2;
+ apply (.= respects_comp2 ?? POW (concr S) (concr T) (form T) g \sub \c (⊩ \sub T));
+ apply sym2;
+ apply e;
 qed.
-*)
 
-(*
-theorem SUBSETS_full: ∀S,T.∀f. exT22 ? (λg. map_arrows2 ?? BP_to_OBP S T g = f).
- intros; exists;
-*)
\ No newline at end of file
+theorem BP_to_OBP_full: ∀S,T.∀f. exT22 ? (λg. map_arrows2 ?? BP_to_OBP S T g = f).
+ intros; 
+ cases (POW_full (concr S) (concr T) (Oconcr_rel ?? f)) (gc Hgc);
+ cases (POW_full (form S) (form T) (Oform_rel ?? f)) (gf Hgf);
+ exists[
+   constructor 1; [apply gc|apply gf]
+   apply (POW_faithful);
+   apply (let xxxx ≝POW in .= respects_comp2 ?? POW (concr S) (concr T) (form T) gc (rel T));
+   apply rule (.= Hgc‡#);
+   apply (.= Ocommute ?? f);
+   apply (.= #‡Hgf^-1);
+   apply (let xxxx ≝POW in (respects_comp2 ?? POW (concr S) (form S) (form T) (rel S) gf)^-1)]
+ 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);
+  | change in match or_f_star_ with (λq,w,x.fun12 ?? (or_f_star q w) x);]
+ simplify; apply (†(Hgc‡#));
+qed.