# Avoiding the trivial certificate in complexity class NP

One definition of the class NP is that there is a certificate whose size is bounded by a polynomial function of the problem instance size which can be used on a deterministic TM, along with the original input, to decide whether the input is a part of the language.

Doesn't this definition allow the trivial loophole where we let the certificate simply be 1 if the input is a part of the language and 0 otherwise? Then the deterministic just uses the certificate entirely and totally ignores the input.

The point that you're missing is that the deterministic algorithm is given an input to the NP problem and string and it has to say either "That string is a valid certificate for the input" or "That string is not a valid certificate for the input." For example, for compositeness, the verifier would have to be able to accept "Six is composite because it is two times three" and reject "Five is composite because it is two times three." This can be done easily, by checking the arithmetic and checking that the claim isn't something like "$$p$$ is prime because it is $$p$$ times one."