Section PairCPO.
Variables (A B : cpo).
Local Notation tp := [poset of A * B].
Definition pair_bot : tp := (bot, bot).
Definition pair_lim (s : chain tp) : tp :=
(lim (proj1_chain s), lim (proj2_chain s)).
End AdmissibleClosure.
Arguments chain_closed {T}.
Prenex Implicits chain_closed.

(* diagonal of an admissible set of pairs is admissible *)
Lemma chain_clos_diag (T : cpo) (s : Pred (T * T)) :
chain_closed s -> chain_closed [Pred t : T | (t, t) \In s].