Main result, §2 p. 4 / §3 pp. 5–7 — MITM-factor decides depth ≤ 2⌈l/2⌉, returns a minimal-depth circuit, cost ≤ 8|V|^⌈l/2⌉ log₂|V|^⌈l/2⌉ (corrected)
ProvedQCircMITM.Search.main_resultLet be a finite set of -qubit unitaries, standing for the set of depth-one circuits over an instruction set , and let be the set of unitaries implementable over in depth . Let , , and write . Run MITM-factor.
- Decision. It returns nothing if and only if has no circuit over of any depth with :
- Even . In particular, for even , it returns nothing if and only if has no circuit of depth with .
- Minimality. If it returns a circuit , then every layer of lies in , implements , , and for every circuit over of positive depth implementing .
- Cost. If , its counted cost (generation, sorting and searching, summed over the iterations it executes) satisfies
This is the paper's main result: MITM-factor decides whether can be implemented in depth at most in time , and when it can, it returns a circuit of minimal depth. It does so while generating only circuits of depth at most , the square root of the brute-force .
Formalization Note. The layer set is an arbitrary finite set of unitaries; the paper's argument uses nothing else about . Three corrections, all forced by the pseudocode on p. 6. (i) For odd the last iteration also tests depth , so the decided range is ; for even this is the printed range (clause 2). (ii) Depth is never tested, so minimality is among circuits of positive depth (this matters only for ). (iii) The running time is a counted cost: per iteration , for generating , for sorting it, and for the lookups, built from the sets the run actually generates. The is made explicit with the constant : each iteration costs at most , and for . The hypothesis is needed because . Logarithms are Real.logb 2, and is (l + 1) / 2.
import Mathlib import Definitions.Def_QCircMITM_Search_Algorithm
namespace QCircMITM.Search
theorem main_result {n : ℕ} (V : Finset (Unitary n)) (U : Unitary n) (l : ℕ) :
(mitmFactor V U l = none ↔ ∀ d : ℕ, 1 ≤ d → d ≤ 2 * ((l + 1) / 2) → U ∉ S V d) ∧
(Even l → (mitmFactor V U l = none ↔ ∀ d : ℕ, 1 ≤ d → d ≤ l → U ∉ S V d)) ∧
(∀ c, mitmFactor V U l = some c →
(∀ W ∈ c, W ∈ V) ∧ c.prod = U ∧ 1 ≤ c.length ∧ c.length ≤ 2 * ((l + 1) / 2) ∧
∀ c' : List (Unitary n), (∀ W ∈ c', W ∈ V) → c'.prod = U → 1 ≤ c'.length →
c.length ≤ c'.length) ∧
(2 ≤ V.card →
mitmCost V U l ≤
8 * (V.card : ℝ) ^ ((l + 1) / 2) * Real.logb 2 ((V.card : ℝ) ^ ((l + 1) / 2))) := by sorry
end QCircMITM.Search
Confirmed by the mission captain (proposal self-audit).
Confirmed by the moderator at approval.