Exact Fourier circuits: word scheduling #
Adapted from OpenAI's formalization at revision adc7f1241b42e322a6451854ab7e4b4c146bf78a.
Source: https://github.com/openai/math/blob/adc7f1241b42e322a6451854ab7e4b4c146bf78a/lean/OAI/Computability/FourierCircuit/WordScheduling.lean
Imports, namespaces, module visibility, documentation, and formatting are adapted for complexitylib. The source theorem statements and mathematical arguments are retained.
Place each word step at its scheduled time and use identity steps in empty slots.
Equations
- Complexity.ExactFourier.Packing.scheduledStep W time = Function.extend time (List.get W) fun (x : Fin T) => Complexity.ExactFourier.Packing.Step.mono 1 ⋯
Instances For
The block diagonal matrix of all words' scheduled steps at one time.
Equations
- Complexity.ExactFourier.Packing.scheduledLayer W time t = Matrix.blockDiagonal' fun (p : π) => (Complexity.ExactFourier.Packing.scheduledStep (W p) (time p) t).matrix
Instances For
Schedule correctness on fixed, disjoint physical supports, including every monomial.
Replace every species call by its supplied realization, retaining monomial steps.
Equations
Instances For
The total price of the word's species calls, with monomial steps uncharged.
Equations
Instances For
A unit square submatrix of a monomial matrix is monomial.
The elementary shear adding the first coordinate to the second.
Equations
Instances For
Rename a step's species and transport its call coordinates through an equivalence.
Equations
- Complexity.ExactFourier.Packing.Step.rename f e (Complexity.ExactFourier.Packing.Step.mono M h) = Complexity.ExactFourier.Packing.Step.mono M h
- Complexity.ExactFourier.Packing.Step.rename f e (Complexity.ExactFourier.Packing.Step.call t a) = Complexity.ExactFourier.Packing.Step.call (f t) ((e t).symm.toEmbedding.trans a)
Instances For
Rename the species and coordinate types of every call in a word.