OAI/Computability/MaxCut/Games/NP.lean
16 declarations, 0 contain sorry, 0 declared as axioms
Verifier-defined NP over finite bitstring machines. This definition does not
mention SAT. Inputs and witnesses use a fixed explicit framing, verifiers return
one Boolean symbol, and all stacks have finite alphabets. The Cook–Levin target
separately requires an actual polynomial-time machine producing the established
formulaBits serialization, in addition to satisfiability equivalence.
- def
OAI.MaxCutGames.Foundations.Complexity.CookLevin.pairBitsline 17Source documentation
A unary length frame followed by input bits and witness bits.
def pairBits (input : List Bool × List Bool) : List Bool := …
- def
OAI.MaxCutGames.Foundations.Complexity.CookLevin.decodePairAuxline 20 - def
OAI.MaxCutGames.Foundations.Complexity.CookLevin.decodePairline 26 - theorem
OAI.MaxCutGames.Foundations.Complexity.CookLevin.decodePairAux_frameline 29 - theorem
OAI.MaxCutGames.Foundations.Complexity.CookLevin.decodePair_pairBitsline 39 - theorem
OAI.MaxCutGames.Foundations.Complexity.CookLevin.pairBits_injectiveline 45 - theorem
OAI.MaxCutGames.Foundations.Complexity.CookLevin.pairBits_lengthline 50 - def
OAI.MaxCutGames.Foundations.Complexity.CookLevin.pairEncodingline 55 - structure
OAI.MaxCutGames.Foundations.Complexity.CookLevin.NPVerifierline 64Source documentation
A standard polynomial-time Boolean verifier.
FinTM2already requires finitely many stacks, control labels, and internal states; this field also requires every stack alphabet to be finite. The actual machine runs on the explicit paired input and halts with exactly one Boolean output symbol.structure NPVerifier where …
- def
OAI.MaxCutGames.Foundations.Complexity.CookLevin.NPVerifier.Acceptsline 70 - def
OAI.MaxCutGames.Foundations.Complexity.CookLevin.InNPline 77Source documentation
NP is specified by polynomial witnesses and genuine finite-machine verification, independently of any reduction or satisfiability problem.
def InNP (language : List Bool → Prop) : Prop := …
- theorem
OAI.MaxCutGames.Foundations.Complexity.CookLevin.NPVerifier.acceptedLanguage_inNPline 80 - structure
OAI.MaxCutGames.Foundations.Complexity.CookLevin.PolynomialThreeSATReductionline 86Source documentation
The demanded Cook–Levin endpoint: both the SAT equivalence and an actual machine producing the fixed existing unary-token 3CNF encoding. This structure contains obligations; its inhabitance is not assumed or asserted here.
structure PolynomialThreeSATReduction (language : List Bool → Prop) where …
- def
OAI.MaxCutGames.Foundations.Complexity.CookLevin.NPVerifier.horizonline 92Source documentation
A common clock for all witnesses of permitted length for one input.
noncomputable def NPVerifier.horizon (verifier : NPVerifier) (inputLength : Nat) : Nat := …
Mentions: OAI.MaxCutGames.Foundations.Complexity.CookLevin.NPVerifier
- theorem
OAI.MaxCutGames.Foundations.Complexity.CookLevin.NPVerifier.input_time_le_horizonline 96 - def
OAI.MaxCutGames.Foundations.Complexity.CookLevin.NPVerifier.runWithinHorizonline 107Source documentation
A real verifier execution, enlarged to the single input-dependent clock. The machine and its output are the ones supplied in the verifier definition.
def NPVerifier.runWithinHorizon (verifier : NPVerifier) (input witness : List Bool) (bounded : witness.length ≤ verifier.witnessBound.eval input.length) : Turing.TM2OutputsInTime verifier.computation.tm ((pairBits (input, witness)).map verifier.computation.inputAlphabet.invFun) (some ([verifier.verify (input, witness)].map verifier.computation.outputAlphabet.invFun)) (verifier.horizon input.length) where …Mentions: OAI.MaxCutGames.Foundations.Complexity.CookLevin.NPVerifier, OAI.MaxCutGames.Foundations.Complexity.CookLevin.pairBits