(** Proving that [safe'] implies [safe] (the reverse implication
      only holds if we replace [f] with a coinductive stream) *)

  Definition safe' f := forall i, R (f i) (f (1 + i)).

Lemma konigsafe x : (forall P, P \/ ~P) -> (forall x, finite (R x)) -> (forall n, safeN n x) -> safe x.