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

Equations
    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} :
      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) :
      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

      Equations
        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).

          Equations
            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
              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' := โ‹ฏ })
              @[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.

              Equations
                Instances For
                  @[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} :
                  @[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

                  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) :
                  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)
                  @[deprecated FractionalIdeal.isFractional_div_of_ne_zero (since := "2025-09-14")]
                  theorem FractionalIdeal.fractional_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 : FractionalIdeal (nonZeroDivisors Rโ‚) K} (h : J โ‰  0) :
                  IsFractional (nonZeroDivisors Rโ‚) (โ†‘I / โ†‘J)

                  Alias of FractionalIdeal.isFractional_div_of_ne_zero.

                  noncomputable instance FractionalIdeal.instDivNonZeroDivisors {Rโ‚ : Type u_3} [CommRing Rโ‚] {K : Type u_4} [Field K] [Algebra Rโ‚ K] [IsFractionRing Rโ‚ K] [IsDomain Rโ‚] :
                  Equations
                    @[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, โ‹ฏโŸฉ
                    @[deprecated FractionalIdeal.div_of_ne_zero (since := "2025-09-14")]
                    theorem FractionalIdeal.div_nonzero {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, โ‹ฏโŸฉ

                    Alias of FractionalIdeal.div_of_ne_zero.

                    @[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
                    @[deprecated FractionalIdeal.mem_div_iff_of_ne_zero (since := "2025-09-14")]
                    theorem FractionalIdeal.mem_div_iff_of_nonzero {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

                    Alias of FractionalIdeal.mem_div_iff_of_ne_zero.

                    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
                    @[deprecated FractionalIdeal.le_div_iff_of_ne_zero (since := "2025-09-14")]
                    theorem FractionalIdeal.le_div_iff_of_nonzero {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

                    Alias of FractionalIdeal.le_div_iff_of_ne_zero.

                    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_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.

                    Equations
                      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

                        Equations
                          Instances For
                            @[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.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.

                            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
                            @[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 : โ„•) :
                            @[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โ‚) :
                            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) :

                            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) :

                            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.

                            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.

                            Equations
                              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) :