Factorization of fractional ideals of Dedekind domains #
Every nonzero fractional ideal I
of a Dedekind domain R
can be factored as a product
∏_v v^{n_v}
over the maximal ideals of R
, where the exponents n_v
are integers. We define
fractional_ideal.count K v I
(abbreviated as val_v(I)
in the documentation) to be n_v
, and we
prove some of its properties. If I = 0
, we define val_v(I) = 0
.
Main definitions #
fractional_ideal.count
: IfI
is a nonzero fractional ideal,a ∈ R
, andJ
is an ideal ofR
such thatI = a⁻¹J
, then we defineval_v(I)
as(val_v(J) - val_v(a))
. IfI = 0
, we setval_v(I) = 0
.
Main results #
ideal.factorization
: The idealI
equals the finprod∏_v v^(val_v(I))
.fractional_ideal.factorization
: IfI
is a nonzero fractional ideal,a ∈ R
, andJ
is an ideal ofR
such thatI = a⁻¹J
, thenI
is equal to the product∏_v v^(val_v(J) - val_v(a))
.fractional_ideal.factorization_principal
: For a nonzerok = r/s ∈ K
, the fractional ideal(k)
is equal to the product∏_v v^(val_v(r) - val_v(s))
.fractional_ideal.finite_factors
: IfI ≠ 0
, thenval_v(I) = 0
for all but finitely many maximal ideals ofR
.
Implementation notes #
Since we are only interested in nonzero fractional ideals, we chose to define val_v(I) = 0
so that
every val_v
is in ℤ
and we can avoid having to use with_top ℤ
.
Tags #
dedekind domain, fractional ideal, factorization
Factorization of fractional ideals of Dedekind domains #
If a prime p
divides a finprod
, then it must divide one of its factors.
If I
is a nonzero fractional ideal, a ∈ R
, and J
is an ideal of R
such that
I = a⁻¹J
, then J
is nonzero.
If I
is a nonzero fractional ideal, a ∈ R
, and J
is an ideal of R
such that
I = a⁻¹J
, then a
is nonzero.
Only finitely many maximal ideals of R
divide a given nonzero ideal.
Only finitely many maximal ideals of R
divide a given nonzero principal ideal.
For every nonzero ideal I
of v
, there are finitely many maximal ideals v
such that the
multiplicity of v
in the factorization of I
, denoted (val_v(I))
, is nonzero.
For every nonzero ideal I
of v
, there are finitely many maximal ideals v
such that
v^(val_v(I))
is not the unit ideal.
For every nonzero ideal I
of v
, there are finitely many maximal ideals v
such that
v^(val_v(I))
, regarded as a fractional ideal, is not (1)
.
For every nonzero ideal I
of v
, there are finitely many maximal ideals v
such that
v^-(val_v(I))
is not the unit ideal.
For every nonzero ideal I
of v
, v^(val_v(I) + 1)
does not divide ∏_v v^(val_v(I))
.
The multiplicity of v
in ∏_v v^(val_v(I))
equals val_v(I)
.
The ideal I
equals the finprod ∏_v v^(val_v(I))
.
The ideal I
equals the finprod ∏_v v^(val_v(I))
, when both sides are regarded as fractional
ideals of R
.
If I
is a nonzero fractional ideal, a ∈ R
, and J
is an ideal of R
such that
I = a⁻¹J
, then I
is equal to the product ∏_v v^(val_v(J) - val_v(a))
.
For a nonzero k = r/s ∈ K
, the fractional ideal (k)
is equal to the product
∏_v v^(val_v(r) - val_v(s))
.
If I
is a nonzero fractional ideal, a ∈ R
, and J
is an ideal of R
such that I = a⁻¹J
,
then we define val_v(I)
as (val_v(J) - val_v(a))
. If I = 0
, we set val_v(I) = 0
.
Equations
- fractional_ideal.count K v I = dite (I = 0) (λ (hI : I = 0), 0) (λ (hI : ¬I = 0), let a : R := classical.some _, J : ideal R := classical.some _ in ↑((associates.mk v.as_ideal).count (associates.mk J).factors) - ↑((associates.mk v.as_ideal).count (associates.mk (ideal.span {a})).factors))
val_v(I)
does not depend on the choice of a
and J
used to represent I
.
For nonzero I, I'
, val_v(I*I') = val_v(I) + val_v(I')
.
For nonzero I, I'
, val_v(I*I') = val_v(I) + val_v(I')
. If I
or I'
is zero, then
val_v(I*I') = 0
.
val_v(0) = 0.
val_v(1) = 0.
For every n ∈ ℕ
and every ideal I
, val_v(I^n) = n*val_v(I)
.
val_v(v) = 1
, when v
is regarded as a fractional ideal.
val_v(v) = n
for every n ∈ ℕ
.
val_v(I⁻ⁿ) = -val_v(Iⁿ)
for every n ∈ ℤ
.
val_v(Iⁿ) = n*val_v(I)
for every n ∈ ℤ
.
val_v(v) = n
for every n ∈ ℤ
.
If v ≠ w
are two maximal ideals of R
, then val_v(w) = 0
.
val_v(∏_{w ≠ v} w^{exps w}) = 0
.
If exps
is finitely supported, then val_v(∏_w w^{exps w}) = exps v
.
If I ≠ 0
, then val_v(I) = 0
for all but finitely many maximal ideals of R
.