Definition monotonic (f : nat -> nat) :=
  forall x y, x <= y -> f x <= f y.

(* Specifications: *)
Lemma solve_cost_ineqs_clean : exists (f: nat -> nat), 1 <= f 0 /\ monotonic f /\ forall n, 0 < n -> 2 + f (n / 2) <= f n.
Lemma solve_cost_ineq : exists (f: nat -> nat), forall n, 1 + (if zerop n then 0 else 1 + max (f (n / 2)) (f (n - (n / 2) - 1))) <= f n.