Formalmente, se define NP como un conjunto de lenguajes que satisfacen ciertas condiciones.