Module CpoDef.
#[local] Existing Instance pi_isProset.
Notation "`[ A -> B ]" := { f : A -> B | isContinuous f }.
Variant isDirected {D : Type} `{PROSET : isProset D} (X : ensemble D) : Prop :=
| isDirected_intro
(NONEMPTY : exists x0, x0 \in X)
(DIRECTED' : forall x1, forall x2, forall x1_IN : x1 \in X, forall x2_IN : x2 \in X, exists x3, x3 \in X /\ (x1 =< x3 /\ x2 =< x3))
: isDirected X.
#[local] Hint Constructors isDirected : poset_hints.

Lemma preservesDirectedness_if_isMonotonic {A : Type} {B : Type} {A_isProset : isProset A} {B_isProset : isProset B} (f : A -> B)
(MONOTONIC : isMonotonic1 f)
: forall X, isDirected X -> isDirected (E.image f X).