Suppose that there exists a function $:\{0,1\}^ → \{0,1\}^$ such that, is computable in polynomial time; and the following task cannot be computed in polynomial time (that is, there are $ ∈ \{0,1\}^$, for which, it cannot be computed efficiently): Given $ = ()$, find any $\hat{}∈ \{0,1\}^$ such that $(\hat{}) = .$
Define the language, $$ = \{(, ) | ∃\hat{} ∈ \{0,1\}^ \text{ such that } (\hat{}) = \text{ and } \hat{} < \}.$$ The comparison $<$ is with respect to the integers of which $\hat{}, $ are the respective binary representations (in general, $$ is viewed as a map from integers to integers).
Is the language $$ is in $\mathsf{NP}\setminus \mathsf{P}?$
My approach:
Guess a candidate $\hat{x}∈\{0,1\}^n$
Verify that $f(\hat{x})=y.$ Since is computable in polynomial time, we can compute $f(\hat{x})$ and check if it equals in polynomial time.
Verify that $\hat{x}<z$ .Comparing two -bit integers can be done in polynomial time as well.
Thus, a nondeterministic Turing machine can guess $\hat{x}$ and verify both conditions in polynomial time, which implies that $L \in \mathsf{NP}.$
If my $\mathsf{NP}$ logic is right, how can I show $L$ isn't in $\mathsf{P}$? Or any other way to show $$ is in $\mathsf{NP}\setminus \mathsf{P}?$