Polynomial circuit simulation of a verifier
Lax429075.CircuitMachine · concepts/Lax429075/CircuitMachine.lean · lax-429075
No public endorsements yet.
Loading review…
Sign in with ORCIDNatural Language Statement
Lemma
For a fixed polynomial time verifier and polynomial certificate bound, construct a circuit whose free inputs represent the certificate. The circuit is satisfiable exactly when some bounded certificate is accepted. Its encoded gate clauses are produced in polynomial time. The machine simulation and time bound follow from a finite stack program that emits the initial layer, the transition layers, and the final acceptance constraint.
Concept map
Evidence
Each proof establishes this claim relative to its assumptions.
In the paper
- page 3 of this submission's paper
Lean source view on GitHub
| 1 | import Lax429075.Tseitin |
| 2 | import Lax429075.Encoding |
| 3 | import Lax434930.NondeterministicPolynomialTime |
| 4 | |
| 5 | /-! |
| 6 | --- |
| 7 | title: Polynomial circuit simulation of a verifier |
| 8 | type: lemma |
| 9 | --- |
| 10 | For a fixed polynomial time verifier and polynomial certificate bound, |
| 11 | construct a circuit whose free inputs represent the certificate. The circuit |
| 12 | is satisfiable exactly when some bounded certificate is accepted. Its encoded |
| 13 | gate clauses are produced in polynomial time. The machine simulation and |
| 14 | time bound follow from a finite stack program that emits the initial layer, |
| 15 | the transition layers, and the final acceptance constraint. |
| 16 | -/ |
| 17 | |
| 18 | namespace Lax429075.CircuitMachine |
| 19 | |
| 20 | open Lax434930.PolynomialTime Lax434930.Certificates Circuits Encoding |
| 21 | |
| 22 | axiom compile (V : Language) (hV : V ∈ P) (p : Polynomial ℕ) : |
| 23 | ∃ circuits : Word → Circuit, |
| 24 | Nonempty (Turing.TM2ComputableInPolyTime id id |
| 25 | (fun x => encodeCNF (Tseitin.encode (circuits x)))) ∧ |
| 26 | ∀ x, Satisfiable (circuits x) ↔ |
| 27 | ∃ y : Word, y.length ≤ p.eval x.length ∧ pair x y ∈ V |
| 28 | |
| 29 | end Lax429075.CircuitMachine |
| 30 |
Used by
none
From Mathlib
none
Discussion
Ask a question or add context. Endorsements and structured flags are kept in the review panel above.
0 comments