(** Occur-check for Meta (up to application of already known instances) *)

Goal forall (f: nat -> nat -> Prop) (x:bool)
  (H: forall  (u: nat), f u u -> True)
  (H0: forall x0, f (if x then x0 else x0) x0),
False.

intros.
Fail apply H in H0. (* should fail without exhausting the stack *)
Abort.
