Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Definition of irreducibility #2140

Open
thofma opened this issue Jan 8, 2025 · 5 comments
Open

Definition of irreducibility #2140

thofma opened this issue Jan 8, 2025 · 5 comments

Comments

@thofma
Copy link
Contributor

thofma commented Jan 8, 2025

At the moment, the *_poly_is_irreducible functions over finite fields say that constant polynomials are irreducible

julia> Fx, x = GF(2)["x"];

julia> is_irreducible(x^0)
true

julia> is_irreducible(0*x)
true

Before I try to fix this, I wanted to ask what the convention is that flint follows. Surely units should not be irreducible, but what about the zero polynomial?

@edgarcosta
Copy link
Member

I would say that units are not irreducible.

For these kinds of things lately, I am a great fan of looking at what mathlib says, https://leanprover-community.github.io/mathlib4_docs/Mathlib/Algebra/Prime/Defs.html#Irreducible,
as they need to choose a consistent definition.

@fingolfin
Copy link
Collaborator

I wasn't even aware that there is a debate to be had here, all text books I looked at agree on this, units and zero are never irreducible.

@thofma
Copy link
Contributor Author

thofma commented Jan 9, 2025

If one wants a consistent theory of factorization in rings, allowing non-domains, it is common to have a definition that implies that 0 is irreducible in domains.

@fredrik-johansson
Copy link
Collaborator

Agree with following mathlib.

@albinahlback
Copy link
Collaborator

Related to #2094

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

No branches or pull requests

5 participants