Skip to content

commalg · GrauertRemmertStep

20 accepted declarations. Python and Rust forms, contracts, evidence, failure boundaries, and checked usages are kept together below.

Worked example

The complete checked program Normalize the cusp y^2=x^3 with exact conductor evidence uses this API directly.

# SPDX-License-Identifier: MIT
# Copyright (c) 2026 Benjamin Antieau and Deven Manam
"""Normalize the cusp y^2=x^3 with exact conductor evidence."""

from noether import Q
from noether.commalg import PolynomialRing


def main() -> None:
    ring = PolynomialRing(Q, ["x", "y"])
    x, y = ring.generators()
    cusp = ring.ideal([y**2 - x**3])
    normalization = cusp.normalization()
    normalization.verify()

    target = normalization.normal_algebra.base_ring
    t = target.generator(0)
    assert normalization.coordinate_images == [t**2, t**3]
    assert normalization.source_conductor == ring.ideal([x, y])
    assert not normalization.is_normal
    print(
        f"cusp normalization: x -> t^2, y -> t^3; proof={normalization.proof_kind}, conductor=(x,y)"
    )


if __name__ == "__main__":
    main()

Run it with .venv/bin/python examples/36_affine_normalization.py.

commalg.GrauertRemmertStep

One verified finite birational Grauert--Remmert end-ring extension.

class GrauertRemmertStep

noether::commalg::GrauertRemmertStep · Direct Rust declaration

pub struct GrauertRemmertStep<R: Field + Display> { /* private fields */ }
Contract Value
Guarantee checked deterministic result
Determinism deterministic
Availability default CPU build
Domain implementation crates noether, flint-core, groebner-kernel, module-core, poly-core, resolution-kernel
GIL attached / bounded
Semantic ID noether/commalg/GrauertRemmertStep@1

Executable usage: validation/unit/commalg/test_affine_normalization_facade.py:12 · validation/unit/commalg/test_affine_normalization_facade.py:124 · validation/unit/commalg/test_affine_normalization_facade.py:133

commalg.GrauertRemmertStep.coordinate_images

Return the coordinate images recorded by this GrauertRemmertStep.

Detailed contract

Images of the source coordinates in the target presentation.

(self) -> list[Polynomial[C]]

noether::commalg::GrauertRemmertStep::coordinate_images · Direct Rust declaration

pub fn coordinate_images(&self) -> &[Polynomial<R>]
Contract Value
Guarantee checked deterministic result
Determinism deterministic
Availability default CPU build
Domain implementation crates noether, flint-core, groebner-kernel, module-core, poly-core, resolution-kernel
GIL attached / bounded
Semantic ID noether/commalg/GrauertRemmertStep@1

Executable usage: examples/36_affine_normalization.py:18 · validation/unit/commalg/test_affine_normalization_facade.py:33 · validation/unit/commalg/test_affine_normalization_facade.py:69 · validation/bench/macaulay2_normalization.py:218 · validation/bench/macaulay2_normalization.py:219 · validation/corpus/commalg/cusp-normalization-conductor.py:18

commalg.GrauertRemmertStep.denominator

Return the denominator recorded by this GrauertRemmertStep.

Detailed contract

Nonzero denominator g of the adjoined endomorphism u/g.

(self) -> Polynomial[C]

noether::commalg::GrauertRemmertStep::denominator · Direct Rust declaration

pub fn denominator(&self) -> &Polynomial<R>
Contract Value
Guarantee checked deterministic result
Determinism deterministic
Availability default CPU build
Domain implementation crates noether, flint-core, groebner-kernel, module-core, poly-core, resolution-kernel
GIL attached / bounded
Semantic ID noether/commalg/GrauertRemmertStep@1

Executable usage: validation/unit/commalg/test_curve_facade.py:51 · validation/unit/commalg/test_curve_facade.py:52 · validation/unit/commalg/test_curve_facade.py:93 · validation/unit/commalg/test_curve_facade.py:96 · validation/unit/commalg/test_local_algebra.py:30 · validation/unit/commalg/test_local_algebra.py:46

commalg.GrauertRemmertStep.fraction_denominators

Return the fraction denominators recorded by this GrauertRemmertStep.

Detailed contract

Fraction denominators for target ambient generators in Frac(A).

(self) -> list[Polynomial[C]]

noether::commalg::GrauertRemmertStep::fraction_denominators · Direct Rust declaration

pub fn fraction_denominators(&self) -> &[Polynomial<R>]
Contract Value
Guarantee checked deterministic result
Determinism deterministic
Availability default CPU build
Domain implementation crates noether, flint-core, groebner-kernel, module-core, poly-core, resolution-kernel
GIL attached / bounded
Semantic ID noether/commalg/GrauertRemmertStep@1

Executable usage: validation/unit/commalg/test_affine_normalization_facade.py:102 · validation/unit/commalg/test_affine_normalization_facade.py:110 · validation/unit/commalg/test_affine_normalization_facade.py:36

commalg.GrauertRemmertStep.fraction_numerators

Return the fraction numerators recorded by this GrauertRemmertStep.

Detailed contract

Fraction numerators for target ambient generators in Frac(A).

(self) -> list[Polynomial[C]]

noether::commalg::GrauertRemmertStep::fraction_numerators · Direct Rust declaration

pub fn fraction_numerators(&self) -> &[Polynomial<R>]
Contract Value
Guarantee checked deterministic result
Determinism deterministic
Availability default CPU build
Domain implementation crates noether, flint-core, groebner-kernel, module-core, poly-core, resolution-kernel
GIL attached / bounded
Semantic ID noether/commalg/GrauertRemmertStep@1

Executable usage: validation/unit/commalg/test_affine_normalization_facade.py:101 · validation/unit/commalg/test_affine_normalization_facade.py:109 · validation/unit/commalg/test_affine_normalization_facade.py:35

commalg.GrauertRemmertStep.from_json

Deserialize and revalidate a GrauertRemmertStep from typed JSON.

Detailed contract

Deserialize and exactly reverify one end-ring step.

(cls, value: str) -> GrauertRemmertStep[RationalField | FiniteField]

noether::commalg::GrauertRemmertStep::from_json · Direct Rust declaration

pub fn from_json(value: &str) -> Result<Self, NoetherError>
Contract Value
Guarantee checked deterministic result
Determinism deterministic
Availability default CPU build
Domain implementation crates noether, flint-core, groebner-kernel, module-core, poly-core, resolution-kernel
GIL attached / bounded
Semantic ID noether/commalg/GrauertRemmertStep@1

Executable usage: validation/unit/category/test_category.py:14 · validation/unit/combin/test_acceptance_workload.py:65 · validation/unit/combin/test_acceptance_workload.py:86 · validation/unit/combin/test_graph_facade.py:106 · validation/unit/combin/test_graph_facade.py:25 · validation/unit/combinatorics/test_kashiwara_crystal.py:32

commalg.GrauertRemmertStep.integral_equations

Return the integral equations recorded by this GrauertRemmertStep.

Detailed contract

Monic equations for the target ambient generators over the source.

(self) -> list[list[Polynomial[C]]]

noether::commalg::GrauertRemmertStep::integral_equations · Direct Rust declaration

pub fn integral_equations(&self) -> &[Vec<Polynomial<R>>]
Contract Value
Guarantee checked deterministic result
Determinism deterministic
Availability default CPU build
Domain implementation crates noether, flint-core, groebner-kernel, module-core, poly-core, resolution-kernel
GIL attached / bounded
Semantic ID noether/commalg/GrauertRemmertStep@1

Executable usage: validation/unit/commalg/test_affine_normalization_facade.py:34

commalg.GrauertRemmertStep.numerator

Return the numerator recorded by this GrauertRemmertStep.

Detailed contract

Numerator u of the adjoined endomorphism u/g.

(self) -> Polynomial[C]

noether::commalg::GrauertRemmertStep::numerator · Direct Rust declaration

pub fn numerator(&self) -> &Polynomial<R>
Contract Value
Guarantee checked deterministic result
Determinism deterministic
Availability default CPU build
Domain implementation crates noether, flint-core, groebner-kernel, module-core, poly-core, resolution-kernel
GIL attached / bounded
Semantic ID noether/commalg/GrauertRemmertStep@1

Executable usage: validation/unit/commalg/test_curve_facade.py:51 · validation/unit/commalg/test_curve_facade.py:52 · validation/unit/commalg/test_curve_facade.py:93 · validation/unit/commalg/test_curve_facade.py:95 · validation/unit/commalg/test_local_algebra.py:29 · validation/unit/commalg/test_monomial_ideal_facade.py:86

commalg.GrauertRemmertStep.proof_kind

Return the proof kind recorded by this GrauertRemmertStep.

Detailed contract

Stable proof-route name.

(self) -> str

noether::commalg::GrauertRemmertStep::proof_kind · Direct Rust declaration

pub const fn proof_kind(&self) -> &'static str
Contract Value
Guarantee checked deterministic result
Determinism deterministic
Availability default CPU build
Domain implementation crates noether, flint-core, groebner-kernel, module-core, poly-core, resolution-kernel
GIL attached / bounded
Semantic ID noether/commalg/GrauertRemmertStep@1

Executable usage: examples/36_affine_normalization.py:22 · validation/unit/commalg/test_affine_normalization_facade.py:128 · validation/unit/commalg/test_affine_normalization_facade.py:162 · validation/unit/commalg/test_affine_normalization_facade.py:216 · validation/unit/commalg/test_affine_normalization_facade.py:31 · validation/unit/commalg/test_affine_normalization_facade.py:60

commalg.GrauertRemmertStep.source

Return the source recorded by this GrauertRemmertStep.

Detailed contract

Defining prime ideal of the source domain.

(self) -> Ideal[PolynomialRing[C]]

noether::commalg::GrauertRemmertStep::source · Direct Rust declaration

pub fn source(&self) -> &Ideal<PolynomialRing<R>>
Contract Value
Guarantee checked deterministic result
Determinism deterministic
Availability default CPU build
Domain implementation crates noether, flint-core, groebner-kernel, module-core, poly-core, resolution-kernel
GIL attached / bounded
Semantic ID noether/commalg/GrauertRemmertStep@1

Executable usage: examples/09_finite_field_isomorphisms.py:11 · examples/09_finite_field_isomorphisms.py:13 · examples/09_finite_field_isomorphisms.py:9 · examples/30_modules_and_resolutions.py:34 · examples/30_modules_and_resolutions.py:37 · validation/unit/category/test_acceptance_workload.py:25

commalg.GrauertRemmertStep.source_algebra

Return the source algebra recorded by this GrauertRemmertStep.

Detailed contract

Source coordinate algebra.

(self) -> QuotientRing[C]

noether::commalg::GrauertRemmertStep::source_algebra · Direct Rust declaration

pub fn source_algebra(&self) -> &QuotientRing<PolynomialRing<R>>
Contract Value
Guarantee checked deterministic result
Determinism deterministic
Availability default CPU build
Domain implementation crates noether, flint-core, groebner-kernel, module-core, poly-core, resolution-kernel
GIL attached / bounded
Semantic ID noether/commalg/GrauertRemmertStep@1

Executable usage: validation/unit/commalg/test_affine_normalization_facade.py:182 · validation/unit/commalg/test_affine_normalization_facade.py:189 · validation/unit/commalg/test_affine_normalization_facade.py:41

commalg.GrauertRemmertStep.source_prime

Return the source prime recorded by this GrauertRemmertStep.

Detailed contract

Exact primality evidence for the source.

(self) -> PolynomialPrimeCertificate[C]

noether::commalg::GrauertRemmertStep::source_prime · Direct Rust declaration

pub fn source_prime(&self) -> &PolynomialPrimeCertificate<R>
Contract Value
Guarantee checked deterministic result
Determinism deterministic
Availability default CPU build
Domain implementation crates noether, flint-core, groebner-kernel, module-core, poly-core, resolution-kernel
GIL attached / bounded
Semantic ID noether/commalg/GrauertRemmertStep@1

Executable usage: validation/unit/commalg/test_affine_normalization_facade.py:126 · validation/unit/commalg/test_affine_normalization_facade.py:30

commalg.GrauertRemmertStep.structure_map

Return the structure map recorded by this GrauertRemmertStep.

Detailed contract

Checked finite birational map from source to target.

(self) -> QuotientRingMap[C, C]

noether::commalg::GrauertRemmertStep::structure_map · Direct Rust declaration

pub fn structure_map(&self) -> &GrauertRemmertStepMap<R>
Contract Value
Guarantee checked deterministic result
Determinism deterministic
Availability default CPU build
Domain implementation crates noether, flint-core, groebner-kernel, module-core, poly-core, resolution-kernel
GIL attached / bounded
Semantic ID noether/commalg/GrauertRemmertStep@1

Executable usage: validation/unit/commalg/test_affine_normalization_facade.py:40

commalg.GrauertRemmertStep.target

Return the target recorded by this GrauertRemmertStep.

Detailed contract

Defining prime ideal of the target presentation.

(self) -> Ideal[PolynomialRing[C]]

noether::commalg::GrauertRemmertStep::target · Direct Rust declaration

pub fn target(&self) -> &Ideal<PolynomialRing<R>>
Contract Value
Guarantee checked deterministic result
Determinism deterministic
Availability default CPU build
Domain implementation crates noether, flint-core, groebner-kernel, module-core, poly-core, resolution-kernel
GIL attached / bounded
Semantic ID noether/commalg/GrauertRemmertStep@1

Executable usage: examples/09_finite_field_isomorphisms.py:10 · examples/09_finite_field_isomorphisms.py:11 · examples/30_modules_and_resolutions.py:33 · examples/30_modules_and_resolutions.py:38 · examples/31_local_fields_and_precision.py:27 · examples/36_affine_normalization.py:16

commalg.GrauertRemmertStep.target_algebra

Return the target algebra recorded by this GrauertRemmertStep.

Detailed contract

Finite birational target coordinate algebra.

(self) -> QuotientRing[C]

noether::commalg::GrauertRemmertStep::target_algebra · Direct Rust declaration

pub fn target_algebra(&self) -> &QuotientRing<PolynomialRing<R>>
Contract Value
Guarantee checked deterministic result
Determinism deterministic
Availability default CPU build
Domain implementation crates noether, flint-core, groebner-kernel, module-core, poly-core, resolution-kernel
GIL attached / bounded
Semantic ID noether/commalg/GrauertRemmertStep@1

commalg.GrauertRemmertStep.target_prime

Return the target prime recorded by this GrauertRemmertStep.

Detailed contract

Exact primality evidence for the target.

(self) -> PolynomialPrimeCertificate[C]

noether::commalg::GrauertRemmertStep::target_prime · Direct Rust declaration

pub fn target_prime(&self) -> &PolynomialPrimeCertificate<R>
Contract Value
Guarantee checked deterministic result
Determinism deterministic
Availability default CPU build
Domain implementation crates noether, flint-core, groebner-kernel, module-core, poly-core, resolution-kernel
GIL attached / bounded
Semantic ID noether/commalg/GrauertRemmertStep@1

Executable usage: validation/unit/commalg/test_affine_normalization_facade.py:130

commalg.GrauertRemmertStep.test_ideal

Return the test ideal recorded by this GrauertRemmertStep.

Detailed contract

Radical Jacobian test ideal J.

(self) -> Ideal[PolynomialRing[C]]

noether::commalg::GrauertRemmertStep::test_ideal · Direct Rust declaration

pub fn test_ideal(&self) -> &Ideal<PolynomialRing<R>>
Contract Value
Guarantee checked deterministic result
Determinism deterministic
Availability default CPU build
Domain implementation crates noether, flint-core, groebner-kernel, module-core, poly-core, resolution-kernel
GIL attached / bounded
Semantic ID noether/commalg/GrauertRemmertStep@1

Executable usage: validation/unit/commalg/test_affine_normalization_facade.py:127

commalg.GrauertRemmertStep.theorem

Return the theorem recorded by this GrauertRemmertStep.

Detailed contract

Exact theorem certified by this step.

(self) -> str

noether::commalg::GrauertRemmertStep::theorem · Direct Rust declaration

pub const fn theorem(&self) -> &'static str
Contract Value
Guarantee checked deterministic result
Determinism deterministic
Availability default CPU build
Domain implementation crates noether, flint-core, groebner-kernel, module-core, poly-core, resolution-kernel
GIL attached / bounded
Semantic ID noether/commalg/GrauertRemmertStep@1

Executable usage: examples/13_chinese_remainder_theorem.py:3 · validation/unit/commalg/test_polynomial_ideal_facade.py:1150 · validation/unit/commalg/test_polynomial_ideal_facade.py:507 · validation/unit/commalg/test_polynomial_ideal_facade.py:583 · validation/unit/commalg/test_polynomial_ideal_facade.py:659 · validation/unit/homalg/test_module_facade.py:509

commalg.GrauertRemmertStep.to_json

Serialize this GrauertRemmertStep to its canonical typed JSON representation.

Detailed contract

Serialize the complete end-ring extension evidence.

(self) -> str

noether::commalg::GrauertRemmertStep::to_json · Direct Rust declaration

pub fn to_json(&self) -> Result<String, NoetherError>
Contract Value
Guarantee checked deterministic result
Determinism deterministic
Availability default CPU build
Domain implementation crates noether, flint-core, groebner-kernel, module-core, poly-core, resolution-kernel
GIL attached / bounded
Semantic ID noether/commalg/GrauertRemmertStep@1

Executable usage: validation/unit/category/test_category.py:14 · validation/unit/category/test_category.py:15 · validation/unit/combin/test_acceptance_workload.py:30 · validation/unit/combin/test_acceptance_workload.py:65 · validation/unit/combin/test_acceptance_workload.py:86 · validation/unit/combin/test_graph_facade.py:106

commalg.GrauertRemmertStep.verify

Replay and verify the mathematical evidence carried by this GrauertRemmertStep.

Detailed contract

Replay the test ideal, end-ring witness, prime presentations, finite map, monic equations, and fraction identities.

(self) -> None

noether::commalg::GrauertRemmertStep::verify · Direct Rust declaration

pub fn verify(&self) -> Result<(), AffineNormalizationError>
Contract Value
Guarantee checked deterministic result
Determinism deterministic
Availability default CPU build
Domain implementation crates noether, flint-core, groebner-kernel, module-core, poly-core, resolution-kernel
GIL attached / bounded
Semantic ID noether/commalg/GrauertRemmertStep@1

Executable usage: examples/01_bezout_certificates.py:10 · examples/01_bezout_certificates.py:3 · examples/03_exact_linear_systems.py:13 · examples/03_exact_linear_systems.py:3 · examples/04_smith_normal_form.py:12 · examples/06_shortest_lattice_vectors.py:12