Data-structures, definitions and theorems for implementing the
grind solver and normalizer for commutative rings and its extensions (e.g., fields,
commutative semirings, etc.)
The solver uses proof-by-reflection.
Equations
Instances For
Equations
Instances For
Equations
Instances For
Equations
Instances For
Equations
Instances For
Equations
Instances For
Equations
Instances For
Equations
Instances For
Equations
Instances For
Equations
Instances For
Equations
Instances For
Equations
Instances For
Equations
Instances For
Definitions for the IsCharP case
We considered using a single set of definitions parameterized by Option c or simply set c = 0 since
n % 0 = n in Lean, but decided against it to avoid unnecessary kernel‑reduction overhead.
Once we can specialize definitions before they reach the kernel,
we can merge the two versions. Until then, the IsCharP definitions will carry the C suffix.
We use them whenever we can infer the characteristic using type class instance synthesis.
Theorems for justifying the procedure for commutative rings in grind.
Theorems for justifying the procedure for commutative rings with a characteristic in grind.
Theorems for stepwise proof-term construction
Equations
Instances For
Equations
Instances For
Equations
Instances For
Equations
Instances For
Equations
Instances For
Equations
Instances For
IntModule interface
Equations
Instances For
normEq0 helper theorems
Equations
Instances For
Equations
Instances For
Equations
Instances For
Helper theorems for normalizing ring constraints in the grind order module.
Equations
Instances For
Equations
Instances For
Equations
Instances For
Equations
Instances For
Helper theorems for quick normalization