]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/software/matita/contribs/formal_topology/overlap/subsets.ma
Sambin's result holds trivially since most of the fields of the objects of
[helm.git] / helm / software / matita / contribs / formal_topology / overlap / subsets.ma
index 6351fead91eca85d504ca36b96a93d70a4153db2..e6d1872166143e9f891ee27e89305a8cc0d5c658 100644 (file)
@@ -90,10 +90,10 @@ definition overlaps: ∀A. binary_morphism1 (Ω \sup A) (Ω \sup A) CPROP.
   [ apply (λA:objs1 SET.λU,V:Ω \sup A.(exT2 ? (λx:A.?(*x*) ∈ U) (λx:A.?(*x*) ∈ V) : CProp0))
   | intros;
     constructor 1; intro; cases e2; exists; [1,4: apply w]
-     [ apply (. #‡e); assumption
-     | apply (. #‡e1); assumption
-     | apply (. #‡(e \sup -1)); assumption;
-     | apply (. #‡(e1 \sup -1)); assumption]]
+     [ apply (. #‡e^-1); assumption
+     | apply (. #‡e1^-1); assumption
+     | apply (. #‡e); assumption;
+     | apply (. #‡e1); assumption]]
 qed.
 
 interpretation "overlaps" 'overlaps U V = (fun21 ___ (overlaps _) U V).
@@ -106,8 +106,8 @@ definition intersects:
     intros; simplify; apply (.= (e‡#)‡(e‡#)); apply refl1;
   | intros;
     split; intros 2; simplify in f ⊢ %;
-    [ apply (. (#‡e)‡(#‡e1)); assumption
-    | apply (. (#‡(e \sup -1))‡(#‡(e1 \sup -1))); assumption]]
+    [ apply (. (#‡e^-1)‡(#‡e1^-1)); assumption
+    | apply (. (#‡e)‡(#‡e1)); assumption]]
 qed.
 
 interpretation "intersects" 'intersects U V = (fun21 ___ (intersects _) U V).
@@ -120,8 +120,8 @@ definition union:
     intros; simplify; apply (.= (e‡#)‡(e‡#)); apply refl1
   | intros;
     split; intros 2; simplify in f ⊢ %;
-    [ apply (. (#‡e)‡(#‡e1)); assumption
-    | apply (. (#‡(e \sup -1))‡(#‡(e1 \sup -1))); assumption]]
+    [ apply (. (#‡e^-1)‡(#‡e1^-1)); assumption
+    | apply (. (#‡e)‡(#‡e1)); assumption]]
 qed.
 
 interpretation "union" 'union U V = (fun21 ___ (union _) U V).
@@ -145,71 +145,23 @@ definition big_intersects:
  ∀A:SET.∀I:SET.unary_morphism2 (setoid1_of_setoid I ⇒ Ω \sup A) (setoid2_of_setoid1 (Ω \sup A)).
  intros; constructor 1;
   [ intro; whd; whd in I;
-    apply ({x | ∀i:I. x ∈ t i});
-    simplify; intros; split; intros; [ apply (. (e‡#)); | apply (. (e \sup -1‡#)); ]
+    apply ({x | ∀i:I. x ∈ c i});
+    simplify; intros; split; intros; [ apply (. (e^-1‡#)); | apply (. e‡#); ]
     apply f;
   | intros; split; intros 2; simplify in f ⊢ %; intro;
-     [ apply (. (#‡(e i))); apply f;
-     | apply (. (#‡(e i)\sup -1)); apply f]]
+     [ apply (. (#‡(e i)^-1)); apply f;
+     | apply (. (#‡e i)); apply f]]
 qed.
 
-(* senza questo exT "fresco", universe inconsistency *)
-inductive exT (A:Type0) (P:A→CProp0) : CProp0 ≝
-  ex_introT: ∀w:A. P w → exT A P.
-
 definition big_union:
  ∀A:SET.∀I:SET.unary_morphism2 (setoid1_of_setoid I ⇒ Ω \sup A) (setoid2_of_setoid1 (Ω \sup A)).
  intros; constructor 1;
   [ intro; whd; whd in A; whd in I;
-    apply ({x | (*∃i:carr I. x ∈ t i*) exT (carr I) (λi. x ∈ t i)});
+    apply ({x | ∃i:I. x ∈ c i });
     simplify; intros; split; intros; cases e1; clear e1; exists; [1,3:apply w]
-    [ apply (. (e‡#)); | apply (. (e \sup -1‡#)); ]
+    [ apply (. (e^-1‡#)); | apply (. (e‡#)); ]
     apply x;
   | intros; split; intros 2; simplify in f ⊢ %; cases f; clear f; exists; [1,3:apply w]
-     [ apply (. (#‡(e w))); apply x;
-     | apply (. (#‡(e w)\sup -1)); apply x]]
-qed.
-
-(* incluso prima non funziona piu' nulla *)
-include "o-algebra.ma".
-
-definition SUBSETS: objs1 SET → OAlgebra.
- intro A; constructor 1;
-  [ apply (Ω \sup A);
-  | apply subseteq;
-  | apply overlaps;
-  | apply big_intersects;
-  | apply big_union;
-  | apply ({x | True});
-    simplify; intros; apply (refl1 ? (eq1 CPROP));
-  | apply ({x | False});
-    simplify; intros; apply (refl1 ? (eq1 CPROP));
-  | intros; whd; intros; assumption
-  | intros; whd; split; assumption
-  | intros; apply transitive_subseteq_operator; [2: apply f; | skip | assumption]
-  | intros; cases f; exists [apply w] assumption
-  | intros; intros 2; apply (f ? f1 i);
-  | intros; intros 2; apply f;
-    (* senza questa change, universe inconsistency *)
-    whd; change in ⊢ (? ? (λ_:%.?)) with (carr I);
-    exists; [apply i] assumption;
-  | intros 3; cases f;
-  | intros 3; constructor 1;
-  | intros; cases f; exists; [apply w]
-     [ assumption
-     | whd; intros; cases i; simplify; assumption]
-  | intros; split; intro;
-     [ cases f; cases x1;
-       (* senza questa change, universe inconsistency *)
-       change in ⊢ (? ? (λ_:%.?)) with (carr I);
-       exists [apply w1] exists [apply w] assumption;
-     | cases e; cases x; exists; [apply w1]
-        [ assumption
-        | (* senza questa change, universe inconsistency *)
-          whd; change in ⊢ (? ? (λ_:%.?)) with (carr I);
-          exists; [apply w] assumption]]
-  | intros; intros 2; cases (f (singleton ? a) ?);
-     [ exists; [apply a] [assumption | change with (a = a); apply refl1;]
-     | change in x1 with (a = w); change with (mem A a q); apply (. (x1 \sup -1‡#));
-       assumption]]
+     [ apply (. (#‡(e w)^-1)); apply x;
+     | apply (. (#‡e w)); apply x]]
 qed.