interpretation "concrete relation" 'concr_rel r = (concr_rel __ r).
interpretation "formal relation" 'form_rel r = (form_rel __ r).
-include "o-basic_pairs.ma".
-(* Qui, per fare le cose per bene, ci serve la nozione di funtore categorico *)
-definition o_basic_pair_of_basic_pair: cic:/matita/formal_topology/basic_pairs/basic_pair.ind#xpointer(1/1) → basic_pair.
- intro;
- constructor 1;
- [ apply (SUBSETS (concr b));
- | apply (SUBSETS (form b));
- | apply (orelation_of_relation ?? (rel b)); ]
-qed.
-
-definition o_relation_pair_of_relation_pair:
- ∀BP1,BP2.cic:/matita/formal_topology/basic_pairs/relation_pair.ind#xpointer(1/1) BP1 BP2 →
- relation_pair (o_basic_pair_of_basic_pair BP1) (o_basic_pair_of_basic_pair BP2).
- intros;
- constructor 1;
- [ apply (orelation_of_relation ?? (r \sub \c));
- | apply (orelation_of_relation ?? (r \sub \f));
- |
- ]
-qed.
-
definition relation_pair_equality:
∀o1,o2. equivalence_relation1 (relation_pair o1 o2).
intros;
| apply (r1 \sub\f ∘ r \sub\f)
| lapply (commute ?? r) as H;
lapply (commute ?? r1) as H1;
- apply (.= ASSOC1);
+ alias symbol "trans" = "trans1".
+ alias symbol "assoc" = "category1 assoc".
+ apply (.= ASSOC);
apply (.= #‡H1);
- apply (.= ASSOC1\sup -1);
+ alias symbol "invert" = "setoid1 symmetry".
+ apply (.= ASSOC ^ -1);
apply (.= H‡#);
- apply ASSOC1]
+ apply ASSOC]
| intros;
change with (⊩ ∘ (b\sub\c ∘ a\sub\c) = ⊩ ∘ (b'\sub\c ∘ a'\sub\c));
- change in H with (⊩ ∘ a \sub\c = ⊩ ∘ a' \sub\c);
- change in H1 with (⊩ ∘ b \sub\c = ⊩ ∘ b' \sub\c);
- apply (.= ASSOC1);
- apply (.= #‡H1);
+ change in e with (⊩ ∘ a \sub\c = ⊩ ∘ a' \sub\c);
+ change in e1 with (⊩ ∘ b \sub\c = ⊩ ∘ b' \sub\c);
+ apply (.= ASSOC);
+ apply (.= #‡e1);
apply (.= #‡(commute ?? b'));
- apply (.= ASSOC1 \sup -1);
- apply (.= H‡#);
- apply (.= ASSOC1);
+ apply (.= ASSOC ^ -1);
+ apply (.= e‡#);
+ apply (.= ASSOC);
apply (.= #‡(commute ?? b')\sup -1);
- apply (ASSOC1 \sup -1)]
+ apply (ASSOC ^ -1)]
qed.
definition BP: category1.
| intros;
change with (⊩ ∘ (a34\sub\c ∘ (a23\sub\c ∘ a12\sub\c)) =
⊩ ∘ ((a34\sub\c ∘ a23\sub\c) ∘ a12\sub\c));
- apply (ASSOC1‡#);
+ alias symbol "refl" = "refl1".
+ alias symbol "prop2" = "prop21".
+ apply (ASSOC‡#);
| intros;
change with (⊩ ∘ (a\sub\c ∘ (id_relation_pair o1)\sub\c) = ⊩ ∘ a\sub\c);
apply ((id_neutral_right1 ????)‡#);
apply ((id_neutral_left1 ????)‡#);]
qed.
+(*
definition BPext: ∀o: BP. form o ⇒ Ω \sup (concr o).
intros; constructor 1;
[ apply (ext ? ? (rel o));
interpretation "basic pair relation for subsets" 'Vdash2 x y = (fun1 (concr _) __ (relS _) x y).
interpretation "basic pair relation for subsets (non applied)" 'Vdash = (fun1 ___ (relS _)).
+*)
+
+include "o-basic_pairs.ma".
+(* Qui, per fare le cose per bene, ci serve la nozione di funtore categorico *)
+definition o_basic_pair_of_basic_pair: cic:/matita/formal_topology/basic_pairs/basic_pair.ind#xpointer(1/1) → basic_pair.
+ intro;
+ constructor 1;
+ [ apply (SUBSETS (concr b));
+ | apply (SUBSETS (form b));
+ | apply (orelation_of_relation ?? (rel b)); ]
+qed.
+
+definition o_relation_pair_of_relation_pair:
+ ∀BP1,BP2.cic:/matita/formal_topology/basic_pairs/relation_pair.ind#xpointer(1/1) BP1 BP2 →
+ relation_pair (o_basic_pair_of_basic_pair BP1) (o_basic_pair_of_basic_pair BP2).
+ intros;
+ constructor 1;
+ [ apply (orelation_of_relation ?? (r \sub \c));
+ | apply (orelation_of_relation ?? (r \sub \f));
+ |
+ ]
+qed.
\ No newline at end of file