include "formal_topology/basic_pairs.ma".
-record concrete_space : Type ≝
+(* carr1 e' necessario perche' ci sega via la coercion per gli oggetti di REL!
+ (confondendola con la coercion per gli oggetti di SET
+record concrete_space : Type1 ≝
{ bp:> BP;
- converges: ∀a: concr bp.∀U,V: form bp. a ⊩ U → a ⊩ V → a ⊩ (U ↓ V);
- all_covered: ∀x: concr bp. x ⊩ form bp
+ converges: ∀a: carr1 (concr bp).∀U,V: carr1 (form bp). a ⊩ U → a ⊩ V → a ⊩ (U ↓ V);
+ all_covered: ∀x: carr1 (concr bp). x ⊩ form bp
}.
-definition bp': concrete_space → basic_pair ≝ λc.bp c.
-
-coercion bp'.
-
-record convergent_relation_pair (CS1,CS2: concrete_space) : Type ≝
+record convergent_relation_pair (CS1,CS2: concrete_space) : Type1 ≝
{ rp:> arrows1 ? CS1 CS2;
respects_converges:
∀b,c.
- extS ?? rp \sub\c (BPextS CS2 (b ↓ c)) =
- BPextS CS1 ((extS ?? rp \sub\f b) ↓ (extS ?? rp \sub\f c));
+ minus_image ?? rp \sub\c (BPextS CS2 (b ↓ c)) =
+ BPextS CS1 ((minus_image ?? rp \sub\f b) ↓ (minus_image ?? rp \sub\f c));
respects_all_covered:
- extS ?? rp\sub\c (BPextS CS2 (form CS2)) = BPextS CS1 (form CS1)
+ minus_image ?? rp\sub\c (BPextS CS2 (full_subset (form CS2))) = BPextS CS1 (full_subset (form CS1))
}.
-definition rp' : ∀CS1,CS2. convergent_relation_pair CS1 CS2 → relation_pair CS1 CS2 ≝
- λCS1,CS2,c. rp CS1 CS2 c.
-
-coercion rp'.
-
definition convergent_relation_space_setoid: concrete_space → concrete_space → setoid1.
intros;
constructor 1;
| intros 3; apply trans1]]
qed.
-definition rp'': ∀CS1,CS2.convergent_relation_space_setoid CS1 CS2 → arrows1 BP CS1 CS2 ≝
- λCS1,CS2,c.rp ?? c.
-
-coercion rp''.
-
definition convergent_relation_space_composition:
∀o1,o2,o3: concrete_space.
binary_morphism1
constructor 1;
[ apply (fun1 ??? (comp1 BP ???)); [apply (bp o2) |*: apply rp; assumption]
| intros;
- change in ⊢ (? ? ? (? ? ? (? ? ? %) ?) ?) with (c \sub \c ∘ c1 \sub \c);
+ change in ⊢ (? ? ? (? ? ? (? ? ? %) ?) ?) with (c1 \sub \c ∘ c \sub \c);
change in ⊢ (? ? ? ? (? ? ? ? (? ? ? ? ? (? ? ? (? ? ? %) ?) ?)))
- with (c \sub \f ∘ c1 \sub \f);
+ with (c1 \sub \f ∘ c \sub \f);
change in ⊢ (? ? ? ? (? ? ? ? (? ? ? ? ? ? (? ? ? (? ? ? %) ?))))
- with (c \sub \f ∘ c1 \sub \f);
+ with (c1 \sub \f ∘ c \sub \f);
apply (.= (extS_com ??????));
apply (.= (†(respects_converges ?????)));
apply (.= (respects_converges ?????));
apply (.= (†(((extS_com ??????) \sup -1)‡(extS_com ??????)\sup -1)));
apply refl1;
- | change in ⊢ (? ? ? (? ? ? (? ? ? %) ?) ?) with (c \sub \c ∘ c1 \sub \c);
+ | change in ⊢ (? ? ? (? ? ? (? ? ? %) ?) ?) with (c1 \sub \c ∘ c \sub \c);
apply (.= (extS_com ??????));
apply (.= (†(respects_all_covered ???)));
apply (.= respects_all_covered ???);
apply refl1]
| intros;
- change with (a ∘ b = a' ∘ b');
+ change with (b ∘ a = b' ∘ a');
change in H with (rp'' ?? a = rp'' ?? a');
change in H1 with (rp'' ?? b = rp ?? b');
apply (.= (H‡H1));
apply refl1]
| apply convergent_relation_space_composition
| intros; simplify;
- change with ((a12 ∘ a23) ∘ a34 = a12 ∘ (a23 ∘ a34));
+ change with (a34 ∘ (a23 ∘ a12) = (a34 ∘ a23) ∘ a12);
apply (.= ASSOC1);
apply refl1
| intros; simplify;
- change with (id1 ? o1 ∘ a = a);
- apply (.= id_neutral_left1 ????);
+ change with (a ∘ id1 ? o1 = a);
+ apply (.= id_neutral_right1 ????);
apply refl1
| intros; simplify;
- change with (a ∘ id1 ? o2 = a);
- apply (.= id_neutral_right1 ????);
+ change with (id1 ? o2 ∘ a = a);
+ apply (.= id_neutral_left1 ????);
apply refl1]
qed.
+*)
\ No newline at end of file