Unrestricted depth-three lower bound: language bit loop invariants #
Adapted from OpenAI's formalization at revision adc7f1241b42e322a6451854ab7e4b4c146bf78a.
Source: https://github.com/openai/math/blob/adc7f1241b42e322a6451854ab7e4b4c146bf78a/lean/OAI/Computability/DepthThree/LanguageBitLoopInvariants.lean
Imports, namespaces, module visibility, documentation, and formatting are adapted for complexitylib. The source theorem statements and mathematical proofs are retained.
Scan a bit list while applying the specified XOR update.
Equations
- Complexity.DepthThreeLowerBound.xorScan x✝ [] = x✝
- Complexity.DepthThreeLowerBound.xorScan x✝ (b :: bs) = Complexity.DepthThreeLowerBound.xorScan (x✝ ^^ b) bs
Instances For
theorem
Complexity.DepthThreeLowerBound.ofFn_nat_eq_map_range
{α : Type uDepth1}
(n : ℕ)
(f : ℕ → α)
:
The partial convolution after processing one input row.
Equations
Instances For
The contribution of the input bit pair to the convolution accumulator.
Equations
Instances For
Compute the convolution of two polynomial coefficient lists.
Equations
Instances For
@[simp]
theorem
Complexity.DepthThreeLowerBound.hornerBitLists_cons
(r : ℕ)
(p h b : List Bool)
(bs : List (List Bool))
:
hornerBitLists r p h (b :: bs) = wordList (wordXor (listWord r b) (wordMulMod (listWord r p) (listWord r h) (listWord r (hornerBitLists r p h bs))))