Rational hitting lists: binomial bounds #
Adapted from OpenAI's formalization at revision adc7f1241b42e322a6451854ab7e4b4c146bf78a.
Source: https://github.com/openai/math/blob/adc7f1241b42e322a6451854ab7e4b4c146bf78a/lean/OAI/Computability/RationalHitting/BinomialBounds.lean
Imports, namespaces, module visibility, documentation, and formatting are adapted for complexitylib. The source theorem statements and mathematical arguments are retained.
Compute the three factorials in the binomial formula.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The register store containing the three computed factorials.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Binary multiplication embedded in the binomial register bank.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Form the factorial quotient giving the binomial coefficient.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Polynomial stack-step bound for the factorial quotient.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Compute the factorials and their quotient.
Equations
Instances For
Clear the difference and underflow registers in the zero-result case.
Equations
Instances For
Compute a binomial coefficient, including the out-of-range zero case.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Polynomial stack-step bound for the complete binomial program.
Equations
- One or more equations did not get rendered due to their size.
Instances For
A single finite program for every binomial coefficient; the inputs are unary counters, not a factorial oracle. The out-of-range case is tested by the actual stack guard.
The exact binary binomial coefficient with a fixed polynomial bound in the unary input length.