14.5. Cross-references
HexGFqRing depends on a polynomial-arithmetic library, and a
finite-field library depends on it:
-
HexPolyFpprovides theHex.FpPolyrepresentation thatHex.GFqRing.reduceModoperates on, together with theHex.DensePoly.divModandHex.DensePoly.modoperations from whichreduceModis built. The univariate polynomial division laws packaged there are what justify the canonical-representative invariant. -
HexGFqFieldspecializes the same quotient to an irreducible modulus and adds the field structure. TheFiniteFieldtype inHexGFqFieldis a thin wrapper carrying aHex.GFqRing.PolyQuotientvalue plus the irreducibility hypothesis, so every operation inHexGFqFieldreduces through the samereduceModand the same canonical-representative invariant documented in this chapter. Downstream callers such asHexConwayreachHexGFqRingtransitively throughHexGFqField.
14.5.1. No Mathlib correspondence library
Some hex-* libraries pair the executable library with a *Mathlib
correspondence library that re-exports the executable API as theorems
about the corresponding Mathlib structures. HexGFqRing has no such
correspondence library: there is no HexGFqRingMathlib, and the
chapter therefore does not contain the "computational vs. Mathlib
correspondence" cross-reference that future chapters will include for
libraries that have one.
For HexGFqRing the canonical mathematical home of the quotient is
Mathlib's AdjoinRoot or Polynomial.quotient construction. A
correspondence between Hex.GFqRing.PolyQuotient and those
constructions is deferred to a downstream library if and when a
Mathlib-valued caller needs it.