Definition:NP Complexity Class

Definition
In computation theory, $NP$ is a complexity class in which there exists some nondeterministic Turing machine that will either:
 * halt within $p \left({\left\vert{x}\right\vert}\right)$ steps

or:
 * run forever

where $p$ is a polynomial and $\left\vert{x}\right\vert$ is the length of the input to the Machine.

Example
Boolean Satisfiability is $NP$ because a nondeterministic Turing machine can pick values for all the variables and determine within $O \left({\left\vert{x}\right\vert}\right)$ steps if the values are a solution to the problem.

If they are then the machine stops.

Otherwise it loops forever.

Also see

 * NP Problem iff Solution Verifiable in Polynomial Time: applied during investigations into whether a potential solution to a problem can be verified on a deterministic Turing Machine in polynomial time.


 * Nondeterministic Turing Machine Equivalent to Deterministic Turing Machine


 * Hence Definition:P Complexity Class: a subclass of $NP$.