Exact Fourier circuits: graph blocks #
Adapted from OpenAI's formalization at revision adc7f1241b42e322a6451854ab7e4b4c146bf78a.
Source: https://github.com/openai/math/blob/adc7f1241b42e322a6451854ab7e4b4c146bf78a/lean/OAI/Computability/FourierCircuit/GraphBlocks.lean
Imports, namespaces, module visibility, documentation, and formatting are adapted for complexitylib. The source theorem statements and mathematical arguments are retained.
The Hamming weight of a recursively represented bit string.
Equations
Instances For
The signed swap matrix with square equal to minus the identity.
Equations
- Complexity.ExactFourier.SignedBits.V = !![0, -1; 1, 0]
Instances For
The inverse of the signed swap matrix V.
Equations
- Complexity.ExactFourier.SignedBits.Vi = !![0, 1; -1, 0]
Instances For
The unsigned swap matrix on two coordinates.
Equations
- Complexity.ExactFourier.SignedBits.X = !![0, 1; 1, 0]
Instances For
The signed-bit matrix 1 + V ⊗ D m used in the graph-block decomposition.
Equations
- Complexity.ExactFourier.SignedBits.Q m = 1 + Matrix.kroneckerMap (fun (x1 x2 : ℂ) => x1 * x2) Complexity.ExactFourier.SignedBits.V (Complexity.ExactFourier.SignedBits.D m)
Instances For
The missing finite-win theorem, from exact comparison packing and the sparse reflection contradiction. No global price is taken as an assumption.
Exact-width mixed rounds. Monomial rounds are counted, not silently free scalar multiplications. Disjoint parallel blocks share a round.
- identity {α : Type} [Fintype α] [DecidableEq α] : Layered 1 0
- mono {α : Type} [Fintype α] [DecidableEq α] (M : Matrix α α ℂ) (hM : MonomialMatrix M) : Layered M 1
- pair (M : Matrix (Fin 2) (Fin 2) ℂ) (hM : IsUnit M) : Layered M 1
- mul {α : Type} [Fintype α] [DecidableEq α] {M N : Matrix α α ℂ} {d e : ℕ} (hM : Layered M d) (hN : Layered N e) : Layered (M * N) (d + e)
- reindex {α β : Type} [Fintype α] [Fintype β] [DecidableEq α] [DecidableEq β] (f : α ≃ β) {M : Matrix α α ℂ} {d : ℕ} (hM : Layered M d) : Layered ((Matrix.reindex f f) M) d
- sum {α β : Type} [Fintype α] [Fintype β] [DecidableEq α] [DecidableEq β] {M : Matrix α α ℂ} {N : Matrix β β ℂ} {d : ℕ} (hM : Layered M d) (hN : Layered N d) : Layered (Matrix.fromBlocks M 0 0 N) d
- weaken {α : Type} [Fintype α] [DecidableEq α] {M : Matrix α α ℂ} {d e : ℕ} (h : Layered M d) (hde : d ≤ e) : Layered M e