Documentation

Mathlib.RingTheory.DedekindDomain.Different

The different ideal #

Main definition #

Main results #

TODO #

noncomputable def Submodule.traceDual (A : Type u_1) (K : Type u_2) {L : Type u} {B : Type u_3} [CommRing A] [Field K] [CommRing B] [Field L] [Algebra A K] [Algebra B L] [Algebra A B] [Algebra K L] [Algebra A L] [IsScalarTower A K L] [IsScalarTower A B L] (I : Submodule B L) :

Under the AKLB setting, Iแต› := traceDual A K (I : Submodule B L) is the Submodule B L such that x โˆˆ Iแต› โ†” โˆ€ y โˆˆ I, Tr(x, y) โˆˆ A

Instances For
    theorem Submodule.mem_traceDual {A : Type u_1} {K : Type u_2} {L : Type u} {B : Type u_3} [CommRing A] [Field K] [CommRing B] [Field L] [Algebra A K] [Algebra B L] [Algebra A B] [Algebra K L] [Algebra A L] [IsScalarTower A K L] [IsScalarTower A B L] {I : Submodule B L} {x : L} :
    x โˆˆ traceDual A K I โ†” โˆ€ a โˆˆ I, ((Algebra.traceForm K L) x) a โˆˆ (algebraMap A K).range
    theorem Submodule.le_traceDual_iff_map_le_one {A : Type u_1} {K : Type u_2} {L : Type u} {B : Type u_3} [CommRing A] [Field K] [CommRing B] [Field L] [Algebra A K] [Algebra B L] [Algebra A B] [Algebra K L] [Algebra A L] [IsScalarTower A K L] [IsScalarTower A B L] {I J : Submodule B L} :
    I โ‰ค traceDual A K J โ†” map (โ†‘A (Algebra.trace K L)) (restrictScalars A (I * J)) โ‰ค 1
    theorem Submodule.le_traceDual_mul_iff {A : Type u_1} {K : Type u_2} {L : Type u} {B : Type u_3} [CommRing A] [Field K] [CommRing B] [Field L] [Algebra A K] [Algebra B L] [Algebra A B] [Algebra K L] [Algebra A L] [IsScalarTower A K L] [IsScalarTower A B L] {I J J' : Submodule B L} :
    I โ‰ค traceDual A K (J * J') โ†” I * J โ‰ค traceDual A K J'
    theorem Submodule.le_traceDual {A : Type u_1} {K : Type u_2} {L : Type u} {B : Type u_3} [CommRing A] [Field K] [CommRing B] [Field L] [Algebra A K] [Algebra B L] [Algebra A B] [Algebra K L] [Algebra A L] [IsScalarTower A K L] [IsScalarTower A B L] {I J : Submodule B L} :
    I โ‰ค traceDual A K J โ†” I * J โ‰ค traceDual A K 1
    theorem Submodule.le_traceDual_comm {A : Type u_1} {K : Type u_2} {L : Type u} {B : Type u_3} [CommRing A] [Field K] [CommRing B] [Field L] [Algebra A K] [Algebra B L] [Algebra A B] [Algebra K L] [Algebra A L] [IsScalarTower A K L] [IsScalarTower A B L] {I J : Submodule B L} :
    I โ‰ค traceDual A K J โ†” J โ‰ค traceDual A K I
    theorem Submodule.le_traceDual_traceDual {A : Type u_1} {K : Type u_2} {L : Type u} {B : Type u_3} [CommRing A] [Field K] [CommRing B] [Field L] [Algebra A K] [Algebra B L] [Algebra A B] [Algebra K L] [Algebra A L] [IsScalarTower A K L] [IsScalarTower A B L] {I : Submodule B L} :
    @[simp]
    theorem Submodule.restrictScalars_traceDual {A : Type u_1} {K : Type u_2} {L : Type u} {B : Type u_3} [CommRing A] [Field K] [CommRing B] [Field L] [Algebra A K] [Algebra B L] [Algebra A B] [Algebra K L] [Algebra A L] [IsScalarTower A K L] [IsScalarTower A B L] {I : Submodule B L} :
    theorem Submodule.traceDual_span_of_basis (A : Type u_1) {K : Type u_2} {L : Type u} {B : Type u_4} [CommRing A] [Field K] [CommRing B] [Field L] [Algebra A K] [Algebra B L] [Algebra A B] [Algebra K L] [Algebra A L] [IsScalarTower A K L] [IsScalarTower A B L] [FiniteDimensional K L] [Algebra.IsSeparable K L] (I : Submodule B L) {ฮน : Type u_3} [Finite ฮน] [DecidableEq ฮน] (b : Module.Basis ฮน K L) (hb : restrictScalars A I = span A (Set.range โ‡‘b)) :

    If the module I is spanned by the basis b, then its traceDual module is spanned by b.traceDual.

    @[simp]
    theorem Submodule.traceDual_bot {A : Type u_1} {K : Type u_2} {L : Type u} {B : Type u_3} [CommRing A] [Field K] [CommRing B] [Field L] [Algebra A K] [Algebra B L] [Algebra A B] [Algebra K L] [Algebra A L] [IsScalarTower A K L] [IsScalarTower A B L] :
    theorem Submodule.traceDual_top' {A : Type u_1} {K : Type u_2} {L : Type u} {B : Type u_3} [CommRing A] [Field K] [CommRing B] [Field L] [Algebra A K] [Algebra B L] [Algebra A B] [Algebra K L] [Algebra A L] [IsScalarTower A K L] [IsScalarTower A B L] :
    theorem Submodule.traceDual_top {A : Type u_1} {K : Type u_2} {L : Type u} {B : Type u_3} [CommRing A] [Field K] [CommRing B] [Field L] [Algebra A K] [Algebra B L] [Algebra A B] [Algebra K L] [Algebra A L] [IsScalarTower A K L] [IsScalarTower A B L] [IsDomain A] [IsFractionRing A K] [FiniteDimensional K L] [Algebra.IsSeparable K L] [Decidable (IsField A)] :
    theorem Submodule.mem_traceDual_iff_isIntegral {A : Type u_1} {K : Type u_2} {L : Type u} {B : Type u_3} [CommRing A] [Field K] [CommRing B] [Field L] [Algebra A K] [Algebra B L] [Algebra A B] [Algebra K L] [Algebra A L] [IsScalarTower A K L] [IsScalarTower A B L] [IsFractionRing A K] [IsIntegrallyClosed A] {I : Submodule B L} {x : L} :
    x โˆˆ traceDual A K I โ†” โˆ€ a โˆˆ I, IsIntegral A (((Algebra.traceForm K L) x) a)
    theorem Submodule.one_le_traceDual_one {A : Type u_1} {K : Type u_2} {L : Type u} {B : Type u_3} [CommRing A] [Field K] [CommRing B] [Field L] [Algebra A K] [Algebra B L] [Algebra A B] [Algebra K L] [Algebra A L] [IsScalarTower A K L] [IsScalarTower A B L] [IsFractionRing A K] [IsIntegrallyClosed A] [FiniteDimensional K L] [IsIntegralClosure B A L] :
    theorem isIntegral_discr_mul_of_mem_traceDual {A : Type u_1} {K : Type u_2} {L : Type u} {B : Type u_3} [CommRing A] [Field K] [CommRing B] [Field L] [Algebra A K] [Algebra B L] [Algebra A B] [Algebra K L] [Algebra A L] [IsScalarTower A K L] [IsScalarTower A B L] [IsFractionRing A K] [IsIntegrallyClosed A] [FiniteDimensional K L] [IsIntegralClosure B A L] [Algebra.IsSeparable K L] (I : Submodule B L) {ฮน : Type u_4} [DecidableEq ฮน] [Fintype ฮน] {b : Module.Basis ฮน K L} (hb : โˆ€ (i : ฮน), IsIntegral A (b i)) {a x : L} (ha : a โˆˆ I) (hx : x โˆˆ Submodule.traceDual A K I) :
    IsIntegral A (Algebra.discr K โ‡‘b โ€ข a * x)

    If b is an A-integral basis of L with discriminant b, then d โ€ข a * x is integral over A for all a โˆˆ I and x โˆˆ Iแต›.

    noncomputable def FractionalIdeal.dual (A : Type u_1) (K : Type u_2) {L : Type u} {B : Type u_3} [CommRing A] [Field K] [CommRing B] [Field L] [Algebra A K] [Algebra B L] [Algebra A B] [Algebra K L] [Algebra A L] [IsScalarTower A K L] [IsScalarTower A B L] [IsFractionRing A K] [IsIntegrallyClosed A] [FiniteDimensional K L] [IsIntegralClosure B A L] [Algebra.IsSeparable K L] [IsDomain A] [IsFractionRing B L] [Nontrivial B] [NoZeroDivisors B] (I : FractionalIdeal (nonZeroDivisors B) L) :

    The dual of a non-zero fractional ideal is the dual of the submodule under the trace form.

    Instances For
      theorem FractionalIdeal.coe_dual (A : Type u_1) (K : Type u_2) {L : Type u} {B : Type u_3} [CommRing A] [Field K] [CommRing B] [Field L] [Algebra A K] [Algebra B L] [Algebra A B] [Algebra K L] [Algebra A L] [IsScalarTower A K L] [IsScalarTower A B L] [IsDomain A] [IsFractionRing A K] [FiniteDimensional K L] [Algebra.IsSeparable K L] [IsIntegralClosure B A L] [IsFractionRing B L] [IsIntegrallyClosed A] [IsDedekindDomain B] {I : FractionalIdeal (nonZeroDivisors B) L} (hI : I โ‰  0) :
      โ†‘(dual A K I) = Submodule.traceDual A K โ†‘I
      @[simp]
      theorem FractionalIdeal.coe_dual_one (A : Type u_1) (K : Type u_2) (L : Type u) (B : Type u_3) [CommRing A] [Field K] [CommRing B] [Field L] [Algebra A K] [Algebra B L] [Algebra A B] [Algebra K L] [Algebra A L] [IsScalarTower A K L] [IsScalarTower A B L] [IsDomain A] [IsFractionRing A K] [FiniteDimensional K L] [Algebra.IsSeparable K L] [IsIntegralClosure B A L] [IsFractionRing B L] [IsIntegrallyClosed A] [IsDedekindDomain B] :
      โ†‘(dual A K 1) = Submodule.traceDual A K 1
      @[simp]
      theorem FractionalIdeal.dual_zero (A : Type u_1) (K : Type u_2) (L : Type u) (B : Type u_3) [CommRing A] [Field K] [CommRing B] [Field L] [Algebra A K] [Algebra B L] [Algebra A B] [Algebra K L] [Algebra A L] [IsScalarTower A K L] [IsScalarTower A B L] [IsDomain A] [IsFractionRing A K] [FiniteDimensional K L] [Algebra.IsSeparable K L] [IsIntegralClosure B A L] [IsFractionRing B L] [IsIntegrallyClosed A] [IsDedekindDomain B] :
      dual A K 0 = 0
      theorem FractionalIdeal.mem_dual {A : Type u_1} {K : Type u_2} {L : Type u} {B : Type u_3} [CommRing A] [Field K] [CommRing B] [Field L] [Algebra A K] [Algebra B L] [Algebra A B] [Algebra K L] [Algebra A L] [IsScalarTower A K L] [IsScalarTower A B L] [IsDomain A] [IsFractionRing A K] [FiniteDimensional K L] [Algebra.IsSeparable K L] [IsIntegralClosure B A L] [IsFractionRing B L] [IsIntegrallyClosed A] [IsDedekindDomain B] {I : FractionalIdeal (nonZeroDivisors B) L} (hI : I โ‰  0) {x : L} :
      x โˆˆ dual A K I โ†” โˆ€ a โˆˆ I, ((Algebra.traceForm K L) x) a โˆˆ (algebraMap A K).range
      theorem FractionalIdeal.dual_ne_zero (A : Type u_1) (K : Type u_2) {L : Type u} {B : Type u_3} [CommRing A] [Field K] [CommRing B] [Field L] [Algebra A K] [Algebra B L] [Algebra A B] [Algebra K L] [Algebra A L] [IsScalarTower A K L] [IsScalarTower A B L] [IsDomain A] [IsFractionRing A K] [FiniteDimensional K L] [Algebra.IsSeparable K L] [IsIntegralClosure B A L] [IsFractionRing B L] [IsIntegrallyClosed A] [IsDedekindDomain B] {I : FractionalIdeal (nonZeroDivisors B) L} (hI : I โ‰  0) :
      dual A K I โ‰  0
      @[simp]
      theorem FractionalIdeal.dual_eq_zero_iff {A : Type u_1} {K : Type u_2} {L : Type u} {B : Type u_3} [CommRing A] [Field K] [CommRing B] [Field L] [Algebra A K] [Algebra B L] [Algebra A B] [Algebra K L] [Algebra A L] [IsScalarTower A K L] [IsScalarTower A B L] [IsDomain A] [IsFractionRing A K] [FiniteDimensional K L] [Algebra.IsSeparable K L] [IsIntegralClosure B A L] [IsFractionRing B L] [IsIntegrallyClosed A] [IsDedekindDomain B] {I : FractionalIdeal (nonZeroDivisors B) L} :
      dual A K I = 0 โ†” I = 0
      theorem FractionalIdeal.dual_ne_zero_iff {A : Type u_1} {K : Type u_2} {L : Type u} {B : Type u_3} [CommRing A] [Field K] [CommRing B] [Field L] [Algebra A K] [Algebra B L] [Algebra A B] [Algebra K L] [Algebra A L] [IsScalarTower A K L] [IsScalarTower A B L] [IsDomain A] [IsFractionRing A K] [FiniteDimensional K L] [Algebra.IsSeparable K L] [IsIntegralClosure B A L] [IsFractionRing B L] [IsIntegrallyClosed A] [IsDedekindDomain B] {I : FractionalIdeal (nonZeroDivisors B) L} :
      dual A K I โ‰  0 โ†” I โ‰  0
      theorem FractionalIdeal.le_dual_inv_aux (A : Type u_1) (K : Type u_2) {L : Type u} {B : Type u_3} [CommRing A] [Field K] [CommRing B] [Field L] [Algebra A K] [Algebra B L] [Algebra A B] [Algebra K L] [Algebra A L] [IsScalarTower A K L] [IsScalarTower A B L] [IsDomain A] [IsFractionRing A K] [FiniteDimensional K L] [Algebra.IsSeparable K L] [IsIntegralClosure B A L] [IsFractionRing B L] [IsIntegrallyClosed A] [IsDedekindDomain B] {I J : FractionalIdeal (nonZeroDivisors B) L} (hI : I โ‰  0) (hIJ : I * J โ‰ค 1) :
      J โ‰ค dual A K I
      theorem FractionalIdeal.le_dual_iff (A : Type u_1) (K : Type u_2) {L : Type u} {B : Type u_3} [CommRing A] [Field K] [CommRing B] [Field L] [Algebra A K] [Algebra B L] [Algebra A B] [Algebra K L] [Algebra A L] [IsScalarTower A K L] [IsScalarTower A B L] [IsDomain A] [IsFractionRing A K] [FiniteDimensional K L] [Algebra.IsSeparable K L] [IsIntegralClosure B A L] [IsFractionRing B L] [IsIntegrallyClosed A] [IsDedekindDomain B] {I J : FractionalIdeal (nonZeroDivisors B) L} (hJ : J โ‰  0) :
      I โ‰ค dual A K J โ†” I * J โ‰ค dual A K 1
      theorem FractionalIdeal.dual_div_dual (A : Type u_1) (K : Type u_2) {L : Type u} {B : Type u_3} [CommRing A] [Field K] [CommRing B] [Field L] [Algebra A K] [Algebra B L] [Algebra A B] [Algebra K L] [Algebra A L] [IsScalarTower A K L] [IsScalarTower A B L] [IsDomain A] [IsFractionRing A K] [FiniteDimensional K L] [Algebra.IsSeparable K L] [IsIntegralClosure B A L] [IsFractionRing B L] [IsIntegrallyClosed A] [IsDedekindDomain B] {I J : FractionalIdeal (nonZeroDivisors B) L} :
      dual A K J / dual A K I = I / J
      theorem FractionalIdeal.dual_mul_self (A : Type u_1) (K : Type u_2) {L : Type u} {B : Type u_3} [CommRing A] [Field K] [CommRing B] [Field L] [Algebra A K] [Algebra B L] [Algebra A B] [Algebra K L] [Algebra A L] [IsScalarTower A K L] [IsScalarTower A B L] [IsDomain A] [IsFractionRing A K] [FiniteDimensional K L] [Algebra.IsSeparable K L] [IsIntegralClosure B A L] [IsFractionRing B L] [IsIntegrallyClosed A] [IsDedekindDomain B] {I : FractionalIdeal (nonZeroDivisors B) L} (hI : I โ‰  0) :
      dual A K I * I = dual A K 1
      theorem FractionalIdeal.self_mul_dual (A : Type u_1) (K : Type u_2) {L : Type u} {B : Type u_3} [CommRing A] [Field K] [CommRing B] [Field L] [Algebra A K] [Algebra B L] [Algebra A B] [Algebra K L] [Algebra A L] [IsScalarTower A K L] [IsScalarTower A B L] [IsDomain A] [IsFractionRing A K] [FiniteDimensional K L] [Algebra.IsSeparable K L] [IsIntegralClosure B A L] [IsFractionRing B L] [IsIntegrallyClosed A] [IsDedekindDomain B] {I : FractionalIdeal (nonZeroDivisors B) L} (hI : I โ‰  0) :
      I * dual A K I = dual A K 1
      @[simp]
      theorem FractionalIdeal.dual_dual (A : Type u_1) (K : Type u_2) {L : Type u} {B : Type u_3} [CommRing A] [Field K] [CommRing B] [Field L] [Algebra A K] [Algebra B L] [Algebra A B] [Algebra K L] [Algebra A L] [IsScalarTower A K L] [IsScalarTower A B L] [IsDomain A] [IsFractionRing A K] [FiniteDimensional K L] [Algebra.IsSeparable K L] [IsIntegralClosure B A L] [IsFractionRing B L] [IsIntegrallyClosed A] [IsDedekindDomain B] (I : FractionalIdeal (nonZeroDivisors B) L) :
      dual A K (dual A K I) = I
      @[simp]
      theorem FractionalIdeal.dual_le_dual (A : Type u_1) (K : Type u_2) {L : Type u} {B : Type u_3} [CommRing A] [Field K] [CommRing B] [Field L] [Algebra A K] [Algebra B L] [Algebra A B] [Algebra K L] [Algebra A L] [IsScalarTower A K L] [IsScalarTower A B L] [IsDomain A] [IsFractionRing A K] [FiniteDimensional K L] [Algebra.IsSeparable K L] [IsIntegralClosure B A L] [IsFractionRing B L] [IsIntegrallyClosed A] [IsDedekindDomain B] {I J : FractionalIdeal (nonZeroDivisors B) L} (hI : I โ‰  0) (hJ : J โ‰  0) :
      dual A K I โ‰ค dual A K J โ†” J โ‰ค I
      theorem FractionalIdeal.dual_injective {A : Type u_1} {K : Type u_2} {L : Type u} {B : Type u_3} [CommRing A] [Field K] [CommRing B] [Field L] [Algebra A K] [Algebra B L] [Algebra A B] [Algebra K L] [Algebra A L] [IsScalarTower A K L] [IsScalarTower A B L] [IsDomain A] [IsFractionRing A K] [FiniteDimensional K L] [Algebra.IsSeparable K L] [IsIntegralClosure B A L] [IsFractionRing B L] [IsIntegrallyClosed A] [IsDedekindDomain B] :
      Function.Injective (dual A K)
      theorem FractionalIdeal.trace_mem_dual_one (A : Type u_1) (K : Type u_2) (L : Type u) (B : Type u_5) [CommRing A] [Field K] [CommRing B] [Field L] [Algebra A K] [Algebra B L] [Algebra A B] [Algebra K L] [Algebra A L] [IsScalarTower A K L] [IsScalarTower A B L] [IsDomain A] [IsFractionRing A K] [FiniteDimensional K L] [Algebra.IsSeparable K L] [IsIntegralClosure B A L] [IsFractionRing B L] [IsIntegrallyClosed A] [IsDedekindDomain B] (C : Type u_3) (M : Type u_4) [CommRing C] [IsDedekindDomain C] [Field M] [Algebra C M] [IsFractionRing C M] [Algebra A C] [Algebra B C] [Algebra A M] [Algebra B M] [Algebra K M] [Algebra L M] [IsScalarTower A C M] [IsScalarTower A K M] [IsScalarTower B C M] [IsScalarTower B L M] [IsScalarTower K L M] [IsIntegralClosure C A M] [FiniteDimensional K M] [FiniteDimensional L M] [Algebra.IsSeparable K M] (x : M) (hx : x โˆˆ dual A K 1) :
      (Algebra.trace L M) x โˆˆ dual A K 1
      theorem FractionalIdeal.smul_mem_dual_one (A : Type u_1) (K : Type u_2) (L : Type u) (B : Type u_5) [CommRing A] [Field K] [CommRing B] [Field L] [Algebra A K] [Algebra B L] [Algebra A B] [Algebra K L] [Algebra A L] [IsScalarTower A K L] [IsScalarTower A B L] [IsDomain A] [IsFractionRing A K] [FiniteDimensional K L] [Algebra.IsSeparable K L] [IsIntegralClosure B A L] [IsFractionRing B L] [IsIntegrallyClosed A] [IsDedekindDomain B] (C : Type u_3) (M : Type u_4) [CommRing C] [IsDedekindDomain C] [Field M] [Algebra C M] [IsFractionRing C M] [Algebra A C] [Algebra B C] [Algebra A M] [Algebra B M] [Algebra K M] [Algebra L M] [IsScalarTower A C M] [IsScalarTower A K M] [IsScalarTower B C M] [IsScalarTower B L M] [IsScalarTower K L M] [IsIntegralClosure C A M] [FiniteDimensional K M] [FiniteDimensional L M] [Algebra.IsSeparable K M] [IsIntegralClosure C B M] [Algebra.IsSeparable L M] {x : L} (hx : x โˆˆ dual A K 1) {y : M} (hy : y โˆˆ dual B L 1) :
      x โ€ข y โˆˆ dual A K 1
      noncomputable def differentIdeal (A : Type u_1) (B : Type u_3) [CommRing A] [CommRing B] [Algebra A B] [IsDomain A] [IsDedekindDomain B] [Module.IsTorsionFree A B] :

      The different ideal of an extension of integral domains B/A is the inverse of the dual of A as an ideal of B. See coeIdeal_differentIdeal and coeSubmodule_differentIdeal.

      Instances For
        theorem differentialIdeal_le_iff {A : Type u_1} {K : Type u_2} {L : Type u} {B : Type u_3} [CommRing A] [Field K] [CommRing B] [Field L] [Algebra A K] [Algebra B L] [Algebra A B] [Algebra K L] [Algebra A L] [IsScalarTower A K L] [IsScalarTower A B L] [IsDomain A] [IsFractionRing A K] [FiniteDimensional K L] [Algebra.IsSeparable K L] [IsIntegralClosure B A L] [IsIntegrallyClosed A] [IsDedekindDomain B] [Module.IsTorsionFree A B] [IsFractionRing B L] {I : Ideal B} (hI : I โ‰  โŠฅ) :
        theorem pow_sub_one_dvd_differentIdeal_aux (A : Type u_1) (K : Type u_2) (L : Type u) {B : Type u_3} [CommRing A] [Field K] [CommRing B] [Field L] [Algebra A K] [Algebra B L] [Algebra A B] [Algebra K L] [Algebra A L] [IsScalarTower A K L] [IsScalarTower A B L] [IsDomain A] [IsFractionRing A K] [FiniteDimensional K L] [Algebra.IsSeparable K L] [IsIntegralClosure B A L] [IsFractionRing B L] [IsDedekindDomain A] [IsDedekindDomain B] [Module.IsTorsionFree A B] [Module.Finite A B] {p : Ideal A} [p.IsMaximal] (P : Ideal B) {e : โ„•} (he : e โ‰  0) (hp : p โ‰  โŠฅ) (hP : P ^ e โˆฃ Ideal.map (algebraMap A B) p) :
        P ^ (e - 1) โˆฃ differentIdeal A B
        theorem pow_sub_one_dvd_differentIdeal (A : Type u_1) {B : Type u_3} [CommRing A] [CommRing B] [Algebra A B] [IsDomain A] [IsDedekindDomain A] [IsDedekindDomain B] [Module.IsTorsionFree A B] [Module.Finite A B] [Algebra.IsSeparable (FractionRing A) (FractionRing B)] {p : Ideal A} [p.IsMaximal] (P : Ideal B) (e : โ„•) (hp : p โ‰  โŠฅ) (hP : P ^ e โˆฃ Ideal.map (algebraMap A B) p) :
        P ^ (e - 1) โˆฃ differentIdeal A B
        theorem not_dvd_differentIdeal_of_intTrace_not_mem (A : Type u_1) {B : Type u_3} [CommRing A] [CommRing B] [Algebra A B] [IsDomain A] [IsDedekindDomain A] [IsDedekindDomain B] [Module.IsTorsionFree A B] [Module.Finite A B] [Algebra.IsSeparable (FractionRing A) (FractionRing B)] {p : Ideal A} (P Q : Ideal B) (hP : P * Q = Ideal.map (algebraMap A B) p) (x : B) (hxQ : x โˆˆ Q) (hx : (Algebra.intTrace A B) x โˆ‰ p) :
        ยฌP โˆฃ differentIdeal A B

        A prime does not divide the different ideal iff it is unramified.

        A prime divides the different ideal iff it is ramified.