]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/software/matita/contribs/formal_topology/overlap/o-basic_topologies.ma
unary_morphism_N : seoidN -> setoidN -> setoidN (was ... -> setoidN+1)
[helm.git] / helm / software / matita / contribs / formal_topology / overlap / o-basic_topologies.ma
index 640a936ee21a194e1cd35a291ebce95dd2870d15..873a9df60988a632084b8c6f24e9c2b00b619590 100644 (file)
 include "o-algebra.ma".
 include "o-saturations.ma".
 
-record basic_topology: Type ≝
+record basic_topology: Type2 ≝
  { carrbt:> OA;
    A: carrbt ⇒ carrbt;
    J: carrbt ⇒ carrbt;
-   A_is_saturation: is_saturation ? A;
-   J_is_reduction: is_reduction ? J;
+   A_is_saturation: is_o_saturation ? A;
+   J_is_reduction: is_o_reduction ? J;
    compatibility: ∀U,V. (A U >< J V) = (U >< J V)
  }.
 
@@ -29,7 +29,7 @@ lemma hint: OA → objs2 OA.
 qed.
 coercion hint.
 
-record continuous_relation (S,T: basic_topology) : Type ≝
+record continuous_relation (S,T: basic_topology) : Type2 ≝
  { cont_rel:> arrows2 OA S T;
    (* reduces uses eq1, saturated uses eq!!! *)
    reduced: ∀U. U = J ? U → cont_rel U = J ? (cont_rel U);
@@ -108,7 +108,6 @@ theorem continuous_relation_eq_inv':
 qed.
 *)
 
-axiom daemon: False.
 definition continuous_relation_comp:
  ∀o1,o2,o3.
   continuous_relation_setoid o1 o2 →
@@ -135,11 +134,6 @@ definition continuous_relation_comp:
      | apply refl1]]
 qed.
 
-lemma hintx: ∀S,T. (S ⇒ T) → unary_morphism1 S T.
- intros; apply t;
-qed.
-coercion hintx.
-
 definition BTop: category2.
  constructor 1;
   [ apply basic_topology
@@ -160,16 +154,19 @@ definition BTop: category2.
        change with (b⎻* (a'⎻* (A o1 x)) = b'⎻*(a'⎻* (A o1 x)));
        alias symbol "trans" = "trans1".
        alias symbol "prop1" = "prop11".
-       apply (.= †(saturated o1 o2 a' (A o1 x) : ?));
-        [ apply ((saturation_idempotent ?? (A_is_saturation o1) x)^-1); ]
+       alias symbol "invert" = "setoid1 symmetry".
+       lapply (.= †(saturated o1 o2 a' (A o1 x) : ?));
+        [3: apply (b⎻* ); | 5: apply Hletin; |1,2: skip;
+        |apply ((o_saturation_idempotent ?? (A_is_saturation o1) x)^-1); ]
        change in e1 with (∀x.b⎻* (A o2 x) = b'⎻* (A o2 x));
        apply (.= (e1 (a'⎻* (A o1 x))));
        alias symbol "invert" = "setoid1 symmetry".
-       apply (†((saturated ?? a' (A o1 x) : ?) ^ -1));
-       apply ((saturation_idempotent ?? (A_is_saturation o1) x)^-1);]
+       lapply (†((saturated ?? a' (A o1 x) : ?) ^ -1));
+        [2: apply (b'⎻* ); |4: apply Hletin; | skip;
+        |apply ((o_saturation_idempotent ?? (A_is_saturation o1) x)^-1);]]
   | intros; simplify;
     change with (((a34⎻* ∘ a23⎻* ) ∘ a12⎻* ) ∘ A o1 = ((a34⎻* ∘ (a23⎻* ∘ a12⎻* )) ∘ A o1));
-    apply rule (#‡ASSOC1\sup -1);
+    apply rule (#‡ASSOC ^ -1);
   | intros; simplify;
     change with ((a⎻* ∘ (id2 ? o1)⎻* ) ∘ A o1 = a⎻* ∘ A o1);
     apply (#‡(id_neutral_right2 : ?));
@@ -178,6 +175,9 @@ definition BTop: category2.
     apply (#‡(id_neutral_left2 : ?));]
 qed.
 
+definition btop_carr: BTop → Type1 ≝ λo:BTop. carr1 (oa_P (carrbt o)).
+coercion btop_carr.
+
 (*
 (*CSC: unused! *)
 (* this proof is more logic-oriented than set/lattice oriented *)
@@ -203,4 +203,4 @@ theorem continuous_relation_eqS:
   [2,4: intros; apply saturation_monotone; try (apply A_is_saturation); apply Hcut;]
  apply Hcut2; assumption.
 qed.
-*)
\ No newline at end of file
+*)