1 (**************************************************************************)
4 (* ||A|| A project by Andrea Asperti *)
6 (* ||I|| Developers: *)
7 (* ||T|| The HELM team. *)
8 (* ||A|| http://helm.cs.unibo.it *)
10 (* \ / This file is distributed under the terms of the *)
11 (* v GNU General Public License Version 2 *)
13 (**************************************************************************)
15 include "formal_topology/basic_topologies.ma".
16 include "formal_topology/o-basic_topologies.ma".
17 include "formal_topology/relations_to_o-algebra.ma".
19 definition o_basic_topology_of_basic_topology: basic_topology → Obasic_topology.
20 intros (b); constructor 1;
21 [ apply (POW' b) | apply (A b) | apply (J b);
22 | apply (A_is_saturation b) | apply (J_is_reduction b) | apply (compatibility b) ]
25 definition o_continuous_relation_of_continuous_relation:
26 ∀BT1,BT2.continuous_relation BT1 BT2 →
27 Ocontinuous_relation (o_basic_topology_of_basic_topology BT1) (o_basic_topology_of_basic_topology BT2).
28 intros (BT1 BT2 c); constructor 1;
29 [ apply (orelation_of_relation ?? c) | apply (reduced ?? c) | apply (saturated ?? c) ]
34 lemma o_continuous_relation_of_continuous_relation_morphism :
35 ∀S,T:category2_of_category1 BTop.
36 unary_morphism2 (arrows2 (category2_of_category1 BTop) S T)
37 (arrows2 OBTop (o_basic_topology_of_basic_topology S) (o_basic_topology_of_basic_topology T)).
40 [ apply (o_continuous_relation_of_continuous_relation S T);
41 | cases daemon (*apply (o_relation_pair_of_relation_pair_is_morphism S T)*)]
44 definition BTop_to_OBTop: carr3 ((category2_of_category1 BTop) ⇒_\c3 OBTop).
46 [ apply o_basic_topology_of_basic_topology;
47 | intros; apply o_continuous_relation_of_continuous_relation_morphism;
48 | cases daemon (*apply o_relation_topology_of_relation_topology_morphism_respects_id*);
49 | cases daemon (*apply o_relation_topology_of_relation_topology_morphism_respects_comp*);]
52 theorem BTop_to_OBTop_faithful: faithful2 ?? BTop_to_OBTop.
53 intros 5; apply (continuous_relation_eq_inv' o1 o2 f g); apply e;
56 include "formal_topology/notation.ma".
58 theorem BTop_to_OBTop_full: full2 ?? BTop_to_OBTop.
60 cases (POW_full (carrbt S) (carrbt T) (Ocont_rel ?? f)) (g Hg);
65 | unfold image_coercion; cases daemon (*apply hide; intros; lapply (Oreduced ?? f ? e); unfold image_coercion;
66 cases Hg; lapply (e3 U) as K; apply (.= K);
67 apply (.= Hletin); apply rule (†(K^-1)); *)
68 | cases daemon (* apply hide; intros; lapply (Osaturated ?? f ? e);
69 cases Hg; lapply (e1 U) as K; apply (.= K);
70 apply (.= Hletin); apply rule (†(K^-1)); *)
72 | simplify; unfold BTop_to_OBTop; simplify;
73 cases Hg; unfold o_continuous_relation_of_continuous_relation_morphism;
75 change with ((orelation_of_relation ?? g)⎻* ∘ oA (o_basic_topology_of_basic_topology S) =
76 f⎻* ∘ oA (o_basic_topology_of_basic_topology S));
79 change with (g⎻* ∘ oA (o_basic_topology_of_basic_topology S) =
80 f⎻* ∘ oA (o_basic_topology_of_basic_topology S));
83 apply trans2; [2: apply sym2; [2: apply Hg;
85 whd in ⊢ (?(??%%)???);
87 unfold o_continuous_relation_of_continuous_relation_morphism; simplify;
89 unfold image_coercion; cases Hg; whd; simplify; intro; simplify;