Definition pre_domok_incr_chain_def (A : Set) (p : prechain A) :=
forall (T : mEnsemble A) (r : mRelation A),
prechain_dom_ok A T p /\ prechain_incr A r p -> chain A T r p.

(* Specifications: *)
Lemma pre_domok_incr_chain_0 :
forall (A : Set) (m : Map A), pre_domok_incr_chain_def A (single A m).
Lemma pre_domok_incr_chain_1 :
forall (A : Set) (p : prechain A),
pre_domok_incr_chain_def A p ->
forall m : Map A, pre_domok_incr_chain_def A (concat A p m).
Lemma pre_domok_incr_chain_2 :
forall (A : Set) (p : prechain A), pre_domok_incr_chain_def A p.
Lemma pre_domok_incr_chain :
forall (A : Set) (p : prechain A) (T : mEnsemble A) (r : mRelation A),
prechain_dom_ok A T p /\ prechain_incr A r p -> chain A T r p.