clear Hletin Hletin1; cases Hletin2; whd in x2;
qed.
*)
-lemma curry: ∀A,B,C.binary_morphism1 A B C → A → B ⇒ C.
+lemma curry: ∀A,B,C.(A × B ⇒_1 C) → A → (B ⇒_1 C).
intros;
constructor 1;
[ apply (b c);
notation < "F x" left associative with precedence 60 for @{'map_arrows $F $x}.
interpretation "map arrows 2" 'map_arrows F x = (fun12 ? ? (map_arrows2 ? ? F ? ?) x).
-definition preserve_sup : ∀S,T.∀ f:Ω \sup S ⇒ Ω \sup T. CProp1.
-intros (S T f); apply (∀X:Ω \sup S. (f X) = ?);
+definition preserve_sup : ∀S,T.∀ f:Ω^S ⇒_1 Ω^T. CProp1.
+intros (S T f); apply (∀X:Ω \sup S. (f X) =_1 ?);
constructor 1; constructor 1;
[ intro y; alias symbol "singl" = "singleton". alias symbol "and" = "and_morphism".
apply (∃x:S. x ∈ X ∧ y ∈ f {(x)});