Skip to content

doc: reconcile the finite-field SPECs with the shipped API - #9298

Merged
kim-em merged 3 commits into
mainfrom
ff-spec-reconcile
Aug 20, 2026
Merged

doc: reconcile the finite-field SPECs with the shipped API#9298
kim-em merged 3 commits into
mainfrom
ff-spec-reconcile

Conversation

@kim-em

@kim-em kim-em commented Aug 20, 2026

Copy link
Copy Markdown
Owner

This PR rewrites the hex-gfq, hex-conway, and hex-gfq-field SPEC API blocks to the signatures that actually ship, states the committed-table coverage limit outright, and brings hex-gfq-mathlib's SPEC up to the depth of the computational ones. The SPECs had drifted behind the implementation: the shipped FiniteField takes an extra prime witness and an ambient ZMod64.Bounds, conwayPoly takes a SupportedEntry, and GFq/GFqC/GF2q are three constructors rather than one.

It also defines the composite GF2q n ≃+* GaloisField 2 n, which both SPECs named and neither library provided; the two legs already existed. The two committed-entry classes move out of the Conway namespace into GFq, where they are declared and where a reader will look for them, along with the packed binary modulus and certificate they name. The committed-prime word bounds and two other public declarations gain docstrings, and invPoly now says what it returns at zero rather than leaving it unspecified.

🤖 Prepared with Claude Code

Kim Morrison added 3 commits August 20, 2026 05:06
Rewrites the hex-gfq, hex-conway, and hex-gfq-field SPEC API blocks to
the signatures that actually ship, states the committed-table coverage
limit outright, and brings hex-gfq-mathlib's SPEC up to the depth of the
computational ones.

Defines the composite GF2q n = GaloisField 2 n, which both SPECs named
and neither library provided, moves the two committed-entry classes out
of the Conway namespace into GFq where they are declared, documents the
committed-prime word bounds and two other public declarations, and says
what invPoly does at zero instead of leaving it unspecified.

Progress file: progress/2026-07-28T12-36-04Z.md
The move of hex-gfq's committed-entry block from Hex.Conway to Hex.GFq
renamed every declaration in it, not just the two classes; the chapter
still cited packedGF2Entry_2_1_irreducible and its siblings by their old
path.
@kim-em
kim-em merged commit fb9c56c into main Aug 20, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant