Skip to content

commalg · ArithmeticNullstellensatzCertificate

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

Worked example

The complete checked program Decompose a polynomial by a nonstandard positive grading uses this API directly.

# SPDX-License-Identifier: MIT
# Copyright (c) 2026 Benjamin Antieau and Deven Manam
"""Decompose a polynomial by a nonstandard positive grading."""

from noether import Z
from noether.commalg import PolynomialRing, WeightedGrading


def main() -> None:
    ring = PolynomialRing(Z, ["x", "y", "z"], grading=WeightedGrading([1, 2, 3]))
    x, y, z = ring.generators()
    sparse = ring.from_terms([([0, 0, 0], 1), ([2, 0, 0], 1), ([0, 1, 0], 1)])
    polynomial = sparse + z
    assert sparse * (x + y) == (1 + x**2 + y) * (x + y)
    components = polynomial.homogeneous_components()
    assert [degree for degree, _ in components] == [0, 2, 3]
    assert x**2 + y == components[1][1]
    print(f"weighted homogeneous degrees: {[degree for degree, _ in components]}")


if __name__ == "__main__":
    main()

Run it with .venv/bin/python examples/14_weighted_polynomials.py.

commalg.ArithmeticNullstellensatzCertificate

Exact arithmetic Nullstellensatz multiplier identity over Z.

class ArithmeticNullstellensatzCertificate

noether::commalg::ArithmeticNullstellensatzCertificate · Direct Rust declaration

pub struct ArithmeticNullstellensatzCertificate { /* 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/ArithmeticNullstellensatzCertificate@1

Executable usage: validation/unit/commalg/test_polynomial_ideal_facade.py:13 · validation/unit/commalg/test_polynomial_ideal_facade.py:309 · validation/unit/commalg/test_polynomial_ideal_facade.py:314 · validation/unit/commalg/test_polynomial_ideal_facade.py:325

commalg.ArithmeticNullstellensatzCertificate.arithmetic_fiber_support

Compute arithmetic fiber support for this ArithmeticNullstellensatzCertificate.

Detailed contract

Partially factor the witness and expose its certified containing support.

(self, trial_bound: int, primality_proof_bits: int) -> ArithmeticFiberSupport

noether::commalg::ArithmeticNullstellensatzCertificate::arithmetic_fiber_support · Direct Rust declaration

pub fn arithmetic_fiber_support( &self, trial_bound: u64, primality_proof_bits: u64, ) -> Result<ArithmeticFiberSupport, ArithmeticIdealError>
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/ArithmeticNullstellensatzCertificate@1

Executable usage: validation/unit/commalg/test_polynomial_ideal_facade.py:316 · validation/unit/commalg/test_polynomial_ideal_facade.py:330

commalg.ArithmeticNullstellensatzCertificate.from_identity

Build and verify an identity against the source ideal's canonical basis.

Detailed contract

Construct and verify an exact multiplier identity. A negative witness and its multipliers are normalized simultaneously, so the stored integer is always positive.

(cls, source: Ideal[PolynomialRing[IntegerRing]], integer: int, multipliers: Sequence[Polynomial[IntegerRing]]) -> ArithmeticNullstellensatzCertificate

noether::commalg::ArithmeticNullstellensatzCertificate::from_identity · Direct Rust declaration

pub fn from_identity( source: Ideal<PolynomialRing<IntegerRing>>, integer: Integer, multipliers: Vec<Polynomial<IntegerRing>>, ) -> Result<Self, ArithmeticIdealError>
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/ArithmeticNullstellensatzCertificate@1

Executable usage: validation/unit/commalg/test_polynomial_ideal_facade.py:325

commalg.ArithmeticNullstellensatzCertificate.from_json

Deserialize and revalidate a ArithmeticNullstellensatzCertificate from typed JSON.

Detailed contract

Deserialize and verify the supplied exact identity.

(cls, value: str) -> ArithmeticNullstellensatzCertificate

noether::commalg::ArithmeticNullstellensatzCertificate::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/ArithmeticNullstellensatzCertificate@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.ArithmeticNullstellensatzCertificate.generators

Return the generators recorded by this ArithmeticNullstellensatzCertificate.

Detailed contract

Generator family appearing in the exact identity.

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

noether::commalg::ArithmeticNullstellensatzCertificate::generators · Direct Rust declaration

pub fn generators(&self) -> &[Polynomial<IntegerRing>]
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/ArithmeticNullstellensatzCertificate@1

Executable usage: examples/14_weighted_polynomials.py:11 · examples/15_groebner_twisted_cubic.py:11 · examples/15_groebner_twisted_cubic.py:19 · examples/17_weighted_power_series.py:15 · examples/18_finite_field_schemes.py:12 · examples/30_modules_and_resolutions.py:20

commalg.ArithmeticNullstellensatzCertificate.integer

Return the integer recorded by this ArithmeticNullstellensatzCertificate.

Detailed contract

Positive nonzero integer represented by the multiplier identity.

(self) -> int

noether::commalg::ArithmeticNullstellensatzCertificate::integer · Direct Rust declaration

pub fn integer(&self) -> &Integer
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/ArithmeticNullstellensatzCertificate@1

Executable usage: examples/07_integer_factorization.py:10 · examples/07_integer_factorization.py:11 · examples/07_integer_factorization.py:15 · examples/07_integer_factorization.py:3 · examples/07_integer_factorization.py:9 · examples/38_exact_linear_systems.py:78

commalg.ArithmeticNullstellensatzCertificate.is_exact_contraction

Test whether this ArithmeticNullstellensatzCertificate is exact contraction.

Detailed contract

Check whether this witness generates the exact coefficient contraction.

(self) -> bool

noether::commalg::ArithmeticNullstellensatzCertificate::is_exact_contraction · Direct Rust declaration

pub fn is_exact_contraction(&self) -> Result<bool, ArithmeticIdealError>
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/ArithmeticNullstellensatzCertificate@1

Executable usage: validation/unit/commalg/test_polynomial_ideal_facade.py:312

commalg.ArithmeticNullstellensatzCertificate.multipliers

Return the multipliers recorded by this ArithmeticNullstellensatzCertificate.

Detailed contract

Multipliers in the recorded generator order.

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

noether::commalg::ArithmeticNullstellensatzCertificate::multipliers · Direct Rust declaration

pub fn multipliers(&self) -> &[Polynomial<IntegerRing>]
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/ArithmeticNullstellensatzCertificate@1

Executable usage: validation/unit/commalg/test_polynomial_ideal_facade.py:328 · validation/bench/magma_release.py:274 · validation/bench/magma_release.py:280 · validation/bench/magma_release.py:290 · validation/bench/magma_release.py:434 · validation/bench/magma_release.py:440

commalg.ArithmeticNullstellensatzCertificate.principal_ideal

Return the principal ideal recorded by this ArithmeticNullstellensatzCertificate.

Detailed contract

Principal witness ideal (integer) in Z.

(self) -> Ideal[IntegerRing]

noether::commalg::ArithmeticNullstellensatzCertificate::principal_ideal · Direct Rust declaration

pub fn principal_ideal(&self) -> &Ideal<IntegerRing>
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/ArithmeticNullstellensatzCertificate@1

Executable usage: validation/unit/commalg/test_polynomial_ideal_facade.py:311

commalg.ArithmeticNullstellensatzCertificate.ring

Return the ring recorded by this ArithmeticNullstellensatzCertificate.

Detailed contract

Integral polynomial context of the certified generator family.

(self) -> PolynomialRing[IntegerRing]

noether::commalg::ArithmeticNullstellensatzCertificate::ring · Direct Rust declaration

pub fn ring(&self) -> &PolynomialRing<IntegerRing>
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/ArithmeticNullstellensatzCertificate@1

Executable usage: examples/11_qadic_witt_vectors.py:3 · examples/13_chinese_remainder_theorem.py:10 · examples/13_chinese_remainder_theorem.py:12 · examples/13_chinese_remainder_theorem.py:9 · examples/14_weighted_polynomials.py:10 · examples/14_weighted_polynomials.py:11

commalg.ArithmeticNullstellensatzCertificate.to_json

Serialize this ArithmeticNullstellensatzCertificate to its canonical typed JSON representation.

Detailed contract

Serialize the exact identity as typed JSON.

(self) -> str

noether::commalg::ArithmeticNullstellensatzCertificate::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/ArithmeticNullstellensatzCertificate@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.ArithmeticNullstellensatzCertificate.verify

Replay and verify the mathematical evidence carried by this ArithmeticNullstellensatzCertificate.

Detailed contract

Verify the exact multiplier identity.

(self) -> None

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

pub fn verify(&self) -> Result<(), ArithmeticIdealError>
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/ArithmeticNullstellensatzCertificate@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