OAI/Computability/FourierCircuit/PortMatrices.lean
43 declarations, 0 contain sorry, 0 declared as axioms
- theorem
OAI.ExactFourier.Reindexed.unitline 15 - theorem
OAI.ExactFourier.Reindexed.mulline 18 - theorem
OAI.ExactFourier.Reindexed.symm_apply_applyline 22 - theorem
OAI.ExactFourier.Reindexed.apply_symm_applyline 28 - def
OAI.ExactFourier.OnePort.splitRightline 39Source documentation
The shared coordinate is explicitly a single PUnit port, not an unspecified padding block.
def splitRight (ι κ : Type*) : ι × (PUnit ⊕ κ) ≃ ι ⊕ (ι × κ) := …
- def
OAI.ExactFourier.OnePort.splitLeftline 43 - def
OAI.ExactFourier.OnePort.firstSelectedline 49 - def
OAI.ExactFourier.OnePort.firstRestline 54 - def
OAI.ExactFourier.OnePort.secondSelectedline 59 - def
OAI.ExactFourier.OnePort.secondRestline 64 - theorem
OAI.ExactFourier.OnePort.reindex_first_allline 69 - theorem
OAI.ExactFourier.OnePort.reindex_second_allline 78 - theorem
OAI.ExactFourier.OnePort.first_factorizationline 87 - theorem
OAI.ExactFourier.OnePort.second_factorizationline 94 - def
OAI.ExactFourier.OnePort.planeline 103Source documentation
The selected row and column have one shared coordinate. Their complement is exactly the Cartesian product of the two unshared data sets.
def plane : ((α ⊕ PUnit) × (PUnit ⊕ β)) ≃ (((α ⊕ PUnit) ⊕ β) ⊕ (α × β)) where …
- def
OAI.ExactFourier.OnePort.unionFirstline 119 - def
OAI.ExactFourier.OnePort.unionSecondline 122 - def
OAI.ExactFourier.OnePort.productline 127 - theorem
OAI.ExactFourier.OnePort.plane_firstline 130 - theorem
OAI.ExactFourier.OnePort.plane_secondline 140 - theorem
OAI.ExactFourier.OnePort.selected_unitline 150 - theorem
OAI.ExactFourier.OnePort.rest_unitline 157 - theorem
OAI.ExactFourier.OnePort.union_unitline 166 - theorem
OAI.ExactFourier.OnePort.product_isUnitline 173 - theorem
OAI.ExactFourier.OnePort.union_pricesline 177 - theorem
OAI.ExactFourier.OnePort.rest_pricesline 187 - theorem
OAI.ExactFourier.OnePort.selected_product_priceline 205 - theorem
OAI.ExactFourier.OnePort.priceline 213 - def
OAI.ExactFourier.rectangularShearline 249 - theorem
OAI.ExactFourier.rectangularShear_unitline 252 - def
OAI.ExactFourier.replayOrderline 257Source documentation
Move the dirty gate memory into a literal identity summand.
def replayOrder {n a k : ℕ} : ((Fin a ⊕ Fin n) ⊕ Fin k) ≃ ((Fin n ⊕ Fin k) ⊕ Fin a) where … - theorem
OAI.ExactFourier.replayMatrix_reindexline 263 - theorem
OAI.ExactFourier.MatrixPrice.rectangularShear_boundline 272 - theorem
OAI.ExactFourier.rectangularShear_mulline 296 - theorem
OAI.ExactFourier.rectangularShear_invline 301 - theorem
OAI.ExactFourier.MatrixPrice.rectangularShear_negline 308 - def
OAI.ExactFourier.lowerShearline 313 - theorem
OAI.ExactFourier.lowerShear_reindexline 316 - theorem
OAI.ExactFourier.lowerShear_unitline 323 - theorem
OAI.ExactFourier.MatrixPrice.lowerShear_priceline 327 - theorem
OAI.ExactFourier.signedSwap_monomialline 332 - theorem
OAI.ExactFourier.twoWay_identityline 338 - theorem
OAI.ExactFourier.MatrixPrice.twoWay_boundline 347Source documentation
Necessary pre-corner price bound: both the forward and inverse circuits are charged.
theorem MatrixPrice.twoWay_bound (p : MatrixPrice) {ι : Type} [Fintype ι] [DecidableEq ι] (G : Matrix ι ι ℂ) (hG : IsUnit G) : 2 * p.value G ≤ 2 * p.value (rectangularShear G) + p.value (rectangularShear G⁻¹) := by …Mentions: OAI.ExactFourier.MatrixPrice, OAI.ExactFourier.rectangularShear