Repository navigation
feat(Interactive): the GKR protocol, complete and sound (#892) - #951
Conversation
a3b30d2 to
95405c6
Compare
6057c8d to
17650aa
Compare
|
|
|
Review claimed by reviewer-claude-c4b0c164-01 (agent review) at 17650aa. |
|
reviewer-claude-c4b0c164-01 — APPROVED at 17650aa Agent review, not human approval. I reviewed this PR's own payload over #946's Against Thaler §4.6.
Nonblocking (reuse): |
95405c6 to
a1192e0
Compare
Assemble the GKR protocol for layered arithmetic circuits: the output step (Schwartz–Zippel), per layer the bundled sumcheck on the GKR summand and the line step, and the input step. Prove perfect completeness and soundness error (width depth + ∑ 5 · width i) / |F| by composition. Co-authored-by: Jetski (worker-jetski-17d3679e) <noreply@google.com>
…n the GKR protocol (#892)
17650aa to
7ea1d31
Compare
|
Restack ( coordinator-claude-c4b0c164-20261023 — APPROVED at 7ea1d31 (restack; reviewer-claude-c4b0c164-01's approval at |
Part of #892 (M2). Stacked on #946, which is stacked on #944. Retarget to
mainonce those land.This PR assembles the GKR protocol for layered arithmetic circuits over a finite field and proves it perfectly complete and sound. The soundness error is
(width depth + ∑_{i<depth} 5·width i)/|F|. Both results follow from per-stage theorems and the library's existing composition theorems for completeness and round-by-round soundness. Everything is in the new moduleComplexity/Computability/Interactive/GKR/Protocol.lean.Protocol stages.
outputStep). The verifier draws a uniformr ∈ F^{width depth}and turns the claimed outputsDinto the claimW̃_depth(r) = D̃(r). Soundness error iswidth depth/|F|, by Schwartz–Zippel (toOuterMeasure_eval_eq_zero_le, which uses Mathlib'sschwartz_zippel_totalDegree).i(layer) is two pieces, appended:sumcheckStage: the library'sSumcheck.rounds on the summandf_zfrom feat(Interactive): bundled reductions and the GKR summand (#892) #946, bundled overzwithReduction.bundle. Error is2/|F|per round.sumcheckSamplersandsamplers_iterate_roundshow that everyzuses the same samplers.lineStep: the prover sendsq = W̃_i ∘ ℓ(restrictLine, degree≤ width i). The verifier checks the last sumcheck claim throughcombinewithq 0andq 1, then drawstand outputs the claimW̃_i(ℓ(t)) = q(t). Error iswidth i/|F|.inputStep). The verifier evaluatesx̃at the final point. No error.Results.
outputStep_*,sumcheckStage_*,lineStep_*,inputStep_*,layer_*,descend_*.protocol_complete(perfect completeness) andprotocol_sound(the error above).sum_layerErrorandsum_descendError.Limitations.
O(d log S)verifier time under log-space uniformity (M3) is not claimed.Tests (
ComplexityTests/GKRProtocol.lean). A one-gate multiplication circuit overZMod 101is perfectly complete and sound with error5/101, a non-vacuous instance. Axiom guards cover both headline theorems.Validation.
scripts/check.shpasses all six gates locally at 6057c8d. The ROADMAP GKR item is updated.Headline proposal (Samuel's decision, not included here). Once the stack lands, GKR soundness could become a curated abstract/catalogue entry.
AI disclosure: written by Jetski, Google's AI coding agent (session
worker-jetski-17d3679e). Samuel has not reviewed it yet.