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 "basic_pairs.ma".
16 include "o-basic_pairs.ma".
17 include "relations_to_o-algebra.ma".
19 (* Qui, per fare le cose per bene, ci serve la nozione di funtore categorico *)
20 definition o_basic_pair_of_basic_pair: cic:/matita/formal_topology/basic_pairs/basic_pair.ind#xpointer(1/1) → basic_pair.
23 [ apply (SUBSETS (concr b));
24 | apply (SUBSETS (form b));
25 | apply (orelation_of_relation ?? (rel b)); ]
28 definition o_relation_pair_of_relation_pair:
29 ∀BP1,BP2.cic:/matita/formal_topology/basic_pairs/relation_pair.ind#xpointer(1/1) BP1 BP2 →
30 relation_pair (o_basic_pair_of_basic_pair BP1) (o_basic_pair_of_basic_pair BP2).
33 [ apply (orelation_of_relation ?? (r \sub \c));
34 | apply (orelation_of_relation ?? (r \sub \f));
35 | lapply (commute ?? r);
36 lapply (orelation_of_relation_preserves_equality ???? Hletin);
37 apply (.= (orelation_of_relation_preserves_composition (concr BP1) ??? (rel BP2)) ^ -1);
38 apply (.= (orelation_of_relation_preserves_equality ???? (commute ?? r)));
39 apply (orelation_of_relation_preserves_composition ?? (form BP2) (rel BP1) ?); ]
43 definition BP_to_OBP: carr3 (arrows3 CAT2 (category2_of_category1 cic:/matita/formal_topology/basic_pairs/BP.con) BP).
45 [ apply o_basic_pair_of_basic_pair;
46 | intros; constructor 1;
47 [ apply (o_relation_pair_of_relation_pair S T);
48 | intros; split; unfold o_relation_pair_of_relation_pair; simplify;
49 unfold o_basic_pair_of_basic_pair; simplify; ]
50 | simplify; intros; whd; split; unfold o_relation_pair_of_relation_pair; simplify;
51 unfold o_basic_pair_of_basic_pair;
52 simplify in ⊢ (? ? ? (? % ? ?) ?);
53 simplify in ⊢ (? ? ? (? ? % ?) ?);
54 simplify in ⊢ (? ? ? ? (? % ? ?));
55 simplify in ⊢ (? ? ? ? (? ? % ?));
56 | simplify; intros; whd; split;unfold o_relation_pair_of_relation_pair; simplify;
57 unfold o_basic_pair_of_basic_pair;simplify;