Documentation

Atlas.NumberTheoryI.code.IdealNorms

noncomputable def localModuleIndex {R : Type u_1} [CommRing R] {K : Type u_2} [Field K] [Algebra R K] [IsFractionRing R K] {M : Type u_3} [AddCommGroup M] [Module R M] (φ : M →ₗ[R] M) :
Instances For
    theorem localModuleIndex_comp_equiv {R : Type u_1} [CommRing R] [IsDomain R] {K : Type u_2} [Field K] [Algebra R K] [IsFractionRing R K] {M : Type u_3} [AddCommGroup M] [Module R M] (φ : M →ₗ[R] M) (u v : M ≃ₗ[R] M) :
    theorem localModuleIndex_comp {R : Type u_1} [CommRing R] {K : Type u_2} [Field K] [Algebra R K] [IsFractionRing R K] {M : Type u_3} [AddCommGroup M] [Module R M] (φ ψ : M →ₗ[R] M) :
    @[simp]
    theorem localModuleIndex_id {R : Type u_1} [CommRing R] {K : Type u_2} [Field K] [Algebra R K] [IsFractionRing R K] {M : Type u_3} [AddCommGroup M] [Module R M] :
    theorem prod_ne_zero_of_ne_bot {A : Type u_1} [CommRing A] [IsDomain A] (K : Type u_2) [Field K] [Algebra A K] [IsFractionRing A K] {n : ℕ} (J : Fin n → Ideal A) (hJ : ∀ (i : Fin n), J i ≠ ⊥) :
    ↑(∏ i : Fin n, J i) ≠ 0
    theorem comparison_map_membership {A : Type u_1} [CommRing A] [IsDomain A] [IsDedekindDomain A] (K : Type u_2) [Field K] [Algebra A K] [IsFractionRing A K] {V : Type u_3} [AddCommGroup V] [Module K V] [Module A V] [IsScalarTower A K V] [FiniteDimensional K V] (M N : Submodule A V) [Module.Finite A ↥M] [Module.Finite A ↥N] :
    ∃ (φ : V →ₗ[A] V), ∀ (x : V), x ∈ M ↔ φ x ∈ N
    theorem comparison_map_det_ne_zero {A : Type u_1} [CommRing A] [IsDomain A] [IsDedekindDomain A] (K : Type u_2) [Field K] [Algebra A K] [IsFractionRing A K] {V : Type u_3} [AddCommGroup V] [Module K V] [Module A V] [IsScalarTower A K V] [FiniteDimensional K V] (M N : Submodule A V) [Module.Finite A ↥M] [Module.Finite A ↥N] (φ : V →ₗ[A] V) (hφ : ∀ (x : V), x ∈ M ↔ φ x ∈ N) :
    theorem lattice_comparison_map_exists {A : Type u_1} [CommRing A] [IsDomain A] [IsDedekindDomain A] (K : Type u_2) [Field K] [Algebra A K] [IsFractionRing A K] {V : Type u_3} [AddCommGroup V] [Module K V] [Module A V] [IsScalarTower A K V] [FiniteDimensional K V] (M N : Submodule A V) [Module.Finite A ↥M] [Module.Finite A ↥N] :
    ∃ (φ : V →ₗ[A] V), (∀ (x : V), x ∈ M ↔ φ x ∈ N) ∧ (algebraMap A K) (LinearMap.det φ) ≠ 0
    theorem snf_det_eq_prod_count_at_prime {A : Type u_1} [CommRing A] [IsDomain A] [IsDedekindDomain A] (K : Type u_2) [Field K] [Algebra A K] [IsFractionRing A K] {V : Type u_3} [AddCommGroup V] [Module K V] [Module A V] [IsScalarTower A K V] [FiniteDimensional K V] (M N : Submodule A V) [Module.Finite A ↥M] [Module.Finite A ↥N] :
    N ≤ M → ∀ {n : ℕ} (J : Fin n → Ideal A), (∀ (i : Fin n), J i ≠ ⊥) → ∀ (x✝ : (↥M ⧸ Submodule.comap M.subtype N) ≃ₗ[A] DirectSum (Fin n) fun (i : Fin n) => A ⧸ J i) (φ : V →ₗ[A] V), (∀ (x : V), x ∈ M ↔ φ x ∈ N) → ∀ (v : IsDedekindDomain.HeightOneSpectrum A), FractionalIdeal.count K v (FractionalIdeal.spanSingleton (nonZeroDivisors A) ((algebraMap A K) (LinearMap.det φ))) = FractionalIdeal.count K v ↑(∏ i : Fin n, J i)
    theorem snf_local_ideal_eq_prod {A : Type u_1} [CommRing A] [IsDomain A] [IsDedekindDomain A] (K : Type u_2) [Field K] [Algebra A K] [IsFractionRing A K] {V : Type u_3} [AddCommGroup V] [Module K V] [Module A V] [IsScalarTower A K V] [FiniteDimensional K V] (M N : Submodule A V) [Module.Finite A ↥M] [Module.Finite A ↥N] (hle : N ≤ M) {n : ℕ} (J : Fin n → Ideal A) (hJ : ∀ (i : Fin n), J i ≠ ⊥) (hiso : (↥M ⧸ Submodule.comap M.subtype N) ≃ₗ[A] DirectSum (Fin n) fun (i : Fin n) => A ⧸ J i) (φ : V →ₗ[A] V) (hφ : ∀ (x : V), x ∈ M ↔ φ x ∈ N) (P : Ideal A) (x✝ : P.IsMaximal) :
    theorem snf_ideal_eq_prod {A : Type u_1} [CommRing A] [IsDomain A] [IsDedekindDomain A] (K : Type u_2) [Field K] [Algebra A K] [IsFractionRing A K] {V : Type u_3} [AddCommGroup V] [Module K V] [Module A V] [IsScalarTower A K V] [FiniteDimensional K V] (M N : Submodule A V) [Module.Finite A ↥M] [Module.Finite A ↥N] (hle : N ≤ M) {n : ℕ} (J : Fin n → Ideal A) (hJ : ∀ (i : Fin n), J i ≠ ⊥) (hiso : (↥M ⧸ Submodule.comap M.subtype N) ≃ₗ[A] DirectSum (Fin n) fun (i : Fin n) => A ⧸ J i) (φ : V →ₗ[A] V) (hφ : ∀ (x : V), x ∈ M ↔ φ x ∈ N) :
    Ideal.span {LinearMap.det φ} = ∏ i : Fin n, J i
    theorem local_det_eq_prod_at_prime {A : Type u_1} [CommRing A] [IsDomain A] [IsDedekindDomain A] (K : Type u_2) [Field K] [Algebra A K] [IsFractionRing A K] {V : Type u_3} [AddCommGroup V] [Module K V] [Module A V] [IsScalarTower A K V] [FiniteDimensional K V] (M N : Submodule A V) [Module.Finite A ↥M] [Module.Finite A ↥N] (hle : N ≤ M) {n : ℕ} (J : Fin n → Ideal A) (hJ : ∀ (i : Fin n), J i ≠ ⊥) (hiso : (↥M ⧸ Submodule.comap M.subtype N) ≃ₗ[A] DirectSum (Fin n) fun (i : Fin n) => A ⧸ J i) (φ : V →ₗ[A] V) (hφ : ∀ (x : V), x ∈ M ↔ φ x ∈ N) (P : Ideal A) (hP : P.IsMaximal) :
    theorem smith_normal_form_det_eq_prod_global {A : Type u_1} [CommRing A] [IsDomain A] [IsDedekindDomain A] (K : Type u_2) [Field K] [Algebra A K] [IsFractionRing A K] {V : Type u_3} [AddCommGroup V] [Module K V] [Module A V] [IsScalarTower A K V] [FiniteDimensional K V] (M N : Submodule A V) [Module.Finite A ↥M] [Module.Finite A ↥N] (hle : N ≤ M) {n : ℕ} (J : Fin n → Ideal A) (hJ : ∀ (i : Fin n), J i ≠ ⊥) (hiso : (↥M ⧸ Submodule.comap M.subtype N) ≃ₗ[A] DirectSum (Fin n) fun (i : Fin n) => A ⧸ J i) (φ : V →ₗ[A] V) (hφ : ∀ (x : V), x ∈ M ↔ φ x ∈ N) :
    Ideal.span {LinearMap.det φ} = ∏ i : Fin n, J i
    theorem smith_normal_form_local_at_prime {A : Type u_1} [CommRing A] [IsDomain A] [IsDedekindDomain A] (K : Type u_2) [Field K] [Algebra A K] [IsFractionRing A K] {V : Type u_3} [AddCommGroup V] [Module K V] [Module A V] [IsScalarTower A K V] [FiniteDimensional K V] (M N : Submodule A V) [Module.Finite A ↥M] [Module.Finite A ↥N] (hle : N ≤ M) {n : ℕ} (J : Fin n → Ideal A) (hJ : ∀ (i : Fin n), J i ≠ ⊥) (hiso : (↥M ⧸ Submodule.comap M.subtype N) ≃ₗ[A] DirectSum (Fin n) fun (i : Fin n) => A ⧸ J i) (φ : V →ₗ[A] V) (hφ : ∀ (x : V), x ∈ M ↔ φ x ∈ N) (P : Ideal A) (x✝ : P.IsMaximal) :
    theorem lattice_comparison_det_eq_prod {A : Type u_1} [CommRing A] [IsDomain A] [IsDedekindDomain A] (K : Type u_2) [Field K] [Algebra A K] [IsFractionRing A K] {V : Type u_3} [AddCommGroup V] [Module K V] [Module A V] [IsScalarTower A K V] [FiniteDimensional K V] (M N : Submodule A V) [Module.Finite A ↥M] [Module.Finite A ↥N] (hle : N ≤ M) {n : ℕ} (J : Fin n → Ideal A) (hJ : ∀ (i : Fin n), J i ≠ ⊥) (hiso : (↥M ⧸ Submodule.comap M.subtype N) ≃ₗ[A] DirectSum (Fin n) fun (i : Fin n) => A ⧸ J i) (φ : V →ₗ[A] V) (hφ : ∀ (x : V), x ∈ M ↔ φ x ∈ N) :
    Ideal.span {LinearMap.det φ} = ∏ i : Fin n, J i
    theorem smith_normal_form_det_eq_prod_count {A : Type u_1} [CommRing A] [IsDomain A] [IsDedekindDomain A] (K : Type u_2) [Field K] [Algebra A K] [IsFractionRing A K] {V : Type u_3} [AddCommGroup V] [Module K V] [Module A V] [IsScalarTower A K V] [FiniteDimensional K V] (M N : Submodule A V) [Module.Finite A ↥M] [Module.Finite A ↥N] :
    N ≤ M → ∀ {n : ℕ} (J : Fin n → Ideal A), (∀ (i : Fin n), J i ≠ ⊥) → ∀ (x✝ : (↥M ⧸ Submodule.comap M.subtype N) ≃ₗ[A] DirectSum (Fin n) fun (i : Fin n) => A ⧸ J i) (φ : V →ₗ[A] V), (∀ (x : V), x ∈ M ↔ φ x ∈ N) → ∀ (v : IsDedekindDomain.HeightOneSpectrum A), FractionalIdeal.count K v (FractionalIdeal.spanSingleton (nonZeroDivisors A) ((algebraMap A K) (LinearMap.det φ))) = FractionalIdeal.count K v ↑(∏ i : Fin n, J i)
    theorem product_property_from_local_analysis {A : Type u_1} [CommRing A] [IsDomain A] [IsDedekindDomain A] (K : Type u_2) [Field K] [Algebra A K] [IsFractionRing A K] {V : Type u_3} [AddCommGroup V] [Module K V] [Module A V] [IsScalarTower A K V] [FiniteDimensional K V] (M N : Submodule A V) [Module.Finite A ↥M] [Module.Finite A ↥N] (I : FractionalIdeal (nonZeroDivisors A) K) (hI : I ≠ 0) (hcount : ∀ (v : IsDedekindDomain.HeightOneSpectrum A) (φ : V →ₗ[A] V), (∀ (x : V), x ∈ M ↔ φ x ∈ N) → FractionalIdeal.count K v I = FractionalIdeal.count K v (FractionalIdeal.spanSingleton (nonZeroDivisors A) ((algebraMap A K) (LinearMap.det φ)))) :
    N ≤ M → ∀ {n : ℕ} (J : Fin n → Ideal A), (∀ (i : Fin n), J i ≠ ⊥) → ∀ (x✝ : (↥M ⧸ Submodule.comap M.subtype N) ≃ₗ[A] DirectSum (Fin n) fun (i : Fin n) => A ⧸ J i), I = ↑(∏ i : Fin n, J i)
    theorem dedekind_domain_glue_local_to_global {A : Type u_1} [CommRing A] [IsDomain A] [IsDedekindDomain A] (K : Type u_2) [Field K] [Algebra A K] [IsFractionRing A K] {V : Type u_3} [AddCommGroup V] [Module K V] [Module A V] [IsScalarTower A K V] [FiniteDimensional K V] (M N : Submodule A V) [Module.Finite A ↥M] [Module.Finite A ↥N] :
    ∃ (I : FractionalIdeal (nonZeroDivisors A) K), I ≠ 0 ∧ (N ≤ M → ∀ {n : ℕ} (J : Fin n → Ideal A), (∀ (i : Fin n), J i ≠ ⊥) → ∀ (x : (↥M ⧸ Submodule.comap M.subtype N) ≃ₗ[A] DirectSum (Fin n) fun (i : Fin n) => A ⧸ J i), I = ↑(∏ i : Fin n, J i)) ∧ ∀ (v : IsDedekindDomain.HeightOneSpectrum A) (φ : V →ₗ[A] V), (∀ (x : V), x ∈ M ↔ φ x ∈ N) → FractionalIdeal.count K v I = FractionalIdeal.count K v (FractionalIdeal.spanSingleton (nonZeroDivisors A) ((algebraMap A K) (LinearMap.det φ)))
    theorem moduleIndex_exists_with_product {A : Type u_1} [CommRing A] [IsDomain A] [IsDedekindDomain A] (K : Type u_2) [Field K] [Algebra A K] [IsFractionRing A K] {V : Type u_3} [AddCommGroup V] [Module K V] [Module A V] [IsScalarTower A K V] [FiniteDimensional K V] (M N : Submodule A V) [Module.Finite A ↥M] [Module.Finite A ↥N] :
    ∃ (I : FractionalIdeal (nonZeroDivisors A) K), I ≠ 0 ∧ (N ≤ M → ∀ {n : ℕ} (J : Fin n → Ideal A), (∀ (i : Fin n), J i ≠ ⊥) → ∀ (x : (↥M ⧸ Submodule.comap M.subtype N) ≃ₗ[A] DirectSum (Fin n) fun (i : Fin n) => A ⧸ J i), I = ↑(∏ i : Fin n, J i))
    noncomputable def moduleIndex {A : Type u_1} [CommRing A] [IsDomain A] [IsDedekindDomain A] (K : Type u_2) [Field K] [Algebra A K] [IsFractionRing A K] {V : Type u_3} [AddCommGroup V] [Module K V] [Module A V] [IsScalarTower A K V] [FiniteDimensional K V] (M N : Submodule A V) [Module.Finite A ↥M] [Module.Finite A ↥N] :
    Instances For
      theorem moduleIndex_ne_zero {A : Type u_1} [CommRing A] [IsDomain A] [IsDedekindDomain A] (K : Type u_2) [Field K] [Algebra A K] [IsFractionRing A K] {V : Type u_3} [AddCommGroup V] [Module K V] [Module A V] [IsScalarTower A K V] [FiniteDimensional K V] (M N : Submodule A V) [Module.Finite A ↥M] [Module.Finite A ↥N] :
      theorem moduleIndex_count_eq_local {A : Type u_1} [CommRing A] [IsDomain A] [IsDedekindDomain A] (K : Type u_2) [Field K] [Algebra A K] [IsFractionRing A K] {V : Type u_3} [AddCommGroup V] [Module K V] [Module A V] [IsScalarTower A K V] [FiniteDimensional K V] (M N : Submodule A V) [Module.Finite A ↥M] [Module.Finite A ↥N] (v : IsDedekindDomain.HeightOneSpectrum A) (φ : V →ₗ[A] V) (hφ : ∀ (x : V), x ∈ M ↔ φ x ∈ N) :
      theorem proposition_6_2 {A : Type u_1} [CommRing A] [IsDomain A] [IsDedekindDomain A] (K : Type u_2) [Field K] [Algebra A K] [IsFractionRing A K] {V : Type u_3} [AddCommGroup V] [Module K V] [Module A V] [IsScalarTower A K V] [FiniteDimensional K V] (M N : Submodule A V) [Module.Finite A ↥M] [Module.Finite A ↥N] :
      theorem moduleIndex_mul {A : Type u_1} [CommRing A] [IsDomain A] [IsDedekindDomain A] (K : Type u_2) [Field K] [Algebra A K] [IsFractionRing A K] {V : Type u_3} [AddCommGroup V] [Module K V] [Module A V] [IsScalarTower A K V] [FiniteDimensional K V] (M N P : Submodule A V) [Module.Finite A ↥M] [Module.Finite A ↥N] [Module.Finite A ↥P] :
      theorem moduleIndex_self {A : Type u_1} [CommRing A] [IsDomain A] [IsDedekindDomain A] (K : Type u_2) [Field K] [Algebra A K] [IsFractionRing A K] {V : Type u_3} [AddCommGroup V] [Module K V] [Module A V] [IsScalarTower A K V] [FiniteDimensional K V] (M : Submodule A V) [Module.Finite A ↥M] :
      moduleIndex K M M = 1
      theorem moduleIndex_swap {A : Type u_1} [CommRing A] [IsDomain A] [IsDedekindDomain A] (K : Type u_2) [Field K] [Algebra A K] [IsFractionRing A K] {V : Type u_3} [AddCommGroup V] [Module K V] [Module A V] [IsScalarTower A K V] [FiniteDimensional K V] (M N : Submodule A V) [Module.Finite A ↥M] [Module.Finite A ↥N] :
      theorem moduleIndex_eq_prod {A : Type u_1} [CommRing A] [IsDomain A] [IsDedekindDomain A] {K : Type u_2} [Field K] [Algebra A K] [IsFractionRing A K] {V : Type u_3} [AddCommGroup V] [Module K V] [Module A V] [IsScalarTower A K V] [FiniteDimensional K V] (M N : Submodule A V) [Module.Finite A ↥M] [Module.Finite A ↥N] (hNM : N ≤ M) {n : ℕ} (I : Fin n → Ideal A) (hI : ∀ (i : Fin n), I i ≠ ⊥) (hiso : (↥M ⧸ Submodule.comap M.subtype N) ≃ₗ[A] DirectSum (Fin n) fun (i : Fin n) => A ⧸ I i) :
      moduleIndex K M N = ↑(∏ i : Fin n, I i)
      noncomputable def concreteModuleIndex {R : Type u_1} [Ring R] {M : Type u_2} [AddCommGroup M] [Module R M] (N : Submodule R M) :
      Instances For
        @[simp]
        theorem concreteModuleIndex_top {R : Type u_1} [Ring R] {M : Type u_2} [AddCommGroup M] [Module R M] :
        theorem concreteModuleIndex_mul_tower {R : Type u_1} [Ring R] {M : Type u_2} [AddCommGroup M] [Module R M] (N P : Submodule R M) (hPN : P ≤ N) :
        Instances For
          noncomputable def fractionalIdealNorm {A : Type u_3} [CommRing A] [IsDomain A] [IsDedekindDomain A] (K : Type u_4) [Field K] [Algebra A K] [IsFractionRing A K] {L : Type u_5} [Field L] [Algebra K L] [Algebra A L] [IsScalarTower A K L] [FiniteDimensional K L] {B : Type u_6} [CommRing B] [IsDomain B] [IsDedekindDomain B] [Algebra A B] [Algebra B L] [IsScalarTower A B L] [Module.Finite A L] (𝔍 : FractionalIdeal (nonZeroDivisors B) L) :
          Instances For
            theorem fractionalIdealNorm_coeIdeal {A : Type u_3} [CommRing A] [IsDomain A] [IsDedekindDomain A] [IsIntegrallyClosed A] (K : Type u_4) [Field K] [Algebra A K] [IsFractionRing A K] {L : Type u_5} [Field L] [Algebra K L] [Algebra A L] [IsScalarTower A K L] [FiniteDimensional K L] {B : Type u_6} [CommRing B] [IsDomain B] [IsDedekindDomain B] [IsIntegrallyClosed B] [Algebra A B] [Module.Finite A B] [Module.IsTorsionFree A B] [Algebra B L] [IsScalarTower A B L] [IsFractionRing B L] [Module.Finite A L] (I : Ideal B) (hI : I ≠ ⊥) :
            theorem fractionalIdeal_multiplicative_comparison_map {A : Type u_1} [CommRing A] [IsDomain A] [IsDedekindDomain A] [IsIntegrallyClosed A] (K : Type u_2) [Field K] [Algebra A K] [IsFractionRing A K] {L : Type u_3} [Field L] [Algebra K L] [Algebra A L] [IsScalarTower A K L] [FiniteDimensional K L] {B : Type u_4} [CommRing B] [IsDomain B] [IsDedekindDomain B] [IsIntegrallyClosed B] [Algebra A B] [Module.Finite A B] [Module.IsTorsionFree A B] [Algebra B L] [IsScalarTower A B L] [IsFractionRing B L] [Module.Finite A L] (𝔍₁ 𝔍₂ : FractionalIdeal (nonZeroDivisors B) L) :
            ∃ (φ : L →ₗ[A] L), (∀ (x : L), x ∈ ⊤ ↔ φ x ∈ Submodule.restrictScalars A ↑𝔍₂) ∧ (∀ (x : L), x ∈ Submodule.restrictScalars A ↑𝔍₁ ↔ φ x ∈ Submodule.restrictScalars A ↑(𝔍₁ * 𝔍₂)) ∧ (algebraMap A K) (LinearMap.det φ) ≠ 0
            theorem fractionalIdealNorm_mul {A : Type u_3} [CommRing A] [IsDomain A] [IsDedekindDomain A] [IsIntegrallyClosed A] (K : Type u_4) [Field K] [Algebra A K] [IsFractionRing A K] {L : Type u_5} [Field L] [Algebra K L] [Algebra A L] [IsScalarTower A K L] [FiniteDimensional K L] {B : Type u_6} [CommRing B] [IsDomain B] [IsDedekindDomain B] [IsIntegrallyClosed B] [Algebra A B] [Module.Finite A B] [Module.IsTorsionFree A B] [Algebra B L] [IsScalarTower A B L] [IsFractionRing B L] [Module.Finite A L] (𝔍₁ 𝔍₂ : FractionalIdeal (nonZeroDivisors B) L) :
            fractionalIdealNorm K (𝔍₁ * 𝔍₂) = fractionalIdealNorm K 𝔍₁ * fractionalIdealNorm K 𝔍₂