Match a (whnfR-normalized) type against Polynomial ℤ.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The transport HexPolyZMathlib.toPolynomial as an expression.
Equations
- HexBerlekampZassenhausMathlib.FactorTactic.tomlFn = Lean.mkConst `HexPolyZMathlib.toPolynomial
Instances For
Certify a scalar equality (k : ℤ) = c by decide, checking at
elaboration time that the Boolean actually reduces to true.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Combine two parsed children through a binary transport lemma: given child
results (va, vaE, pa)/(vb, vbE, pb) with pa : toPolynomial vaE = a
(and likewise pb), produce the node value v, the executable expression
vaE ⋄ vbE, and the chained proof toPolynomial (vaE ⋄ vbE) = a ⋄ b.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Build a constant leaf from the evaluated coefficient k: value
DensePoly.C k, its literal expression, and the transport proof against the
Mathlib scalar cRhsE (certified by decide), chained through
hTail : Polynomial.C cRhsE = e when the leaf is not literally a C
application.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The parser-with-proof over Polynomial ℤ expressions: interpret
X / C / numerals / + / - / * / neg / ^ (Nat literal) (with named defs
unfolded one delta step at a time under a fuel guard), returning the
executable value v : Hex.ZPoly, an executable expression vE denoting it
(built from reified literals and executable operations), and a proof
toPolynomial vE = e (up to definitional equality on the right). Structural
heads are matched on the raw term: whnf would unfold
Polynomial.C/X/numerals into their Finsupp normal form and defeat the
match.
Parse the full input with parsePolynomial, then recombine the parsed
expression with the flat reified literal of its value through one
eq_of_beqCoeffs kernel check, yielding (f, fLit, hP) with
hP : toPolynomial fLit = e.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The decline diagnostic for factors outside both certificate languages.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Search a mixed certificate cover for a factor list: a free-layer
IrredWitness per distinct factor where one exists, a multi-prime
degree-obstruction certificate otherwise. Returns the decline diagnostic when
some factor has neither.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Reify a (factor, IrredWitness) list as a literal Expr.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Reify a (factor, multi-prime certificate) list as a literal Expr.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The untrusted factor search shared by both factor_poly arms: factors
with repetition in nondecreasing size order, plus the scalar, self-checked
against the input.
Equations
- One or more equations did not get rendered due to their size.
Instances For
One irreducibility witness of either kind for a single polynomial.
- free (w : Hex.ZPoly.IrredWitness) : OneWitness
- multi (cert : Hex.ZPolyIrreducibilityCertificate) : OneWitness
Instances For
Search a single-polynomial witness: free-layer first, multi-prime fallback; decline diagnostic for balanced inputs outside both languages, targeted errors for zero/unit/reducible inputs.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Emit irreducible_ofZ P fLit certified multiPrime (Eq.refl true) hP for a
single-polynomial witness of either kind.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Emit the free-layer proof Hex.ZPoly.Irreducible fE for a witness of
either kind.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The factor_poly arm for Polynomial ℤ: parse with proof, factorize as
untrusted search, certify the cover, and emit a reified
Hex.FactoredPoly.ofZ application.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The irreducibility arm for Polynomial ℤ.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The strong Hex.ZPoly factor_poly arm: checked after the free extension,
so it certifies covers the free layer declines (balanced factors) through the
multi-prime certificates, emitting a Hex.ZPoly.Factored whose
factors_irred is one irreducible_of_checkMultiPrimeCover check.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The strong Hex.ZPoly irreducibility arm: free-layer conclusion
Hex.ZPoly.Irreducible fE, certified through the multi-prime checker when
the free extension declined.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Match HexPolyZMathlib.toPolynomial f (or the unfolded
HexPolyMathlib.toPolynomial at R = ℤ) and return f.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Certify proof against the goal up to definitional equality and report
success.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Goal mode: close Hex.ZPoly.Irreducible e (free-layer statement),
Irreducible (toPolynomial f), and Irreducible P for parseable
P : Polynomial ℤ.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The Polynomial ℤ / strong Hex.ZPoly extension, checked by name from
Hex.FactorTactic.extensionNames; the integration tests fail if a rename makes
the extension undiscoverable. Checked after the free Hex.ZPoly
extension, so its ZPoly arms only see inputs the free layer declined.
Equations
- One or more equations did not get rendered due to their size.