Let f := fix f n := match n with
| 0   => proj1_sig (next 0)
| S n => proj1_sig (next (S (f n)))
end.
Let f_sinc n : f n < f (S n).
Let f_select x : { n | f n <= x < f (S n) } + { x < f 0 }.
Let f_P n : P n <-> exists k, n = f k.

(* Specifications: *)
Theorem decidable_sinc : { f | (forall n, f n < f (S n))
/\ (forall n, P n <-> exists k, n = f k) }.