Definition chains_sup_def : forall F: Ensemble chains,
  chain chains_ord F -> chains.

Lemma chains_sup_correct: forall (F:Ensemble chains) (P:chain chains_ord F), let U := chains_sup_def F P in (forall S:chains, In F S -> chains_ord S U) /\ (forall T:chains, (forall S:chains, In F S -> chains_ord S T) -> chains_ord U T).