(** Coinductive safety & corresponding Knaster-Tarski definition *)

  CoInductive safe : X -> Prop :=
    safe_cons : forall x x', R x x' -> safe x' -> safe x.(** Coinductive safety & corresponding Knaster-Tarski definition *)

  CoInductive safe : X -> Prop :=
    safe_cons : forall x x', R x x' -> safe x' -> safe x.Definition stable (P : X -> Prop) := forall x, P x -> exists x', R x x' /\ P x'.Definition kt_safe x := exists P, P x /\ stable P.

(* Specifications: *)
Lemma kt_safe_safe x : safe x <-> kt_safe x.