Repository navigation
feat(QueryComplexity/Quantum): quantum query lower bounds by polynomials (#896) - #1994
Conversation
…als (#896) The polynomial method of Beals, Buhrman, Cleve, Mosca and de Wolf on the query model of #923: amplitudes after t queries have degree <= t, outcome probabilities degree <= 2T, hence adeg_eps(f) <= 2T, deg(f) <= 2T for exact algorithms, bs(f) <= 8T^2 (exact) and 16T^2 (error 1/3), D(f) <= 4096 T^6, and N <= 16T^2 for OR_N. NisanSzegedy gains the range-aware form needed for the constant 16. Search.lean and Grover.lean get verified source mappings (BBBV, Grover, Boyer-Brassard-Hoyer-Tapp), with a new bib entry; tests add a concrete one-query algorithm and Grover's one-query certainty at N = 4. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015DLg8kwPs8yi7ePPdtoNvG
Corollary of deg(PARITY_N) = N and Theorem 4.3 of Beals et al.; names the OR bound card_le_sixteen_mul_sq_of_threshold_one_right; tests instantiate it. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015DLg8kwPs8yi7ePPdtoNvG
|
|
|
|
|
reviewer-codex-edemaine (independent non-author worker): reviewing 6b08129. Checking the full polynomial-method layer, actual query/degree definitions and examples, range-aware block-sensitivity argument, and pinned primary-source mappings. |
edemaine
left a comment
There was a problem hiding this comment.
reviewer-codex-edemaine (independent non-author agent): APPROVE at 6b08129. No blocking findings in the complete eight-file own diff from merge base 4340471.
Read the actual run/oracle, degree, approximation, block-sensitivity and decision-tree definitions. U, the initial state and accepting set are independent of the input; only T controlled-phase queries access it. The amplitude induction and real/imaginary-square sum give degree T and 2T on the entire cube. Normalization is correctly required for the [0,1] range used by the bounded-error bound; the stronger exact/degree statements do not need it. The range-aware Nisan–Szegedy proof preserves its interval under reflection, restricts to disjoint sensitive blocks, symmetrizes, and applies the existing derivative bound with c=1−2ε. Thus ε=1/3, δ=0 gives 16T², and the existing D≤bs³ gives 4096T⁶. The old theorem's statement is preserved at δ=ε.
Verified the mapping to BBCMW v3, §3.2, Lemmas 4.1–4.2, Theorems 4.3/4.8/4.13/5.4 and §6. Also checked the revised attribution against BBBV v1 §3.1, Grover v3 §§3–5, and BBHT v1 §§2–3.1; the new bibliography metadata agrees with Crossref. These are query bounds, with auxiliary gates/workspace uncharged, not a circuit-time simulation. The committed H·O·H example meets the exact and bounded-error hypotheses for a nonconstant function; the N=4 Grover test is substantive.
Supplemental numerical checks passed 2,880 amplitude-degree and 480 probability-degree/range cases (largest forbidden-degree residual <2e−15), one-/two-bit readout/parity checks and 99 Grover rounding cases. These are finite checks, not Lean elaboration. diff --check passed. Author reports all six local gates; no reviewer Lean build. At the single inspection, Lean 41184309447 and Guide were running, title passed. No curated-abstract impact. Live head/history rechecked. Agent review, not human approval.
Change
Part of #896. M4 (BBBV) and M5 (Grover) already landed in #923 and #925. This PR adds the polynomial method of Beals, Buhrman, Cleve, Mosca and de Wolf on the same query model, the second standard route to quantum query lower bounds. It also adds checked source locators to the #923/#925 modules.
New mathematics:
QueryComplexity/Quantum/Polynomial.lean. The model isCslib.Quantum.run: arbitrary isometries, the controlled phase oracle and any finite workspace. "Accepting" means a measurement outcome in an arbitrary setS. Locators below use the numbering of arXiv:quant-ph/9802049v3, which I checked against the PDF.amplitude_mem_lowDegree: aftertqueries, every amplitude is a complex function of degree≤ ton the cube (Lemma 4.1).measureProb_run_mem_lowDegree: the probability ofSafterTqueries has real degree≤ 2T(Lemma 4.2).approxDegree_le_two_mulgivesadeg_ε(f) ≤ 2T(Theorem 4.8), anddegree_le_two_mulgivesdeg(f) ≤ 2Tfor exact algorithms (Theorem 4.3).blockSensitivity_le_eight_mul_sqgivesbs(f) ≤ 8T²for exact algorithms, andblockSensitivity_le_sixteen_mul_sqgivesbs(f) ≤ 16T²at error1/3with a unit initial state (Theorem 4.13).complexity_le_mul_pow_sixgivesD(f) ≤ 4096 T⁶(Theorem 5.4).card_le_sixteen_mul_sq_of_threshold_one_right: computingOR_Nwith error1/3needsN ≤ 16T², soT ≥ √N/4(§6). This is the decision form of the search bound; feat(QueryComplexity/Quantum): the quantum query model and the BBBV lower bound (#896) #923'scard_sub_two_leis the search form.card_le_two_mul_of_parity: computingPARITY_Nexactly needsN ≤ 2T(§6).To get Theorem 4.13's constant
16rather than24,NisanSzegedy.leangainsone_sub_two_mul_mul_blockSensitivity_le_of_mem_Icc. This is the existing argument for an approximation with values in[-δ, 1 + δ]:(1 - 2ε) bs(f) ≤ (2 - 2ε + 2δ) D², and a probability hasδ = 0. The existingone_sub_two_mul_mul_blockSensitivity_le_of_mem_lowDegreekeeps its statement and is now derived from the new theorem withδ = ε.The module doc maps the source model to the Lean one. The source uses the bit oracle; here it is the controlled phase oracle, which is equivalent up to Hadamards on the control bit. The bounds are stated for each algorithm, as in the source, rather than through a
Q(f)definition.Documentation only (no statement changes).
Search.lean: maps BBBV §3.1 (arXiv:quant-ph/9701001v1) to the Lean names:ctrlProj;norm_run_sub_le;sum_sq_norm_run_sub_le;regProb_sub_le.It records that Theorem 3.5, the random-oracle separation, is not formalized. The doc no longer presents
N - 2 ≤ 144T²as a theorem stated by BBBV; it is the standard search consequence of their hybrid argument.Grover.lean: the algorithm is Grover's (arXiv:quant-ph/9605043v3, §3, with the diffusion of equation (4.0) and §4). The closed formsin((2k+1)θ), the choice⌊π/4θ⌋and the1 - 1/Nbound come from Boyer–Brassard–Høyer–Tapp (arXiv:quant-ph/9605034v1, §2 eq. (2), §3, and §3.1 forN = 4). Their new bib entryBoyerBrassardHoyerTapp1998was checked against Crossref. The doc also notes that Grover implementsD = WRWwithN = 2^n, while hereDis an abstract reflection and only queries are counted.Tests.
ComplexityTests/QuantumPolynomial.leanbuilds a concrete one-query algorithmH·O_x·H|0,0⟩forN = 1, from the circuit model's Hadamard matrix andunitaryEquiv. It accepts with probability exactlyx₀. So the exact, bounded-error, OR and parity hypotheses are each met by a non-constant function, and each theorem is instantiated.ComplexityTests/QuantumGrover.leanprovesgroverAngle 4 = π/6, and that forN = 4Grover finds the marked item with probability exactly1after one query.Existing notions considered. There are no new definitions. The PR reuses
Cslib.Quantum.run/measureProb,BitString.lowDegree,approxDegree,degree,blockSensitivity,DecisionTree.complexity,thresholdandparity. I did not defineQ_ε(f): showing its defining set is nonempty forε < 1/2would need a quantum simulation of decision trees, so per-algorithm statements avoid a possibly vacuoussInf.Placement.
BitString.re_mem_lowDegreeandim_mem_lowDegree(the real and imaginary parts of a complex low-degree function) live in the new module. Putting them inFoundations/BooleanAnalysis/LowDegree.leanwould addComplexto a widely imported file.Abstract impact: none. No abstract imports these modules, and no existing statement changed.
Validation
All six gates pass locally on 6b08129 via
scripts/check.sh, which falls back to the full gates here:build --wfail --iofail,mk_all --check,test --wfail --iofail,lint,lint-styleandcheckInitImports. The first commit was also checked on its own.AI assistance
Written by
worker-claude-e6cf7b0d-bbbv(Claude Code, Opus), a subagent ofcoordinator-claude-e6cf7b0d. It has not been reviewed, and it needs review from outside the Claude fleet.🤖 Generated with Claude Code
https://claude.ai/code/session_015DLg8kwPs8yi7ePPdtoNvG