Module

ErrorPowers.lean

Nyll.ValuedFieldTheory.Valuation.Henselian.Factorization.ErrorPowers
13 declarations indexed from sourceView source ↗

the power step in Hensel's iteration

This file contains the π^n-to-π^(n+1) step in the coefficientwise proof of Hensel's lemma. The preceding files produce the correction congruence modulo the maximal ideal; here it is converted into the actual improvement of the factorization error after the update g ↦ g + π^n p, h ↦ h + π^n q.

Declarations

AlgebraicNumberTheory.Valuations.henselFactorization_exists_factor_of_coeff_mem_span_singleton

coefficientwise divisibility gives a polynomial factor by the corresponding C a polynomial.

Source context 4 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
open scoped Polynomial
namespace AlgebraicNumberTheory
namespace Valuations
theorem henselFactorization_exists_factor_of_coeff_mem_span_singleton
    {R : Type*} [CommRing R] {a : R} {P : R[X]}
    (hP : ∀ i : ℕ, P.coeff i ∈ Ideal.span ({a} : Set R)) :
    ∃ Q : R[X], P = Polynomial.C a * Q
AlgebraicNumberTheory.Valuations.henselFactorization_coeff_mem_span_singleton_pow_of_factor

a displayed C(π^n) factor gives coefficientwise membership in the principal ideal (π^n).

Source context 4 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
open scoped Polynomial
namespace AlgebraicNumberTheory
namespace Valuations
theorem henselFactorization_coeff_mem_span_singleton_pow_of_factor
    {R : Type*} [CommRing R] {π : R} {n : ℕ} {P Q : R[X]}
    (hfactor : P = Polynomial.C (π ^ n) * Q) :
    ∀ i : ℕ, P.coeff i ∈ Ideal.span ({π ^ n} : Set R)
AlgebraicNumberTheory.Valuations.henselFactorization_coeff_mem_span_pow_of_factor

a displayed C(π^n) factor gives coefficientwise membership in the n-th power of the principal ideal (π).

Source context 4 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
open scoped Polynomial
namespace AlgebraicNumberTheory
namespace Valuations
theorem henselFactorization_coeff_mem_span_pow_of_factor
    {R : Type*} [CommRing R] {π : R} {n : ℕ} {P Q : R[X]}
    (hfactor : P = Polynomial.C (π ^ n) * Q) :
    ∀ i : ℕ, P.coeff i ∈ Ideal.span ({π} : Set R) ^ n
AlgebraicNumberTheory.Valuations.henselFactorization_span_singleton_le_ideal_of_mem

the principal ideal generated by an element of an ideal is contained in that ideal.

Source context 4 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
open scoped Polynomial
namespace AlgebraicNumberTheory
namespace Valuations
theorem henselFactorization_span_singleton_le_ideal_of_mem
    {R : Type*} [CommRing R] (I : Ideal R) {π : R} (hπ : π ∈ I) :
    Ideal.span ({π} : Set R) ≤ I
AlgebraicNumberTheory.Valuations.henselFactorization_coeff_mem_maximalIdeal_pow_of_factor_of_mem

local-ring form: if π lies in the maximal ideal, then a displayed C(π^n) factor has every coefficient in m^n.

Source context 4 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
open scoped Polynomial
namespace AlgebraicNumberTheory
namespace Valuations
theorem henselFactorization_coeff_mem_maximalIdeal_pow_of_factor_of_mem
    {R : Type*} [CommRing R] [IsLocalRing R] {π : R} {n : ℕ} {P Q : R[X]}
    (hπ : π ∈ IsLocalRing.maximalIdeal R)
    (hfactor : P = Polynomial.C (π ^ n) * Q) :
    ∀ i : ℕ, P.coeff i ∈ IsLocalRing.maximalIdeal R ^ n
AlgebraicNumberTheory.Valuations.henselFactorization_span_singleton_pow_mul_mem_succ

multiplying a coefficient congruent to zero modulo π by π^n puts it in (π^(n+1)).

Source context 4 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
open scoped Polynomial
namespace AlgebraicNumberTheory
namespace Valuations
theorem henselFactorization_span_singleton_pow_mul_mem_succ
    {R : Type*} [CommRing R] {π x : R} (n : ℕ)
    (hx : x ∈ Ideal.span ({π} : Set R)) :
    π ^ n * x ∈ Ideal.span ({π ^ (n + 1)} : Set R)
AlgebraicNumberTheory.Valuations.henselFactorization_pow_mul_mem_span_singleton_of_pos

a positive power of π times any coefficient is congruent to zero modulo π.

Source context 4 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
open scoped Polynomial
namespace AlgebraicNumberTheory
namespace Valuations
theorem henselFactorization_pow_mul_mem_span_singleton_of_pos
    {R : Type*} [CommRing R] {π x : R} {n : ℕ} (hn : 1 ≤ n) :
    π ^ n * x ∈ Ideal.span ({π} : Set R)
AlgebraicNumberTheory.Valuations.henselFactorization_span_singleton_pow_mul_pow_mem_succ_of_pos

the quadratic term in the Hensel update is automatically in (π^(n+1)) once n ≥ 1.

Source context 4 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
open scoped Polynomial
namespace AlgebraicNumberTheory
namespace Valuations
theorem henselFactorization_span_singleton_pow_mul_pow_mem_succ_of_pos
    {R : Type*} [CommRing R] {π x : R} {n : ℕ} (hn : 1 ≤ n) :
    π ^ n * (π ^ n * x) ∈ Ideal.span ({π ^ (n + 1)} : Set R)
AlgebraicNumberTheory.Valuations.henselFactorization_correction_congruence_symm_span_singleton

reversing the sign of a coefficientwise congruence modulo the principal ideal (π).

Source context 4 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
open scoped Polynomial
namespace AlgebraicNumberTheory
namespace Valuations
theorem henselFactorization_correction_congruence_symm_span_singleton
    {R : Type*} [CommRing R] {π : R} {A B : R[X]}
    (hcong : ∀ i : ℕ, (A - B).coeff i ∈ Ideal.span ({π} : Set R)) :
    ∀ i : ℕ, (B - A).coeff i ∈ Ideal.span ({π} : Set R)
AlgebraicNumberTheory.Valuations.henselFactorization_power_update_error_coeff_mem_span_singleton

the algebraic power-improvement step: if f - g h = π^n f_n and the chosen correction satisfies g q + h p ≡ f_n mod π, then after the update g ↦ g + π^n p, h ↦ h + π^n q, every coefficient of the new error lies in (π^(n+1)).

Source context 4 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
open scoped Polynomial
namespace AlgebraicNumberTheory
namespace Valuations
theorem henselFactorization_power_update_error_coeff_mem_span_singleton
    {R : Type*} [CommRing R] {π : R} {n : ℕ} (hn : 1 ≤ n)
    {f g h fn p q : R[X]}
    (hfactor : f - g * h = Polynomial.C (π ^ n) * fn)
    (hcorr :
      ∀ i : ℕ, (g * q + h * p - fn).coeff i ∈
        Ideal.span ({π} : Set R)) :
    ∀ i : ℕ,
      (f - (g + Polynomial.C (π ^ n) * p) *
          (h + Polynomial.C (π ^ n) * q)).coeff i ∈
        Ideal.span ({π ^ (n + 1)} : Set R)
AlgebraicNumberTheory.Valuations.henselFactorization_power_update_error_factor_exists

factor form of the power-improvement step.

Source context 4 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
open scoped Polynomial
namespace AlgebraicNumberTheory
namespace Valuations
theorem henselFactorization_power_update_error_factor_exists
    {R : Type*} [CommRing R] {π : R} {n : ℕ} (hn : 1 ≤ n)
    {f g h fn p q : R[X]}
    (hfactor : f - g * h = Polynomial.C (π ^ n) * fn)
    (hcorr :
      ∀ i : ℕ, (g * q + h * p - fn).coeff i ∈
        Ideal.span ({π} : Set R)) :
    ∃ fnNext : R[X],
      f - (g + Polynomial.C (π ^ n) * p) *
          (h + Polynomial.C (π ^ n) * q) =
        Polynomial.C (π ^ (n + 1)) * fnNext
AlgebraicNumberTheory.Valuations.henselFactorization_correction_congruence_span_singleton_of_maximalIdeal_le

maximal-ideal correction congruence rewritten through a principal ideal containing the maximal ideal.

Source context 4 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
open scoped Polynomial
namespace AlgebraicNumberTheory
namespace Valuations
theorem henselFactorization_correction_congruence_span_singleton_of_maximalIdeal_le
    {R : Type*} [CommRing R] [IsLocalRing R] {π : R} {A B : R[X]}
    (hπ : IsLocalRing.maximalIdeal R ≤ Ideal.span ({π} : Set R))
    (hcong : ∀ i : ℕ, (A - B).coeff i ∈ IsLocalRing.maximalIdeal R) :
    ∀ i : ℕ, (A - B).coeff i ∈ Ideal.span ({π} : Set R)
AlgebraicNumberTheory.Valuations.henselFactorization_power_update_error_factor_exists_of_maximalIdeal_correction_le

explicit local-ring form of the power update. This is the step used in the recursive Hensel construction when the correction congruence modulo the maximal ideal can be read modulo (π).

Source context 4 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
open scoped Polynomial
namespace AlgebraicNumberTheory
namespace Valuations
theorem henselFactorization_power_update_error_factor_exists_of_maximalIdeal_correction_le
    {R : Type*} [CommRing R] [IsLocalRing R] {π : R} {n : ℕ} (hn : 1 ≤ n)
    (hπ : IsLocalRing.maximalIdeal R ≤ Ideal.span ({π} : Set R))
    {f g h fn p q : R[X]}
    (hfactor : f - g * h = Polynomial.C (π ^ n) * fn)
    (hcorr :
      ∀ i : ℕ, (g * q + h * p - fn).coeff i ∈
        IsLocalRing.maximalIdeal R) :
    ∃ fnNext : R[X],
      f - (g + Polynomial.C (π ^ n) * p) *
          (h + Polynomial.C (π ^ n) * q) =
        Polynomial.C (π ^ (n + 1)) * fnNext