Imports

General circuit satisfiability is in NP

The executable certificate semantics and the concrete polynomial-time TM2 witness are assembled here into the chapter-level membership theorem.

namespace CLRS.Chapter34

GeneralCircuitSAT has polynomial-size assignment certificates checked by the concrete polynomial-time verifier machine.

theorem generalCircuitSAT_polyTimeVerifiable : PolyTimeVerifiable GeneralCircuitSAT := by refine generalCircuitVerifier, Polynomial.X, ?_, ?_ · exact Turing.GeneralCircuitVerifier.generalCircuitVerifierComputableInPolyTime · intro input simpa using mem_generalCircuitSAT_iff_exists_certificate input

Public textbook-facing name for polynomial verifiability of general circuit satisfiability.

The honest serialized general-circuit satisfiability language belongs to the complexity class NP.

end CLRS.Chapter34