coercion xxx nocomposites.
lemma down_p : ∀S,I:SET.∀u:S⇒S.∀c:arrows1 SET I S.∀a:I.∀a':I.a=a'→u (c a)=u (c a').
-intros; unfold uncurry_arrows; apply (†(†H));
+intros; unfold uncurry_arrows; change in c with (I ⇒ S);
+apply (†(†H));
qed.
alias symbol "eq" = "setoid eq".
coercion rp''.
-definition prop_1_SET :
- ∀A,B:SET.∀w:arrows1 SET A B.∀a,b:A.eq1 ? a b→eq1 ? (w a) (w b).
-intros; apply (prop_1 A B w a b H);
-qed.
-
-interpretation "SET dagger" 'prop1 h = (prop_1_SET _ _ _ _ _ h).
-
definition convergent_relation_space_composition:
∀o1,o2,o3: concrete_space.
binary_morphism1
intros; constructor 1;
[ intros; whd in c c1 ⊢ %;
constructor 1;
- [ apply (fun1 ??? (comp1 BP ???)); [apply (bp o2) |*: apply rp; assumption]
- | intros;
+ [ apply (c1 ∘ c);
+ | intros;
change in ⊢ (? ? ? % ?) with (c\sub\c⎻ (c1\sub\c⎻ (Ext⎽o3 (b↓c2))));
+ unfold uncurry_arrows;
alias symbol "trans" = "trans1".
apply (.= († (respects_converges : ?)));
- apply (.= (respects_converges : ?));
- apply refl1;
+ apply (respects_converges ?? c (c1\sub\f⎻ b) (c1\sub\f⎻ c2));
| change in ⊢ (? ? ? % ?) with (c\sub\c⎻ (c1\sub\c⎻ (Ext⎽o3 (oa_one (form o3)))));
+ unfold uncurry_arrows;
apply (.= (†(respects_all_covered :?)));
- apply (.= (respects_all_covered :?));
- apply refl1]
+ apply rule (respects_all_covered ?? c);]
| intros;
change with (b ∘ a = b' ∘ a');
change in H with (rp'' ?? a = rp'' ?? a');
| apply convergent_relation_space_setoid
| intro; constructor 1;
[ apply id1
- | intros;
- unfold id; simplify;
- apply (.= (equalset_extS_id_X_X ??));
- apply (.= (†((equalset_extS_id_X_X ??)\sup -1‡
- (equalset_extS_id_X_X ??)\sup -1)));
- apply refl1;
- | apply (.= (equalset_extS_id_X_X ??));
- apply refl1]
+ | intros; apply refl1;
+ | apply refl1]
| apply convergent_relation_space_composition
| intros; simplify;
change with (a34 ∘ (a23 ∘ a12) = (a34 ∘ a23) ∘ a12);
- apply (.= ASSOC1);
- apply refl1
+ apply ASSOC1;
| intros; simplify;
change with (a ∘ id1 ? o1 = a);
- apply (.= id_neutral_right1 ????);
- apply refl1
+ apply (id_neutral_right1 : ?);
| intros; simplify;
change with (id1 ? o2 ∘ a = a);
- apply (.= id_neutral_left1 ????);
- apply refl1]
+ apply (id_neutral_left1 : ?);]
qed.