record basic_topology: Type ≝
{ carrbt:> OA;
- A: arrows1 SET (oa_P carrbt) (oa_P carrbt);
- J: arrows1 SET (oa_P carrbt) (oa_P carrbt);
+ A: carrbt ⇒ carrbt;
+ J: carrbt ⇒ carrbt;
A_is_saturation: is_saturation ? A;
J_is_reduction: is_reduction ? J;
compatibility: ∀U,V. (A U >< J V) = (U >< J V)
}.
+lemma hint: OA → objs2 OA.
+ intro; apply t;
+qed.
+coercion hint.
+
record continuous_relation (S,T: basic_topology) : Type ≝
- { cont_rel:> arrows1 ? S T;
+ { cont_rel:> arrows2 OA S T;
(* reduces uses eq1, saturated uses eq!!! *)
reduced: ∀U. U = J ? U → cont_rel U = J ? (cont_rel U);
saturated: ∀U. U = A ? U → cont_rel⎻* U = A ? (cont_rel⎻* U)
}.
-definition continuous_relation_setoid: basic_topology → basic_topology → setoid1.
+definition continuous_relation_setoid: basic_topology → basic_topology → setoid2.
intros (S T); constructor 1;
[ apply (continuous_relation S T)
| constructor 1;
[ (*apply (λr,s:continuous_relation S T.∀b. eq1 (oa_P (carrbt S)) (A ? (r⎻ b)) (A ? (s⎻ b)));*)
apply (λr,s:continuous_relation S T.r⎻* ∘ (A S) = s⎻* ∘ (A ?));
- | simplify; intros; apply refl1;
- | simplify; intros; apply sym1; apply H
- | simplify; intros; apply trans1; [2: apply H |3: apply H1; |1: skip]]]
+ | simplify; intros; apply refl2;
+ | simplify; intros; apply sym2; apply e
+ | simplify; intros; apply trans2; [2: apply e |3: apply e1; |1: skip]]]
qed.
+(*
definition cont_rel': ∀S,T: basic_topology. continuous_relation_setoid S T → arrows1 ? S T ≝ cont_rel.
coercion cont_rel'.
qed.
coercion cont_rel''.
+*)
+
(*
theorem continuous_relation_eq':
∀o1,o2.∀a,a': continuous_relation_setoid o1 o2.