OAI/Computability/QuantumFactoring/MaskedPreparation.lean
11 declarations, 0 contain sorry, 0 declared as axioms
- lemma
OAI.ExactQuantumFactoring.rightProgram_stateline 20 - lemma
OAI.ExactQuantumFactoring.encode_append_supportedline 27 - def
OAI.ExactQuantumFactoring.maskGateline 35 - lemma
OAI.ExactQuantumFactoring.maskGate_stateline 43 - def
OAI.ExactQuantumFactoring.maskedPrefixline 54 - def
OAI.ExactQuantumFactoring.selectedPrefixline 58 - lemma
OAI.ExactQuantumFactoring.maskedPrefix_lengthline 63 - lemma
OAI.ExactQuantumFactoring.maskedPrefix_stateline 70Source documentation
The mask is ordinary retained input data. This equation is valid before any measurement and for arbitrary coherent states in the target register.
lemma maskedPrefix_state (n k : ℕ) (h : k ≤ n) (mask : Basis n) (ψ : State n) : (programMatrix (maskedPrefix n k h)).mulVec (encodeState (fun y => Fin.append mask y) ψ)= encodeState (fun y => Fin.append mask y) ((programMatrix (selectedPrefix mask k h)).mulVec ψ) := by …Mentions: OAI.ExactQuantumFactoring.Basis, OAI.ExactQuantumFactoring.State, OAI.ExactQuantumFactoring.programMatrix, OAI.ExactQuantumFactoring.maskedPrefix, OAI.ExactQuantumFactoring.encodeState, OAI.ExactQuantumFactoring.selectedPrefix
- def
OAI.ExactQuantumFactoring.prefixMaskline 80 - lemma
OAI.ExactQuantumFactoring.selectedPrefix_eqline 82 - lemma
OAI.ExactQuantumFactoring.maskedPrefix_zeroline 99Source documentation
Uniformly n gates suffice for EVERY runtime width b<=n. Unlike n fair bits, the upper n-b bits remain exactly zero, as required for the source list success bound on small cofactors.
lemma maskedPrefix_zero (n b : ℕ) (hb : b ≤ n) : (programMatrix (maskedPrefix n n le_rfl)).mulVec (basisVector (Fin.append (prefixMask n b) (fun _ => false))) = encodeState (fun y => Fin.append (prefixMask n b) y) (fun y => if ∀ i : Fin n,b ≤ i.val→y i=false then (Real.sqrt 2:ℂ)⁻¹^b else 0) := by …Mentions: OAI.ExactQuantumFactoring.programMatrix, OAI.ExactQuantumFactoring.maskedPrefix, OAI.ExactQuantumFactoring.basisVector, OAI.ExactQuantumFactoring.prefixMask, OAI.ExactQuantumFactoring.encodeState