§3, p. 6 — iteration i of MITM-factor tests depth 2i − 1, then depth 2i
ProvedQCircMITM.Search.iteration_testsalgorithm-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 . Consider iteration of MITM-factor, which tests and then .
- The iteration returns nothing if and only if and .
- If it returns a circuit , then every layer of lies in , implements , and
In words: the first test succeeds exactly when has a circuit of depth , the second exactly when it has one of depth , and the returned circuit has that depth.
Formalization Note. is the length of the list of layers. The statement holds for every finite set of unitaries .
Preamble
import Mathlib import Definitions.Def_QCircMITM_Search_Algorithm
Formal statement
namespace QCircMITM.Search
theorem iteration_tests {n : ℕ} (V : Finset (Unitary n)) (U : Unitary n) (i : ℕ) (hi : 1 ≤ i) :
(mitmStep V U i = none ↔ U ∉ S V (2 * i - 1) ∧ U ∉ S V (2 * i)) ∧
∀ c, mitmStep V U i = some c →
(∀ W ∈ c, W ∈ V) ∧ c.prod = U ∧
(U ∈ S V (2 * i - 1) → c.length = 2 * i - 1) ∧
(U ∉ S V (2 * i - 1) → c.length = 2 * i) := 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.