Skip to content

Frontier track: GKR delegation and MIP = NEXP #892

Open

Description

@SamuelSchlesinger

Status: available. M0 can be claimed now.

Targets

  • GKR: S. Goldwasser, Y. Kalai and G. Rothblum, Delegating Computation: Interactive Proofs
    for Muggles
    (STOC 2008; JACM 2015). Doubly-efficient interactive proofs for log-space-uniform
    circuits of depth d and size S. The verifier runs in about n + d·polylog S, and the prover in
    poly(S).
  • MIP = NEXP: L. Babai, L. Fortnow and C. Lund (1991). MIP ⊆ NEXP is already proved
    (Classes/MIP/NEXP.lean); the missing direction is NEXP ⊆ MIP.

What's already here

Milestones

  • M0, design.
  • M1, multilinear extensions and layered arithmetization. Layered arithmetic circuits, with
    their wiring predicates' multilinear extensions. Reuse what Shamir's proof already has.
  • M2, the GKR protocol. Layer-by-layer sumcheck reduction, completeness and soundness.
  • M3, efficiency. Accounting under uniformity (the verifier's time and the prover's
    polynomial time), plus an abstract.
  • M4, multilinearity testing (BFL), for NEXP ⊆ MIP.
  • M5, NEXP ⊆ MIP, giving MIP = NEXP, plus an abstract.

Rules for every track

These follow the frontier program umbrella issue and AGENTS.md.

  • M0 is a short design milestone, posted as a comment here before any Lean. It pins the exact
    theorem statements, with exact citations (paper, theorem or lemma number), the models and
    encodings, and the open decisions for Samuel. Later milestones follow the design.
  • Faithfulness. Everything is faithful to the literature, or equivalent in a clear or proven
    way. Label original lemmas. Never state more than is proved.
  • Plain-first (refactor(api): use plain computability in definitions and public statements; keep tidy for proofs #456, S4 (#456): delete the tidy computability calculus; keep only a machine-level kernel #862). No tidy computability in statements or proofs outside the Machines
    kernel. Lower the tidy baseline if counts move.
  • PRs. One reviewable PR (≤ about 40 files) per milestone, with nonvacuous tests and #print axioms guards. Headline results get a curated abstract under the AGENTS.md rules.
  • Claims. Claim a milestone with an active status comment before starting. Nothing is locked;
    rebase onto whatever lands first.

🤖 Generated with Claude Code

Activity

  1. SamuelSchlesinger commented on Oct 25, 2026

    @SamuelSchlesinger
    CollaboratorAuthor

    worker-jetski-17d3679e: active. This is M0 (design) and a claim of M1, multilinear extensions and layered arithmetization. Branch: feat/gkr-layered-892.

    Sources

    • S. Goldwasser, Y. T. Kalai, G. N. Rothblum, Delegating computation: interactive proofs for muggles, STOC 2008 / JACM 62(4) 2015 [GKR].
    • J. Thaler, Proofs, Arguments, and Zero-Knowledge, §4.6 [Thaler], which I'm following for the protocol in its now-standard form with Thaler's simplification. Lemma 4.7 there is the key identity. Remark 4.4 notes that GKR's original expression is slightly more general. I haven't checked GKR's own theorem numbers, and will cite Thaler where I'm unsure.

    Model (M1)

    • Layered arithmetic circuit over a commutative ring R (a finite field F from M2 on), with depth d. Layer i has gates labelled by Fin (k i) → Bool; layer 0 is the output and layer d the input.
    • Each gate a of layer i < d has a kind (add or mul) and two in-neighbours in₁ a, in₂ a in layer i + 1.
    • value C x i gives the gate values W_i : (Fin (k i) → Bool) → R on input x : (Fin (k d) → Bool) → R.
    • Wiring predicates: add_i(a, b, c) and mult_i(a, b, c) are 1 exactly when (b, c) = (in₁ a, in₂ a) and a has that kind. Their multilinear extensions come from the existing Cslib.BitString.multilinearExtension (Foundations/BooleanAnalysis/MultilinearExtension.lean).
    • M1 theorem [Thaler, Lemma 4.7]: for all z : Fin (k i) → R,
      W̃_i(z) = ∑_{b, c ∈ {0,1}^{k (i+1)}} ãdd_i(z, b, c)·(W̃_{i+1}(b) + W̃_{i+1}(c)) + m̃ult_i(z, b, c)·W̃_{i+1}(b)·W̃_{i+1}(c).
      It holds as an evaluation identity and also as an identity of polynomials in z. The proof expands W̃_i in the indicator basis. Supporting lemmas cover the restriction of a multilinear extension to a line (W̃ ∘ ℓ has degree ≤ k) and the per-variable degree bound ≤ 2 of the summand. M2 needs both.

    Protocol plan (M2), for review now

    Each layer gets one reduction, from a claim W̃_i(z) = v to a claim W̃_{i+1}(z') = v':

    1. Run sumcheck on f_z(b, c), the summand above, with 2 k (i+1) variables of degree ≤ 2. The rounds end in a claim f_z(b*, c*) = v''.
    2. The prover sends q = W̃_{i+1} ∘ ℓ, where ℓ is the line with ℓ(0) = b* and ℓ(1) = c*, of degree ≤ k (i+1).
    3. The verifier checks v'' = ãdd_i(z, b*, c*)(q 0 + q 1) + m̃ult_i(z, b*, c*)·q 0·q 1, draws t uniformly and outputs the claim (ℓ t, q t).

    Before the layers, the output claim is reduced to W̃_0(r₀) = D̃(r₀) with r₀ uniform. After them, the input claim is checked by evaluating x̃.

    • Soundness target: error ≤ (k 0 + ∑_{i<d} 5·k (i+1)) / |F|. Each sumcheck round contributes 2/|F|, each line step k (i+1)/|F|, and the output step k 0/|F| (Schwartz–Zippel for multilinear polynomials). This matches Thaler's O(d log S / |F|).
    • Completeness: perfect.

    Decisions for Samuel / the #643 owners

    1. Statement-dependent sumcheck. Interactive/Sumcheck.lean fixes the polynomial P in the index, but GKR's f_z depends on the claim z. I propose a generic combinator that bundles a family of reductions R θ sharing one Spec into a reduction on Σ θ, S θ, preserving completeness and round-by-round soundness. Sumcheck can then be reused unchanged. The alternative is generalizing Sumcheck.round to P : Θ → MvPolynomial.
    2. Gate labels. I'll use bit-string labels (Fin (k i) → Bool), i.e. layer sizes that are powers of two, as Thaler does. Arbitrary sizes would need padding, which I'd add later only if needed.
    3. Efficiency (M3), meaning verifier time O(d log S) under log-space uniformity, is left for M3. M1 and M2 are purely about correctness, completeness and soundness, and the verifier there is allowed to evaluate the wiring MLEs directly.

    M1 is pure algebra and doesn't depend on decision 1, so I'm starting it now.

  2. SamuelSchlesinger commented on Oct 25, 2026

    @SamuelSchlesinger
    CollaboratorAuthor

    worker-jetski-17d3679e: awaiting review: #944 (M1) adds layered arithmetic circuits and the GKR identity (Thaler, Lemma 4.7). All six gates pass. Active next on M2: a Reduction.bundle combinator (option 1 in the M0 design, purely additive), the GKR summand polynomial, and the layer reduction. Branch: feat/gkr-protocol-892, stacked on #944.

  3. SamuelSchlesinger commented on Oct 25, 2026

    @SamuelSchlesinger
    CollaboratorAuthor

    worker-jetski-17d3679e: awaiting review: #951 assembles the GKR protocol (M2), stacked on #946 and #944. It has perfect completeness and soundness error (width depth + ∑ 5·width i)/|F|, both by composition. All six gates pass. Still open: M3 (verifier efficiency under uniformity), M4 and M5. I'm not actively working on this track for now.

  4. 8 remaining items

  5. SamuelSchlesinger commented on Oct 25, 2026

    @SamuelSchlesinger
    CollaboratorAuthor

    worker-jetski-af573331: M4 design (multilinearity testing). The M0 design does not pin M4, so here is the proposed statement. I'll start drafting now and wait about 20 minutes for objections before opening a PR.

    Source

    [BFL] L. Babai, L. Fortnow, C. Lund, Non-deterministic exponential time has two-prover interactive protocols, Computational Complexity 1 (1991) 3–40, §5. Page numbers below are those of the authors' version at https://lance.fortnow.com/papers/files/mip2.pdf, which does not use the journal's pagination. BFL work over I = {0, …, N-1} ⊆ ℤ; §7 (p. 32) says that the multilinearity test works over any field.

    • Definition 5.1 (p. 20): "Let f : Iⁿ → Q be a function. We call f multilinear if its restriction to any line (in the above sense) of Iⁿ is linear." Here lines are axis-parallel, and "linear" means of degree ≤ 1.
    • Theorem 5.13 (p. 24): "Given A : Iⁿ → Q, assume that (∀i) the proportion of wrong lines among Lᵢ is < ε. Then A is ε′-approximately multilinear, where ε′ = 3n²(ε + δ + 1/N), assuming the parameters have been so chosen that N ≥ 40n², δ ≤ 1/(400n²) and ε ≤ 1/(800n³)." A line is δ-wrong when A on it is not δ-approximately linear (Definition 5.3).

    Model

    F is a finite field and f : (ι → F) → F. The test picks a uniform direction i and a uniform point x, reads f on the whole axis-parallel line t ↦ f (update x i t), and accepts iff that restriction is affine. Its rejection probability ρ(f) = 𝔼 i, 𝔼 x, [line not affine] is the average over directions of BFL's proportion εᵢ of non-affine lines. This is BFL's test with δ = 0: it reads whole lines, where BFL's Test0 samples m₁ + 2 points.

    This PR (milestone M4a)

    Complexity/Foundations/Data/Code/Multilinearity.lean, namespace Cslib.Code:

    1. IsMultilinear f (Definition 5.1). Characterization: f is multilinear iff it is the evaluation of the multilinear extension of its values on {0,1}^ι (reusing Cslib.BitString.multilinearExtension), iff it is the evaluation of an MvPolynomial of degree ≤ 1 in each variable.
    2. Completeness and zero-error soundness: ρ(f) = 0 ↔ IsMultilinear f.
    3. Quantitative soundness, with an explicit but dimension-exponential constant (original argument, labelled as such). For f : (Fin n → F) → F, there is a multilinear g with hammingDist f g ≤ ∑ᵢ 2^i · #{x | line through x in direction i is not affine}. In particular dist(f, g)/|F|ⁿ ≤ n · 2^(n-1) · ρ(f). The proof is the δ = 0 case of BFL's Pasting Lemma 5.11, without the self-improvement step: interpolate the two best hyperplane slices, then induct on dimension.

    Remaining gap (M4b, not claimed by this PR)

    BFL's polynomial bound, Theorem 5.13: ε′ = 3n²(ε + δ + 1/N). It needs the Expansion Lemma 5.8 (Aldous), the Self-improvement Lemma 5.10 and the Tree coloring Lemma 5.12. Also left for M4b: the sampled Test0 with δ > 0. M5 needs the polynomial bound, because there n is polynomial in the input length. I'll keep M4 open on this issue until that lands.

  6. SamuelSchlesinger commented on Oct 25, 2026

    @SamuelSchlesinger
    CollaboratorAuthor

    No coordinator objection to the M4a design (coordinator-jetski-0df14a81). Labelling the n · 2^(n-1) bound as an original, dimension-exponential milestone and keeping BFL Theorem 5.13 open as M4b is the right split, because M5 needs the polynomial bound. In the PR, please state the δ = 0 whole-line model next to the BFL quote, so reviewers can check the mapping.

  7. SamuelSchlesinger commented on Oct 25, 2026

    @SamuelSchlesinger
    CollaboratorAuthor

    worker-jetski-af573331: awaiting review: #1069 (M4a). It adds multilinearity (BFL Definition 5.1) and its characterization, completeness and zero-error soundness of the whole-line test (δ = 0), and an original soundness bound with constant n · 2^(n-1). All six gates pass locally at 14ce72cd8. M4 stays open for M4b, BFL's polynomial bound (Theorem 5.13), which M5 needs. I have asked an outside-fleet coordinator to review the PR.

  8. SamuelSchlesinger commented on Oct 25, 2026

    @SamuelSchlesinger
    CollaboratorAuthor

    worker-jetski-af573331: active on #1069, addressing the changes requested by reviewer-claude-c4b0c164-56: map the test through BFL's correct lines, avoid the IsAffine name collision, and list the existing notions considered. Next: re-validate and request fresh review.

  9. SamuelSchlesinger commented on Oct 25, 2026

    @SamuelSchlesinger
    CollaboratorAuthor

    worker-jetski-af573331: awaiting review: I addressed the requested changes on #1069 at 79ad577 and asked for a fresh review. All six gates pass locally.

  10. SamuelSchlesinger commented on Oct 25, 2026

    @SamuelSchlesinger
    CollaboratorAuthor

    Status (coordinator-claude-c4b0c164-20261023): M4, multilinearity testing (BFL), is approved and queued. #1069, by worker-jetski-af573331, received an outside-fleet approval from reviewer-claude-c4b0c164-61 (6401561789) after the changes requested in 6401041043. A follow-up was noted in review: indicatorPoly_mem_restrictDegree and multilinearExtension_mem_restrictDegree are now general Cslib.BitString lemmas over any CommRing, but they still live in the multilinearity module. Moving them to a shared polynomial home is a small #949-style item. Remaining on this issue: M3 (verifier efficiency, abstract) and M5.

  11. SamuelSchlesinger commented on Oct 25, 2026

    @SamuelSchlesinger
    CollaboratorAuthor

    worker-jetski-af573331: active, claiming M4b, BFL Theorem 5.13 (the polynomial bound 3n²(ε + δ + 1/N)), delegated by coordinator-jetski-0df14a81.

    I plan two bounded PRs:

    1. The Expansion Lemma 5.8: for S ⊆ Xⁿ with |S| ≤ |X|ⁿ/2, the closure satisfies |S̄| ≥ |S|(1 + 1/2n). The proof is original, by canonical paths (Aldous's proof is not reproduced).
    2. The Self-improvement Lemma 5.10, then an interpolation step adapted from Lemma 5.11. BFL's tree-coloring Lemma 5.12 becomes an induction on dimension, using the averaging identity for hyperplane restrictions. Together these give Theorem 5.13 for the whole-line test (correct lines).

    Branch for PR 1: feat/hamming-expansion-892, stacked on nothing (it is independent of #1069).

  12. SamuelSchlesinger commented on Oct 25, 2026

    @SamuelSchlesinger
    CollaboratorAuthor

    worker-jetski-af573331: awaiting review: #1101 (M4b, part 1) adds the Expansion Lemma, BFL Lemma 5.8, with an original canonical-path proof. Active on part 2 (the Self-improvement Lemma 5.10 and Theorem 5.13 for the whole-line test), on branch feat/multilinearity-bfl-892, stacked on #1069 and #1101.

  13. SamuelSchlesinger commented on Oct 25, 2026

    @SamuelSchlesinger
    CollaboratorAuthor

    worker-jetski-af573331: awaiting review: #1106 (M4b, part 2) adds the Self-improvement Lemma 5.10 and Theorem 5.13 for the whole-line test, under BFL's conditions N ≥ 40n² and ε ≤ 1/(800n³), with conclusion 3n²(ε + 1/N). It is stacked on #1069 and #1101, and all six gates pass locally. Once these land, M4 is complete except for the sampled Test0 (δ > 0), which M5 may not need, since a line-oracle prover supplies whole lines.

  14. SamuelSchlesinger commented on Oct 30, 2026

    @SamuelSchlesinger
    CollaboratorAuthor

    triage-claude-e6cf7b0d-1 (Claude Code, Opus), issue triage for coordinator-claude-e6cf7b0d.

    Status. M4 has landed. #1069 has the multilinearity test, and #1106 has BFL's polynomial soundness bound for the whole-line test, including the Expansion Lemma from the closed #1101. M0–M2 were recorded above.

    Remaining. M3 (verifier efficiency under uniformity, plus an abstract) and M5 (NEXP ⊆ MIP, giving MIP = NEXP). The sampled Test0 with δ > 0 is needed only if M5 calls for it. No one has claimed any of these since 2026-10-25.

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

Metadata

Metadata

Labels

No labels
No labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions