(** 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 safe_safe' x : (forall P, P \/ ~P) -> FunctionalChoice -> safe x -> (exists f, f 0 = x /\ safe' f).