Skip to content

feat(PCP): the PCP theorem and the material needed to prove it - #32

Closed
BoltonBailey wants to merge 1 commit into
SamuelSchlesinger:devfrom
BoltonBailey:feat/pcp-theorem
Closed

feat(PCP): the PCP theorem and the material needed to prove it#32
BoltonBailey wants to merge 1 commit into
SamuelSchlesinger:devfrom
BoltonBailey:feat/pcp-theorem

Conversation

@BoltonBailey

@BoltonBailey BoltonBailey commented Aug 30, 2026

Copy link
Copy Markdown
Collaborator

The PCP theorem, cut down to what its proof actually uses, in case that's easier:

theorem PCP_theorem :
    NP = ⋃ (r : ℕ → ℕ) (_ : r =O Nat.log 2) (_ : Constructible r)
      (q : ℕ → ℕ) (_ : q =O fun _ => 1), PCP r q

@BoltonBailey
BoltonBailey marked this pull request as draft August 30, 2026 14:51
Adds `PCP_theorem`: `NP` equals the union of `PCP r q` over constructible
`r =O log` and constant `q`, proved via Dinur's gap amplification (the
`NP ⊆ PCP` direction) and a guess-and-verify simulation (`PCP ⊆ NP`).

Cut down to what the proof actually uses, at declaration level: the
`Classes/PCP` tree (Defs, surface, 115 internal modules, with ~150
declarations unreachable from `PCP_theorem` removed), and a small `FP`
toolkit relocated to `Classes/P/Cobham/Internal` (pair-decoder bridge,
head-of-list ops, polynomial rulers, bounded binary values and counter
increments, and a P language as an FP decision function). Adds
`PolyBound.exists_mul_pow_bound` and `pairSnd_length_le` to their home
files.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@BoltonBailey

Copy link
Copy Markdown
Collaborator Author

Ah, looks like the other one was merged, I'll close this one

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant