§3, p. 6 — MITM-factor stops at the least positive depth (corrected: depths 1 … 2⌈l/2⌉; depth 0 is never tested)
ProvedQCircMITM.Search.terminates_at_least_depthalgorithm-correctnesscircuit-depthmeet-in-the-middlep2o-batch-pfp2ap2o-gran-per-chapterp2o-plan-paperp2o-v1quantum-circuit-synthesis
Let be a finite set of unitaries (standing for ), a unitary and . Write .
- If is the least positive depth at which can be implemented over (that is, , and for ), and , then MITM-factor returns a circuit with every layer in , implementing , and of depth exactly
- If for every , then MITM-factor returns nothing.
This is the paper's claim that the algorithm "terminates at the smallest depth for which there exists a circuit implementing ", stated in the form the pseudocode actually supports (see the note).
Formalization Note. Two corrections to the printed sentence, both forced by the pseudocode. (i) For odd the last iteration also tests depth , so the depths searched are rather than . (ii) The loop starts at , so depth is never tested: for the algorithm returns a circuit of the least positive depth, not the empty circuit. The statement holds for every finite set of unitaries .
Preamble
import Mathlib import Definitions.Def_QCircMITM_Search_Algorithm
Formal statement
namespace QCircMITM.Search
theorem terminates_at_least_depth {n : ℕ} (V : Finset (Unitary n)) (U : Unitary n) (l : ℕ) :
(∀ d : ℕ, 1 ≤ d → d ≤ 2 * ((l + 1) / 2) → U ∈ S V d →
(∀ d' : ℕ, 1 ≤ d' → d' < d → U ∉ S V d') →
∃ c, mitmFactor V U l = some c ∧ c.length = d ∧ (∀ W ∈ c, W ∈ V) ∧ c.prod = U) ∧
((∀ d : ℕ, 1 ≤ d → d ≤ 2 * ((l + 1) / 2) → U ∉ S V d) → mitmFactor V U l = none) := by sorry
end QCircMITM.Search
Source
Amy, Maslov, Mosca, Roetteler, A meet-in-the-middle algorithm for fast synthesis of depth-optimal quantum circuits, arXiv:1206.0758v3, p. 6, §3 (paragraph after the MITM-factor pseudocode)
Human review
Confirmed by the mission captain (proposal self-audit).
Confirmed by the moderator at approval.