Documentation

Mathlib.RingTheory.FractionalIdeal.Operations

More operations on fractional ideals #

Main definitions #

Let K be the localization of R at Rโฐ = R \ {0} (i.e. the field of fractions).

Main statement #

References #

Tags #

fractional ideal, fractional ideals, invertible ideal

theorem IsFractional.map {R : Type u_1} [CommRing R] {S : Submonoid R} {P : Type u_2} [CommRing P] [Algebra R P] {P' : Type u_3} [CommRing P'] [Algebra R P'] (g : P โ†’โ‚[R] P') {I : Submodule R P} :
def FractionalIdeal.map {R : Type u_1} [CommRing R] {S : Submonoid R} {P : Type u_2} [CommRing P] [Algebra R P] {P' : Type u_3} [CommRing P'] [Algebra R P'] (g : P โ†’โ‚[R] P') :

I.map g is the pushforward of the fractional ideal I along the algebra morphism g

Instances For
    @[simp]
    theorem FractionalIdeal.coe_map {R : Type u_1} [CommRing R] {S : Submonoid R} {P : Type u_2} [CommRing P] [Algebra R P] {P' : Type u_3} [CommRing P'] [Algebra R P'] (g : P โ†’โ‚[R] P') (I : FractionalIdeal S P) :
    โ†‘(map g I) = Submodule.map g.toLinearMap โ†‘I
    @[simp]
    theorem FractionalIdeal.mem_map {R : Type u_1} [CommRing R] {S : Submonoid R} {P : Type u_2} [CommRing P] [Algebra R P] {P' : Type u_3} [CommRing P'] [Algebra R P'] {I : FractionalIdeal S P} {g : P โ†’โ‚[R] P'} {y : P'} :
    y โˆˆ map g I โ†” โˆƒ x โˆˆ I, g x = y
    @[simp]
    theorem FractionalIdeal.map_id {R : Type u_1} [CommRing R] {S : Submonoid R} {P : Type u_2} [CommRing P] [Algebra R P] (I : FractionalIdeal S P) :
    map (AlgHom.id R P) I = I
    @[simp]
    theorem FractionalIdeal.map_comp {R : Type u_1} [CommRing R] {S : Submonoid R} {P : Type u_2} [CommRing P] [Algebra R P] {P' : Type u_3} [CommRing P'] [Algebra R P'] {P'' : Type u_4} [CommRing P''] [Algebra R P''] (I : FractionalIdeal S P) (g : P โ†’โ‚[R] P') (g' : P' โ†’โ‚[R] P'') :
    map (g'.comp g) I = map g' (map g I)
    @[simp]
    theorem FractionalIdeal.map_coeIdeal {R : Type u_1} [CommRing R] {S : Submonoid R} {P : Type u_2} [CommRing P] [Algebra R P] {P' : Type u_3} [CommRing P'] [Algebra R P'] (g : P โ†’โ‚[R] P') (I : Ideal R) :
    map g โ†‘I = โ†‘I
    @[simp]
    theorem FractionalIdeal.map_one {R : Type u_1} [CommRing R] {S : Submonoid R} {P : Type u_2} [CommRing P] [Algebra R P] {P' : Type u_3} [CommRing P'] [Algebra R P'] (g : P โ†’โ‚[R] P') :
    map g 1 = 1
    @[simp]
    theorem FractionalIdeal.map_zero {R : Type u_1} [CommRing R] {S : Submonoid R} {P : Type u_2} [CommRing P] [Algebra R P] {P' : Type u_3} [CommRing P'] [Algebra R P'] (g : P โ†’โ‚[R] P') :
    map g 0 = 0
    @[simp]
    theorem FractionalIdeal.map_add {R : Type u_1} [CommRing R] {S : Submonoid R} {P : Type u_2} [CommRing P] [Algebra R P] {P' : Type u_3} [CommRing P'] [Algebra R P'] (I J : FractionalIdeal S P) (g : P โ†’โ‚[R] P') :
    map g (I + J) = map g I + map g J
    @[simp]
    theorem FractionalIdeal.map_mul {R : Type u_1} [CommRing R] {S : Submonoid R} {P : Type u_2} [CommRing P] [Algebra R P] {P' : Type u_3} [CommRing P'] [Algebra R P'] (I J : FractionalIdeal S P) (g : P โ†’โ‚[R] P') :
    map g (I * J) = map g I * map g J
    @[simp]
    theorem FractionalIdeal.map_map_symm {R : Type u_1} [CommRing R] {S : Submonoid R} {P : Type u_2} [CommRing P] [Algebra R P] {P' : Type u_3} [CommRing P'] [Algebra R P'] (I : FractionalIdeal S P) (g : P โ‰ƒโ‚[R] P') :
    map (โ†‘g.symm) (map (โ†‘g) I) = I
    @[simp]
    theorem FractionalIdeal.map_symm_map {R : Type u_1} [CommRing R] {S : Submonoid R} {P : Type u_2} [CommRing P] [Algebra R P] {P' : Type u_3} [CommRing P'] [Algebra R P'] (I : FractionalIdeal S P') (g : P โ‰ƒโ‚[R] P') :
    map (โ†‘g) (map (โ†‘g.symm) I) = I
    theorem FractionalIdeal.map_mem_map {R : Type u_1} [CommRing R] {S : Submonoid R} {P : Type u_2} [CommRing P] [Algebra R P] {P' : Type u_3} [CommRing P'] [Algebra R P'] {f : P โ†’โ‚[R] P'} (h : Function.Injective โ‡‘f) {x : P} {I : FractionalIdeal S P} :
    f x โˆˆ map f I โ†” x โˆˆ I
    theorem FractionalIdeal.map_injective {R : Type u_1} [CommRing R] {S : Submonoid R} {P : Type u_2} [CommRing P] [Algebra R P] {P' : Type u_3} [CommRing P'] [Algebra R P'] (f : P โ†’โ‚[R] P') (h : Function.Injective โ‡‘f) :
    Function.Injective (map f)
    def FractionalIdeal.mapEquiv {R : Type u_1} [CommRing R] {S : Submonoid R} {P : Type u_2} [CommRing P] [Algebra R P] {P' : Type u_3} [CommRing P'] [Algebra R P'] (g : P โ‰ƒโ‚[R] P') :

    If g is an equivalence, map g is an isomorphism

    Instances For
      @[simp]
      theorem FractionalIdeal.coeFun_mapEquiv {R : Type u_1} [CommRing R] {S : Submonoid R} {P : Type u_2} [CommRing P] [Algebra R P] {P' : Type u_3} [CommRing P'] [Algebra R P'] (g : P โ‰ƒโ‚[R] P') :
      โ‡‘(mapEquiv g) = map โ†‘g
      @[simp]
      theorem FractionalIdeal.mapEquiv_apply {R : Type u_1} [CommRing R] {S : Submonoid R} {P : Type u_2} [CommRing P] [Algebra R P] {P' : Type u_3} [CommRing P'] [Algebra R P'] (g : P โ‰ƒโ‚[R] P') (I : FractionalIdeal S P) :
      (mapEquiv g) I = map (โ†‘g) I
      @[simp]
      theorem FractionalIdeal.mapEquiv_symm {R : Type u_1} [CommRing R] {S : Submonoid R} {P : Type u_2} [CommRing P] [Algebra R P] {P' : Type u_3} [CommRing P'] [Algebra R P'] (g : P โ‰ƒโ‚[R] P') :
      theorem FractionalIdeal.isFractional_span_iff {R : Type u_1} [CommRing R] {S : Submonoid R} {P : Type u_2} [CommRing P] [Algebra R P] {s : Set P} :
      IsFractional S (Submodule.span R s) โ†” โˆƒ a โˆˆ S, โˆ€ b โˆˆ s, IsLocalization.IsInteger R (a โ€ข b)
      theorem FractionalIdeal.isFractional_of_fg {R : Type u_1} [CommRing R] {S : Submonoid R} {P : Type u_2} [CommRing P] [Algebra R P] [IsLocalization S P] {I : Submodule R P} (hI : I.FG) :
      theorem FractionalIdeal.mem_span_mul_finite_of_mem_mul {R : Type u_1} [CommRing R] {S : Submonoid R} {P : Type u_2} [CommRing P] [Algebra R P] {I J : FractionalIdeal S P} {x : P} (hx : x โˆˆ I * J) :
      โˆƒ (T : Finset P) (T' : Finset P), โ†‘T โІ โ†‘I โˆง โ†‘T' โІ โ†‘J โˆง x โˆˆ Submodule.span R (โ†‘T * โ†‘T')
      theorem Units.submodule_isFractional {R : Type u_1} [CommRing R] {S : Submonoid R} {P : Type u_2} [CommRing P] [Algebra R P] [IsLocalization S P] (I : (Submodule R P)หฃ) :
      IsFractional S โ†‘I

      If P is a localization of R, invertible R-submodules of P are all fractional (expressed as an isomorphism of groups).

      Instances For
        theorem FractionalIdeal.coeIdeal_fg {R : Type u_1} [CommRing R] (S : Submonoid R) {P : Type u_2} [CommRing P] [Algebra R P] (inj : Function.Injective โ‡‘(algebraMap R P)) (I : Ideal R) :
        (โ†‘โ†‘I).FG โ†” I.FG
        theorem FractionalIdeal.fg_unit {R : Type u_1} [CommRing R] {S : Submonoid R} {P : Type u_2} [CommRing P] [Algebra R P] (I : (FractionalIdeal S P)หฃ) :
        (โ†‘โ†‘I).FG
        theorem FractionalIdeal.fg_of_isUnit {R : Type u_1} [CommRing R] {S : Submonoid R} {P : Type u_2} [CommRing P] [Algebra R P] (I : FractionalIdeal S P) (h : IsUnit I) :
        (โ†‘I).FG
        theorem Ideal.fg_of_isUnit {R : Type u_1} [CommRing R] {S : Submonoid R} {P : Type u_2} [CommRing P] [Algebra R P] (inj : Function.Injective โ‡‘(algebraMap R P)) (I : Ideal R) (h : IsUnit โ†‘I) :
        I.FG
        @[irreducible]
        noncomputable def FractionalIdeal.canonicalEquiv {R : Type u_5} [CommRing R] (S : Submonoid R) (P : Type u_6) [CommRing P] [Algebra R P] (P' : Type u_7) [CommRing P'] [Algebra R P'] [IsLocalization S P] [IsLocalization S P'] :

        canonicalEquiv f f' is the canonical equivalence between the fractional ideals in P and in P', which are both localizations of R at S.

        Instances For
          theorem FractionalIdeal.canonicalEquiv_def {R : Type u_5} [CommRing R] (S : Submonoid R) (P : Type u_6) [CommRing P] [Algebra R P] (P' : Type u_7) [CommRing P'] [Algebra R P'] [IsLocalization S P] [IsLocalization S P'] :
          canonicalEquiv S P P' = mapEquiv (let __src := IsLocalization.ringEquivOfRingEquiv P P' (RingEquiv.refl R) โ‹ฏ; { toEquiv := __src.toEquiv, map_mul' := โ‹ฏ, map_add' := โ‹ฏ, commutes' := โ‹ฏ })
          @[simp]
          theorem FractionalIdeal.mem_canonicalEquiv_apply {R : Type u_1} [CommRing R] (S : Submonoid R) (P : Type u_2) [CommRing P] [Algebra R P] (P' : Type u_3) [CommRing P'] [Algebra R P'] [IsLocalization S P] [IsLocalization S P'] {I : FractionalIdeal S P} {x : P'} :
          x โˆˆ (canonicalEquiv S P P') I โ†” โˆƒ y โˆˆ I, (IsLocalization.map P' (RingHom.id R) โ‹ฏ) y = x
          @[simp]
          theorem FractionalIdeal.canonicalEquiv_symm {R : Type u_1} [CommRing R] (S : Submonoid R) (P : Type u_2) [CommRing P] [Algebra R P] (P' : Type u_3) [CommRing P'] [Algebra R P'] [IsLocalization S P] [IsLocalization S P'] :
          theorem FractionalIdeal.canonicalEquiv_flip {R : Type u_1} [CommRing R] (S : Submonoid R) (P : Type u_2) [CommRing P] [Algebra R P] (P' : Type u_3) [CommRing P'] [Algebra R P'] [IsLocalization S P] [IsLocalization S P'] (I : FractionalIdeal S P') :
          (canonicalEquiv S P P') ((canonicalEquiv S P' P) I) = I
          @[simp]
          theorem FractionalIdeal.canonicalEquiv_canonicalEquiv {R : Type u_1} [CommRing R] (S : Submonoid R) (P : Type u_2) [CommRing P] [Algebra R P] (P' : Type u_3) [CommRing P'] [Algebra R P'] [IsLocalization S P] [IsLocalization S P'] (P'' : Type u_5) [CommRing P''] [Algebra R P''] [IsLocalization S P''] (I : FractionalIdeal S P) :
          (canonicalEquiv S P' P'') ((canonicalEquiv S P P') I) = (canonicalEquiv S P P'') I
          theorem FractionalIdeal.canonicalEquiv_trans_canonicalEquiv {R : Type u_1} [CommRing R] (S : Submonoid R) (P : Type u_2) [CommRing P] [Algebra R P] (P' : Type u_3) [CommRing P'] [Algebra R P'] [IsLocalization S P] [IsLocalization S P'] (P'' : Type u_5) [CommRing P''] [Algebra R P''] [IsLocalization S P''] :
          (canonicalEquiv S P P').trans (canonicalEquiv S P' P'') = canonicalEquiv S P P''
          @[simp]
          theorem FractionalIdeal.canonicalEquiv_coeIdeal {R : Type u_1} [CommRing R] (S : Submonoid R) (P : Type u_2) [CommRing P] [Algebra R P] (P' : Type u_3) [CommRing P'] [Algebra R P'] [IsLocalization S P] [IsLocalization S P'] (I : Ideal R) :
          (canonicalEquiv S P P') โ†‘I = โ†‘I

          IsFractionRing section #

          This section concerns fractional ideals in the field of fractions, i.e. the type FractionalIdeal Rโฐ K where IsFractionRing R K.

          theorem FractionalIdeal.exists_ne_zero_mem_isInteger {R : Type u_1} [CommRing R] {K : Type u_3} [Field K] [Algebra R K] [IsFractionRing R K] {I : FractionalIdeal (nonZeroDivisors R) K} [Nontrivial R] (hI : I โ‰  0) :
          โˆƒ (x : R), x โ‰  0 โˆง (algebraMap R K) x โˆˆ I

          Nonzero fractional ideals contain a nonzero integer.

          theorem FractionalIdeal.map_ne_zero {R : Type u_1} [CommRing R] {K : Type u_3} {K' : Type u_4} [Field K] [Field K'] [Algebra R K] [IsFractionRing R K] [Algebra R K'] [IsFractionRing R K'] {I : FractionalIdeal (nonZeroDivisors R) K} (h : K โ†’โ‚[R] K') [Nontrivial R] (hI : I โ‰  0) :
          map h I โ‰  0
          @[simp]
          theorem FractionalIdeal.map_eq_zero_iff {R : Type u_1} [CommRing R] {K : Type u_3} {K' : Type u_4} [Field K] [Field K'] [Algebra R K] [IsFractionRing R K] [Algebra R K'] [IsFractionRing R K'] {I : FractionalIdeal (nonZeroDivisors R) K} (h : K โ†’โ‚[R] K') [Nontrivial R] :
          map h I = 0 โ†” I = 0
          theorem FractionalIdeal.coeIdeal_injective {R : Type u_1} [CommRing R] {K : Type u_3} [Field K] [Algebra R K] [IsFractionRing R K] :
          Function.Injective fun (I : Ideal R) => โ†‘I
          theorem FractionalIdeal.coeIdeal_inj {R : Type u_1} [CommRing R] {K : Type u_3} [Field K] [Algebra R K] [IsFractionRing R K] {I J : Ideal R} :
          โ†‘I = โ†‘J โ†” I = J
          @[simp]
          theorem FractionalIdeal.coeIdeal_eq_zero {R : Type u_1} [CommRing R] {K : Type u_3} [Field K] [Algebra R K] [IsFractionRing R K] {I : Ideal R} :
          โ†‘I = 0 โ†” I = โŠฅ
          theorem FractionalIdeal.coeIdeal_ne_zero {R : Type u_1} [CommRing R] {K : Type u_3} [Field K] [Algebra R K] [IsFractionRing R K] {I : Ideal R} :
          โ†‘I โ‰  0 โ†” I โ‰  โŠฅ
          @[simp]
          theorem FractionalIdeal.coeIdeal_eq_one {R : Type u_1} [CommRing R] {K : Type u_3} [Field K] [Algebra R K] [IsFractionRing R K] {I : Ideal R} :
          โ†‘I = 1 โ†” I = 1
          theorem FractionalIdeal.coeIdeal_ne_one {R : Type u_1} [CommRing R] {K : Type u_3} [Field K] [Algebra R K] [IsFractionRing R K] {I : Ideal R} :
          โ†‘I โ‰  1 โ†” I โ‰  1
          theorem FractionalIdeal.num_eq_zero_iff {R : Type u_1} [CommRing R] {K : Type u_3} [Field K] [Algebra R K] [IsFractionRing R K] [IsDomain R] {I : FractionalIdeal (nonZeroDivisors R) K} :
          I.num = 0 โ†” I = 0

          quotient section #

          This section defines the ideal quotient of fractional ideals.

          In this section we need that each non-zero y : R has an inverse in the localization, i.e. that the localization is a field. We satisfy this assumption by taking S = nonZeroDivisors R, R's localization at which is a field because R is a domain.

          theorem FractionalIdeal.ne_zero_of_mul_eq_one {Rโ‚ : Type u_3} [CommRing Rโ‚] {K : Type u_4} [Field K] [Algebra Rโ‚ K] (I J : FractionalIdeal (nonZeroDivisors Rโ‚) K) (h : I * J = 1) :
          I โ‰  0
          theorem IsFractional.div_of_nonzero {Rโ‚ : Type u_3} [CommRing Rโ‚] {K : Type u_4} [Field K] [Algebra Rโ‚ K] [IsFractionRing Rโ‚ K] [IsDomain Rโ‚] {I J : Submodule Rโ‚ K} :
          IsFractional (nonZeroDivisors Rโ‚) I โ†’ IsFractional (nonZeroDivisors Rโ‚) J โ†’ J โ‰  0 โ†’ IsFractional (nonZeroDivisors Rโ‚) (I / J)
          theorem FractionalIdeal.isFractional_div_of_ne_zero {Rโ‚ : Type u_3} [CommRing Rโ‚] {K : Type u_4} [Field K] [Algebra Rโ‚ K] [IsFractionRing Rโ‚ K] [IsDomain Rโ‚] {I J : FractionalIdeal (nonZeroDivisors Rโ‚) K} (h : J โ‰  0) :
          IsFractional (nonZeroDivisors Rโ‚) (โ†‘I / โ†‘J)
          @[implicit_reducible]
          noncomputable instance FractionalIdeal.instDivNonZeroDivisors {Rโ‚ : Type u_3} [CommRing Rโ‚] {K : Type u_4} [Field K] [Algebra Rโ‚ K] [IsFractionRing Rโ‚ K] [IsDomain Rโ‚] :
          Div (FractionalIdeal (nonZeroDivisors Rโ‚) K)
          @[simp]
          theorem FractionalIdeal.div_zero {Rโ‚ : Type u_3} [CommRing Rโ‚] {K : Type u_4} [Field K] [Algebra Rโ‚ K] [IsFractionRing Rโ‚ K] [IsDomain Rโ‚] {I : FractionalIdeal (nonZeroDivisors Rโ‚) K} :
          I / 0 = 0
          theorem FractionalIdeal.div_of_ne_zero {Rโ‚ : Type u_3} [CommRing Rโ‚] {K : Type u_4} [Field K] [Algebra Rโ‚ K] [IsFractionRing Rโ‚ K] [IsDomain Rโ‚] {I J : FractionalIdeal (nonZeroDivisors Rโ‚) K} (h : J โ‰  0) :
          I / J = โŸจโ†‘I / โ†‘J, โ‹ฏโŸฉ
          @[simp]
          theorem FractionalIdeal.coe_div {Rโ‚ : Type u_3} [CommRing Rโ‚] {K : Type u_4} [Field K] [Algebra Rโ‚ K] [IsFractionRing Rโ‚ K] [IsDomain Rโ‚] {I J : FractionalIdeal (nonZeroDivisors Rโ‚) K} (hJ : J โ‰  0) :
          โ†‘(I / J) = โ†‘I / โ†‘J
          theorem FractionalIdeal.mem_div_iff_of_ne_zero {Rโ‚ : Type u_3} [CommRing Rโ‚] {K : Type u_4} [Field K] [Algebra Rโ‚ K] [IsFractionRing Rโ‚ K] [IsDomain Rโ‚] {I J : FractionalIdeal (nonZeroDivisors Rโ‚) K} (h : J โ‰  0) {x : K} :
          x โˆˆ I / J โ†” โˆ€ y โˆˆ J, x * y โˆˆ I
          theorem FractionalIdeal.mul_one_div_le_one {Rโ‚ : Type u_3} [CommRing Rโ‚] {K : Type u_4} [Field K] [Algebra Rโ‚ K] [IsFractionRing Rโ‚ K] [IsDomain Rโ‚] {I : FractionalIdeal (nonZeroDivisors Rโ‚) K} :
          I * (1 / I) โ‰ค 1
          theorem FractionalIdeal.le_self_mul_one_div {Rโ‚ : Type u_3} [CommRing Rโ‚] {K : Type u_4} [Field K] [Algebra Rโ‚ K] [IsFractionRing Rโ‚ K] [IsDomain Rโ‚] {I : FractionalIdeal (nonZeroDivisors Rโ‚) K} (hI : I โ‰ค 1) :
          I โ‰ค I * (1 / I)
          theorem FractionalIdeal.le_div_iff_of_ne_zero {Rโ‚ : Type u_3} [CommRing Rโ‚] {K : Type u_4} [Field K] [Algebra Rโ‚ K] [IsFractionRing Rโ‚ K] [IsDomain Rโ‚] {I J J' : FractionalIdeal (nonZeroDivisors Rโ‚) K} (hJ' : J' โ‰  0) :
          I โ‰ค J / J' โ†” โˆ€ x โˆˆ I, โˆ€ y โˆˆ J', x * y โˆˆ J
          theorem FractionalIdeal.le_div_iff_mul_le {Rโ‚ : Type u_3} [CommRing Rโ‚] {K : Type u_4} [Field K] [Algebra Rโ‚ K] [IsFractionRing Rโ‚ K] [IsDomain Rโ‚] {I J J' : FractionalIdeal (nonZeroDivisors Rโ‚) K} (hJ' : J' โ‰  0) :
          I โ‰ค J / J' โ†” I * J' โ‰ค J
          @[simp]
          theorem FractionalIdeal.div_one {Rโ‚ : Type u_3} [CommRing Rโ‚] {K : Type u_4} [Field K] [Algebra Rโ‚ K] [IsFractionRing Rโ‚ K] [IsDomain Rโ‚] {I : FractionalIdeal (nonZeroDivisors Rโ‚) K} :
          I / 1 = I
          theorem FractionalIdeal.eq_one_div_of_mul_eq_one_right {Rโ‚ : Type u_3} [CommRing Rโ‚] {K : Type u_4} [Field K] [Algebra Rโ‚ K] [IsFractionRing Rโ‚ K] [IsDomain Rโ‚] (I J : FractionalIdeal (nonZeroDivisors Rโ‚) K) (h : I * J = 1) :
          J = 1 / I
          theorem FractionalIdeal.mul_div_self_cancel_iff {Rโ‚ : Type u_3} [CommRing Rโ‚] {K : Type u_4} [Field K] [Algebra Rโ‚ K] [IsFractionRing Rโ‚ K] [IsDomain Rโ‚] {I : FractionalIdeal (nonZeroDivisors Rโ‚) K} :
          I * (1 / I) = 1 โ†” โˆƒ (J : FractionalIdeal (nonZeroDivisors Rโ‚) K), I * J = 1
          @[simp]
          theorem FractionalIdeal.map_div {Rโ‚ : Type u_3} [CommRing Rโ‚] {K : Type u_4} [Field K] [Algebra Rโ‚ K] [IsFractionRing Rโ‚ K] [IsDomain Rโ‚] {K' : Type u_5} [Field K'] [Algebra Rโ‚ K'] [IsFractionRing Rโ‚ K'] (I J : FractionalIdeal (nonZeroDivisors Rโ‚) K) (h : K โ‰ƒโ‚[Rโ‚] K') :
          map (โ†‘h) (I / J) = map (โ†‘h) I / map (โ†‘h) J
          theorem FractionalIdeal.map_one_div {Rโ‚ : Type u_3} [CommRing Rโ‚] {K : Type u_4} [Field K] [Algebra Rโ‚ K] [IsFractionRing Rโ‚ K] [IsDomain Rโ‚] {K' : Type u_5} [Field K'] [Algebra Rโ‚ K'] [IsFractionRing Rโ‚ K'] (I : FractionalIdeal (nonZeroDivisors Rโ‚) K) (h : K โ‰ƒโ‚[Rโ‚] K') :
          map (โ†‘h) (1 / I) = 1 / map (โ†‘h) I
          theorem FractionalIdeal.eq_zero_or_one {K : Type u_4} {L : Type u_5} [Field K] [Field L] [Algebra K L] [IsFractionRing K L] (I : FractionalIdeal (nonZeroDivisors K) L) :
          I = 0 โˆจ I = 1
          theorem FractionalIdeal.eq_zero_or_one_of_isField {Rโ‚ : Type u_3} {K : Type u_4} [CommRing Rโ‚] [Field K] [Algebra Rโ‚ K] [IsFractionRing Rโ‚ K] (hF : IsField Rโ‚) (I : FractionalIdeal (nonZeroDivisors Rโ‚) K) :
          I = 0 โˆจ I = 1
          def FractionalIdeal.spanFinset (Rโ‚ : Type u_3) [CommRing Rโ‚] {K : Type u_4} [Field K] [Algebra Rโ‚ K] [IsFractionRing Rโ‚ K] {ฮน : Type u_5} (s : Finset ฮน) (f : ฮน โ†’ K) :

          FractionalIdeal.span_finset Rโ‚ s f is the fractional ideal of Rโ‚ generated by f '' s.

          Instances For
            @[simp]
            theorem FractionalIdeal.spanFinset_coe (Rโ‚ : Type u_3) [CommRing Rโ‚] {K : Type u_4} [Field K] [Algebra Rโ‚ K] [IsFractionRing Rโ‚ K] {ฮน : Type u_5} (s : Finset ฮน) (f : ฮน โ†’ K) :
            โ†‘(spanFinset Rโ‚ s f) = Submodule.span Rโ‚ (f '' โ†‘s)
            @[simp]
            theorem FractionalIdeal.spanFinset_eq_zero {Rโ‚ : Type u_3} [CommRing Rโ‚] {K : Type u_4} [Field K] [Algebra Rโ‚ K] [IsFractionRing Rโ‚ K] {ฮน : Type u_5} {s : Finset ฮน} {f : ฮน โ†’ K} :
            spanFinset Rโ‚ s f = 0 โ†” โˆ€ j โˆˆ s, f j = 0
            theorem FractionalIdeal.spanFinset_ne_zero {Rโ‚ : Type u_3} [CommRing Rโ‚] {K : Type u_4} [Field K] [Algebra Rโ‚ K] [IsFractionRing Rโ‚ K] {ฮน : Type u_5} {s : Finset ฮน} {f : ฮน โ†’ K} :
            spanFinset Rโ‚ s f โ‰  0 โ†” โˆƒ j โˆˆ s, f j โ‰  0
            @[irreducible]
            def FractionalIdeal.spanSingleton {R : Type u_5} [CommRing R] (S : Submonoid R) {P : Type u_6} [CommRing P] [Algebra R P] [IsLocalization S P] (x : P) :

            spanSingleton x is the fractional ideal generated by x if 0 โˆ‰ S

            Instances For
              theorem FractionalIdeal.spanSingleton_def {R : Type u_5} [CommRing R] (S : Submonoid R) {P : Type u_6} [CommRing P] [Algebra R P] [IsLocalization S P] (x : P) :
              spanSingleton S x = โŸจR โˆ™ x, โ‹ฏโŸฉ
              @[simp]
              theorem FractionalIdeal.coe_spanSingleton {R : Type u_1} [CommRing R] (S : Submonoid R) {P : Type u_2} [CommRing P] [Algebra R P] [IsLocalization S P] (x : P) :
              โ†‘(spanSingleton S x) = R โˆ™ x
              @[simp]
              theorem FractionalIdeal.mem_spanSingleton {R : Type u_1} [CommRing R] (S : Submonoid R) {P : Type u_2} [CommRing P] [Algebra R P] [IsLocalization S P] {x y : P} :
              x โˆˆ spanSingleton S y โ†” โˆƒ (z : R), z โ€ข y = x
              theorem FractionalIdeal.mem_spanSingleton_self {R : Type u_1} [CommRing R] (S : Submonoid R) {P : Type u_2} [CommRing P] [Algebra R P] [IsLocalization S P] (x : P) :
              x โˆˆ spanSingleton S x
              theorem FractionalIdeal.den_mul_self_eq_num' {R : Type u_1} [CommRing R] (S : Submonoid R) (P : Type u_2) [CommRing P] [Algebra R P] [IsLocalization S P] (I : FractionalIdeal S P) :
              spanSingleton S ((algebraMap R P) โ†‘I.den) * I = โ†‘I.num

              A version of FractionalIdeal.den_mul_self_eq_num in terms of fractional ideals.

              @[simp]
              theorem FractionalIdeal.spanSingleton_le_iff_mem {R : Type u_1} [CommRing R] {S : Submonoid R} {P : Type u_2} [CommRing P] [Algebra R P] [IsLocalization S P] {x : P} {I : FractionalIdeal S P} :
              spanSingleton S x โ‰ค I โ†” x โˆˆ I
              theorem FractionalIdeal.spanSingleton_eq_spanSingleton {R : Type u_1} [CommRing R] {S : Submonoid R} {P : Type u_2} [CommRing P] [Algebra R P] [IsLocalization S P] [IsDomain R] [Module.IsTorsionFree R P] {x y : P} :
              spanSingleton S x = spanSingleton S y โ†” โˆƒ (z : Rหฃ), z โ€ข x = y
              theorem FractionalIdeal.isPrincipal_iff {R : Type u_1} [CommRing R] {S : Submonoid R} {P : Type u_2} [CommRing P] [Algebra R P] [IsLocalization S P] (I : FractionalIdeal S P) :
              (โ†‘I).IsPrincipal โ†” โˆƒ (x : P), I = spanSingleton S x
              theorem FractionalIdeal.spanSingleton_eq_zero_iff {R : Type u_1} [CommRing R] {S : Submonoid R} {P : Type u_2} [CommRing P] [Algebra R P] [IsLocalization S P] {y : P} :
              spanSingleton S y = 0 โ†” y = 0
              theorem FractionalIdeal.spanSingleton_ne_zero_iff {R : Type u_1} [CommRing R] {S : Submonoid R} {P : Type u_2} [CommRing P] [Algebra R P] [IsLocalization S P] {y : P} :
              spanSingleton S y โ‰  0 โ†” y โ‰  0
              @[simp]
              theorem FractionalIdeal.spanSingleton_one {R : Type u_1} [CommRing R] {S : Submonoid R} {P : Type u_2} [CommRing P] [Algebra R P] [IsLocalization S P] :
              @[simp]
              theorem FractionalIdeal.spanSingleton_pow {R : Type u_1} [CommRing R] {S : Submonoid R} {P : Type u_2} [CommRing P] [Algebra R P] [IsLocalization S P] (x : P) (n : โ„•) :
              spanSingleton S x ^ n = spanSingleton S (x ^ n)
              @[simp]
              theorem FractionalIdeal.coeIdeal_span_singleton {R : Type u_1} [CommRing R] {S : Submonoid R} {P : Type u_2} [CommRing P] [Algebra R P] [IsLocalization S P] (x : R) :
              โ†‘(Ideal.span {x}) = spanSingleton S ((algebraMap R P) x)
              @[simp]
              theorem FractionalIdeal.canonicalEquiv_spanSingleton {R : Type u_1} [CommRing R] {S : Submonoid R} {P : Type u_2} [CommRing P] [Algebra R P] [IsLocalization S P] {P' : Type u_5} [CommRing P'] [Algebra R P'] [IsLocalization S P'] (x : P) :
              theorem FractionalIdeal.mem_singleton_mul {R : Type u_1} [CommRing R] {S : Submonoid R} {P : Type u_2} [CommRing P] [Algebra R P] [IsLocalization S P] {x y : P} {I : FractionalIdeal S P} :
              y โˆˆ spanSingleton S x * I โ†” โˆƒ y' โˆˆ I, y = x * y'
              theorem FractionalIdeal.mk'_mul_coeIdeal_eq_coeIdeal {Rโ‚ : Type u_3} [CommRing Rโ‚] (K : Type u_4) [Field K] [Algebra Rโ‚ K] [IsFractionRing Rโ‚ K] {I J : Ideal Rโ‚} {x y : Rโ‚} (hy : y โˆˆ nonZeroDivisors Rโ‚) :
              spanSingleton (nonZeroDivisors Rโ‚) (IsLocalization.mk' K x โŸจy, hyโŸฉ) * โ†‘I = โ†‘J โ†” Ideal.span {x} * I = Ideal.span {y} * J
              theorem FractionalIdeal.spanSingleton_mul_coeIdeal_eq_coeIdeal {Rโ‚ : Type u_3} [CommRing Rโ‚] {K : Type u_4} [Field K] [Algebra Rโ‚ K] [IsFractionRing Rโ‚ K] {I J : Ideal Rโ‚} {z : K} :
              spanSingleton (nonZeroDivisors Rโ‚) z * โ†‘I = โ†‘J โ†” Ideal.span {(IsLocalization.sec (nonZeroDivisors Rโ‚) z).1} * I = Ideal.span {โ†‘(IsLocalization.sec (nonZeroDivisors Rโ‚) z).2} * J
              theorem FractionalIdeal.one_div_spanSingleton {Rโ‚ : Type u_3} [CommRing Rโ‚] {K : Type u_4} [Field K] [Algebra Rโ‚ K] [IsFractionRing Rโ‚ K] [IsDomain Rโ‚] (x : K) :
              @[simp]
              theorem FractionalIdeal.div_spanSingleton {Rโ‚ : Type u_3} [CommRing Rโ‚] {K : Type u_4} [Field K] [Algebra Rโ‚ K] [IsFractionRing Rโ‚ K] [IsDomain Rโ‚] (J : FractionalIdeal (nonZeroDivisors Rโ‚) K) (d : K) :
              theorem FractionalIdeal.exists_eq_spanSingleton_mul {Rโ‚ : Type u_3} [CommRing Rโ‚] {K : Type u_4} [Field K] [Algebra Rโ‚ K] [IsFractionRing Rโ‚ K] [IsDomain Rโ‚] (I : FractionalIdeal (nonZeroDivisors Rโ‚) K) :
              โˆƒ (a : Rโ‚) (aI : Ideal Rโ‚), a โ‰  0 โˆง I = spanSingleton (nonZeroDivisors Rโ‚) ((algebraMap Rโ‚ K) a)โปยน * โ†‘aI
              theorem FractionalIdeal.ideal_factor_ne_zero {R : Type u_6} [CommRing R] {K : Type u_5} [Field K] [Algebra R K] [IsFractionRing R K] {I : FractionalIdeal (nonZeroDivisors R) K} (hI : I โ‰  0) {a : R} {J : Ideal R} (haJ : I = spanSingleton (nonZeroDivisors R) ((algebraMap R K) a)โปยน * โ†‘J) :
              J โ‰  0

              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.

              theorem FractionalIdeal.constant_factor_ne_zero {R : Type u_6} [CommRing R] {K : Type u_5} [Field K] [Algebra R K] [IsFractionRing R K] {I : FractionalIdeal (nonZeroDivisors R) K} (hI : I โ‰  0) {a : R} {J : Ideal R} (haJ : I = spanSingleton (nonZeroDivisors R) ((algebraMap R K) a)โปยน * โ†‘J) :
              Ideal.span {a} โ‰  0

              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.

              theorem FractionalIdeal.le_spanSingleton_mul_iff {R : Type u_1} [CommRing R] {S : Submonoid R} {P : Type u_2} [CommRing P] [Algebra R P] [IsLocalization S P] {x : P} {I J : FractionalIdeal S P} :
              I โ‰ค spanSingleton S x * J โ†” โˆ€ zI โˆˆ I, โˆƒ zJ โˆˆ J, x * zJ = zI
              theorem FractionalIdeal.spanSingleton_mul_le_iff {R : Type u_1} [CommRing R] {S : Submonoid R} {P : Type u_2} [CommRing P] [Algebra R P] [IsLocalization S P] {x : P} {I J : FractionalIdeal S P} :
              spanSingleton S x * I โ‰ค J โ†” โˆ€ z โˆˆ I, x * z โˆˆ J
              theorem FractionalIdeal.eq_spanSingleton_mul {R : Type u_1} [CommRing R] {S : Submonoid R} {P : Type u_2} [CommRing P] [Algebra R P] [IsLocalization S P] {x : P} {I J : FractionalIdeal S P} :
              I = spanSingleton S x * J โ†” (โˆ€ zI โˆˆ I, โˆƒ zJ โˆˆ J, x * zJ = zI) โˆง โˆ€ z โˆˆ J, x * z โˆˆ I
              theorem FractionalIdeal.num_le {R : Type u_1} [CommRing R] {S : Submonoid R} {P : Type u_2} [CommRing P] [Algebra R P] [IsLocalization S P] (I : FractionalIdeal S P) :
              โ†‘I.num โ‰ค I

              If the numerator ideal of a fractional ideal is principal, then so is the fractional ideal.

              theorem FractionalIdeal.isNoetherian_zero {Rโ‚ : Type u_3} [CommRing Rโ‚] {K : Type u_4} [Field K] [Algebra Rโ‚ K] :
              IsNoetherian Rโ‚ โ†ฅโ†‘0
              theorem FractionalIdeal.isNoetherian_iff {Rโ‚ : Type u_3} [CommRing Rโ‚] {K : Type u_4} [Field K] [Algebra Rโ‚ K] {I : FractionalIdeal (nonZeroDivisors Rโ‚) K} :
              IsNoetherian Rโ‚ โ†ฅโ†‘I โ†” โˆ€ J โ‰ค I, (โ†‘J).FG
              theorem FractionalIdeal.isNoetherian_coeIdeal {Rโ‚ : Type u_3} [CommRing Rโ‚] {K : Type u_4} [Field K] [Algebra Rโ‚ K] [IsNoetherianRing Rโ‚] (I : Ideal Rโ‚) :
              IsNoetherian Rโ‚ โ†ฅโ†‘โ†‘I
              theorem FractionalIdeal.isNoetherian_spanSingleton_inv_to_map_mul {Rโ‚ : Type u_3} [CommRing Rโ‚] {K : Type u_4} [Field K] [Algebra Rโ‚ K] [IsFractionRing Rโ‚ K] [IsDomain Rโ‚] (x : Rโ‚) {I : FractionalIdeal (nonZeroDivisors Rโ‚) K} (hI : IsNoetherian Rโ‚ โ†ฅโ†‘I) :
              IsNoetherian Rโ‚ โ†ฅโ†‘(spanSingleton (nonZeroDivisors Rโ‚) ((algebraMap Rโ‚ K) x)โปยน * I)
              theorem FractionalIdeal.isNoetherian {Rโ‚ : Type u_3} [CommRing Rโ‚] {K : Type u_4} [Field K] [Algebra Rโ‚ K] [IsFractionRing Rโ‚ K] [IsDomain Rโ‚] [IsNoetherianRing Rโ‚] (I : FractionalIdeal (nonZeroDivisors Rโ‚) K) :
              IsNoetherian Rโ‚ โ†ฅโ†‘I

              Every fractional ideal of a Noetherian integral domain is Noetherian.

              theorem FractionalIdeal.isFractional_adjoin_integral {R : Type u_1} [CommRing R] (S : Submonoid R) {P : Type u_2} [CommRing P] [Algebra R P] [IsLocalization S P] (x : P) (hx : IsIntegral R x) :

              A[x] is a fractional ideal for every integral x.

              def FractionalIdeal.adjoinIntegral {R : Type u_1} [CommRing R] (S : Submonoid R) {P : Type u_2} [CommRing P] [Algebra R P] [IsLocalization S P] (x : P) (hx : IsIntegral R x) :

              FractionalIdeal.adjoinIntegral (S : Submonoid R) x hx is R[x] as a fractional ideal, where hx is a proof that x : P is integral over R.

              Instances For
                @[simp]
                theorem FractionalIdeal.adjoinIntegral_coe {R : Type u_1} [CommRing R] (S : Submonoid R) {P : Type u_2} [CommRing P] [Algebra R P] [IsLocalization S P] (x : P) (hx : IsIntegral R x) :
                โ†‘(adjoinIntegral S x hx) = Subalgebra.toSubmodule R[x]
                theorem FractionalIdeal.mem_adjoinIntegral_self {R : Type u_1} [CommRing R] (S : Submonoid R) {P : Type u_2} [CommRing P] [Algebra R P] [IsLocalization S P] (x : P) (hx : IsIntegral R x) :
                x โˆˆ adjoinIntegral S x hx