Loogle!
Result
Found 424 declarations mentioning Ideal.Quotient.mk. Of these, only the first 200 are shown.
- Ideal.Quotient.instRingHomSurjectiveQuotientMk 📋 Mathlib.RingTheory.Ideal.Quotient.Defs
{R : Type u} [Ring R] {I : Ideal R} [I.IsTwoSided] : RingHomSurjective (Ideal.Quotient.mk I) - Ideal.Quotient.mk 📋 Mathlib.RingTheory.Ideal.Quotient.Defs
{R : Type u} [Ring R] (I : Ideal R) [I.IsTwoSided] : R →+* R ⧸ I - Ideal.Quotient.mk_surjective 📋 Mathlib.RingTheory.Ideal.Quotient.Defs
{R : Type u} [Ring R] {I : Ideal R} [I.IsTwoSided] : Function.Surjective ⇑(Ideal.Quotient.mk I) - Ideal.Quotient.mk_out 📋 Mathlib.RingTheory.Ideal.Quotient.Defs
{R : Type u} [Ring R] {I : Ideal R} [I.IsTwoSided] (x : R ⧸ I) : (Ideal.Quotient.mk I) (Quotient.out x) = x - Ideal.Quotient.mk_eq_mk 📋 Mathlib.RingTheory.Ideal.Quotient.Defs
{R : Type u} [Ring R] {I : Ideal R} [I.IsTwoSided] (x : R) : Submodule.Quotient.mk x = (Ideal.Quotient.mk I) x - Ideal.Quotient.lift_comp_mk 📋 Mathlib.RingTheory.Ideal.Quotient.Defs
{R : Type u} [Ring R] (I : Ideal R) {S : Type v} [I.IsTwoSided] [Semiring S] (f : R →+* S) (H : ∀ a ∈ I, f a = 0) : (Ideal.Quotient.lift I f H).comp (Ideal.Quotient.mk I) = f - Ideal.Quotient.eq_zero_iff_mem 📋 Mathlib.RingTheory.Ideal.Quotient.Defs
{R : Type u} [Ring R] {I : Ideal R} {a : R} [I.IsTwoSided] : (Ideal.Quotient.mk I) a = 0 ↔ a ∈ I - Ideal.Quotient.factor_comp_mk 📋 Mathlib.RingTheory.Ideal.Quotient.Defs
{R : Type u} [Ring R] {S T : Ideal R} [S.IsTwoSided] [T.IsTwoSided] (H : S ≤ T) : (Ideal.Quotient.factor H).comp (Ideal.Quotient.mk S) = Ideal.Quotient.mk T - Ideal.Quotient.mk_eq_one_iff_sub_mem 📋 Mathlib.RingTheory.Ideal.Quotient.Defs
{R : Type u} [Ring R] {I : Ideal R} [I.IsTwoSided] (x : R) : (Ideal.Quotient.mk I) x = 1 ↔ x - 1 ∈ I - Ideal.Quotient.ringHom_ext 📋 Mathlib.RingTheory.Ideal.Quotient.Defs
{R : Type u} [Ring R] {I : Ideal R} {S : Type v} [I.IsTwoSided] [NonAssocSemiring S] ⦃f g : R ⧸ I →+* S⦄ (h : f.comp (Ideal.Quotient.mk I) = g.comp (Ideal.Quotient.mk I)) : f = g - Ideal.Quotient.ringHom_ext_iff 📋 Mathlib.RingTheory.Ideal.Quotient.Defs
{R : Type u} [Ring R] {I : Ideal R} {S : Type v} [I.IsTwoSided] [NonAssocSemiring S] {f g : R ⧸ I →+* S} : f = g ↔ f.comp (Ideal.Quotient.mk I) = g.comp (Ideal.Quotient.mk I) - Ideal.Quotient.eq 📋 Mathlib.RingTheory.Ideal.Quotient.Defs
{R : Type u} [Ring R] {I : Ideal R} {x y : R} [I.IsTwoSided] : (Ideal.Quotient.mk I) x = (Ideal.Quotient.mk I) y ↔ x - y ∈ I - Ideal.Quotient.mk_eq_mk_iff_sub_mem 📋 Mathlib.RingTheory.Ideal.Quotient.Defs
{R : Type u} [Ring R] {I : Ideal R} [I.IsTwoSided] (x y : R) : (Ideal.Quotient.mk I) x = (Ideal.Quotient.mk I) y ↔ x - y ∈ I - Ideal.Quotient.lift_mk 📋 Mathlib.RingTheory.Ideal.Quotient.Defs
{R : Type u} [Ring R] (I : Ideal R) {a : R} {S : Type v} [I.IsTwoSided] [Semiring S] (f : R →+* S) (H : ∀ a ∈ I, f a = 0) : (Ideal.Quotient.lift I f H) ((Ideal.Quotient.mk I) a) = f a - Ideal.Quotient.quotient_ring_saturate 📋 Mathlib.RingTheory.Ideal.Quotient.Defs
{R : Type u} [Ring R] {I : Ideal R} [I.IsTwoSided] (s : Set R) : ⇑(Ideal.Quotient.mk I) ⁻¹' ⇑(Ideal.Quotient.mk I) '' s = ⋃ x, (fun y => ↑x + y) '' s - Ideal.Quotient.factor_mk 📋 Mathlib.RingTheory.Ideal.Quotient.Defs
{R : Type u} [Ring R] {S T : Ideal R} [S.IsTwoSided] [T.IsTwoSided] (H : S ≤ T) (x : R) : (Ideal.Quotient.factor H) ((Ideal.Quotient.mk S) x) = (Ideal.Quotient.mk T) x - Ideal.quotEquivOfEq_mk 📋 Mathlib.RingTheory.Ideal.Quotient.Defs
{R : Type u} [Ring R] {I J : Ideal R} [I.IsTwoSided] [J.IsTwoSided] (h : I = J) (x : R) : (Ideal.quotEquivOfEq h) ((Ideal.Quotient.mk I) x) = (Ideal.Quotient.mk J) x - Ideal.Quotient.mk_span_range 📋 Mathlib.RingTheory.Ideal.Quotient.Basic
{ι : Type u_1} {R : Type u_3} [Ring R] (f : ι → R) [(Ideal.span (Set.range f)).IsTwoSided] (i : ι) : (Ideal.Quotient.mk (Ideal.span (Set.range f))) (f i) = 0 - Ideal.Quotient.mk_singleton_self 📋 Mathlib.RingTheory.Ideal.Quotient.Basic
{R : Type u_3} [Ring R] (x : R) [(Ideal.span {x}).IsTwoSided] : (Ideal.Quotient.mk (Ideal.span {x})) x = 0 - Ideal.Quotient.eq_zero_iff_dvd 📋 Mathlib.RingTheory.Ideal.Quotient.Basic
{R : Type u_4} [CommRing R] (x y : R) : (Ideal.Quotient.mk (Ideal.span {x})) y = 0 ↔ x ∣ y - Ideal.Quotient.algebraMap_eq 📋 Mathlib.RingTheory.Ideal.Quotient.Operations
{R : Type u_5} [CommRing R] (I : Ideal R) : algebraMap R (R ⧸ I) = Ideal.Quotient.mk I - Ideal.Quotient.mkₐ_toRingHom 📋 Mathlib.RingTheory.Ideal.Quotient.Operations
(R₁ : Type u_1) {A : Type u_3} [CommSemiring R₁] [Ring A] [Algebra R₁ A] (I : Ideal A) [I.IsTwoSided] : (Ideal.Quotient.mkₐ R₁ I).toRingHom = Ideal.Quotient.mk I - Ideal.Quotient.mk_bijective_iff_eq_bot 📋 Mathlib.RingTheory.Ideal.Quotient.Operations
{A : Type u_3} [Ring A] (I : Ideal A) [I.IsTwoSided] : Function.Bijective ⇑(Ideal.Quotient.mk I) ↔ I = ⊥ - Ideal.Quotient.mk_comp_algebraMap 📋 Mathlib.RingTheory.Ideal.Quotient.Operations
(R₁ : Type u_1) {A : Type u_3} [CommSemiring R₁] [Ring A] [Algebra R₁ A] (I : Ideal A) [I.IsTwoSided] : (Ideal.Quotient.mk I).comp (algebraMap R₁ A) = algebraMap R₁ (A ⧸ I) - Ideal.mk_ker 📋 Mathlib.RingTheory.Ideal.Quotient.Operations
{R : Type u} [Ring R] {I : Ideal R} [I.IsTwoSided] : RingHom.ker (Ideal.Quotient.mk I) = I - Ideal.isPrime_map_quotientMk_of_isPrime 📋 Mathlib.RingTheory.Ideal.Quotient.Operations
{R : Type u} [Ring R] {I : Ideal R} [I.IsTwoSided] {p : Ideal R} [p.IsPrime] (hIP : I ≤ p) : (Ideal.map (Ideal.Quotient.mk I) p).IsPrime - Ideal.pi_quotient_surjective 📋 Mathlib.RingTheory.Ideal.Quotient.Operations
{R : Type u_2} [CommRing R] {ι : Type u_3} [Finite ι] {I : ι → Ideal R} (hf : Pairwise (Function.onFun IsCoprime I)) (x : (i : ι) → R ⧸ I i) : ∃ r, ∀ (i : ι), (Ideal.Quotient.mk (I i)) r = x i - Ideal.Quotient.mkₐ_eq_mk 📋 Mathlib.RingTheory.Ideal.Quotient.Operations
(R₁ : Type u_1) {A : Type u_3} [CommSemiring R₁] [Ring A] [Algebra R₁ A] (I : Ideal A) [I.IsTwoSided] : ⇑(Ideal.Quotient.mkₐ R₁ I) = ⇑(Ideal.Quotient.mk I) - Ideal.map_quotient_self 📋 Mathlib.RingTheory.Ideal.Quotient.Operations
{R : Type u} [Ring R] (I : Ideal R) [I.IsTwoSided] : Ideal.map (Ideal.Quotient.mk I) I = ⊥ - Ideal.quotientMap_comp_mk 📋 Mathlib.RingTheory.Ideal.Quotient.Operations
{R : Type u} [Ring R] {S : Type v} [Ring S] {J : Ideal R} {I : Ideal S} [I.IsTwoSided] [J.IsTwoSided] {f : R →+* S} (H : J ≤ Ideal.comap f I) : (Ideal.quotientMap I f H).comp (Ideal.Quotient.mk J) = (Ideal.Quotient.mk I).comp f - Ideal.Quotient.mk_algebraMap 📋 Mathlib.RingTheory.Ideal.Quotient.Operations
(R₁ : Type u_1) {A : Type u_3} [CommSemiring R₁] [Ring A] [Algebra R₁ A] (I : Ideal A) [I.IsTwoSided] (x : R₁) : (Ideal.Quotient.mk I) ((algebraMap R₁ A) x) = (algebraMap R₁ (A ⧸ I)) x - Ideal.map_mk_eq_bot_of_le 📋 Mathlib.RingTheory.Ideal.Quotient.Operations
{R : Type u} [Ring R] {I J : Ideal R} [J.IsTwoSided] (h : I ≤ J) : Ideal.map (Ideal.Quotient.mk J) I = ⊥ - Ideal.comap_map_mk 📋 Mathlib.RingTheory.Ideal.Quotient.Operations
{R : Type u} [Ring R] {I J : Ideal R} [I.IsTwoSided] (h : I ≤ J) : Ideal.comap (Ideal.Quotient.mk I) (Ideal.map (Ideal.Quotient.mk I) J) = J - Ideal.ker_Pi_Quotient_mk 📋 Mathlib.RingTheory.Ideal.Quotient.Operations
{R : Type u} [Ring R] {ι : Type u_1} (I : ι → Ideal R) [∀ (i : ι), (I i).IsTwoSided] : RingHom.ker (RingHom.pi fun i => Ideal.Quotient.mk (I i)) = ⨅ i, I i - Ideal.comap_map_quotientMk 📋 Mathlib.RingTheory.Ideal.Quotient.Operations
{R : Type u} [Ring R] (I J : Ideal R) [I.IsTwoSided] : Ideal.comap (Ideal.Quotient.mk I) (Ideal.map (Ideal.Quotient.mk I) J) = I ⊔ J - Ideal.quotientEquivAlgOfEq_mk 📋 Mathlib.RingTheory.Ideal.Quotient.Operations
(R₁ : Type u_1) {A : Type u_3} [CommSemiring R₁] [Ring A] [Algebra R₁ A] {I J : Ideal A} [I.IsTwoSided] [J.IsTwoSided] (h : I = J) (x : A) : (Ideal.quotientEquivAlgOfEq R₁ h) ((Ideal.Quotient.mk I) x) = (Ideal.Quotient.mk J) x - Ideal.ker_quotient_lift 📋 Mathlib.RingTheory.Ideal.Quotient.Operations
{R : Type u} {S : Type v} [Ring R] [Semiring S] {I : Ideal R} [I.IsTwoSided] (f : R →+* S) (H : I ≤ RingHom.ker f) : RingHom.ker (Ideal.Quotient.lift I f H) = Ideal.map (Ideal.Quotient.mk I) (RingHom.ker f) - Ideal.Quotient.factorₐ_apply_mk 📋 Mathlib.RingTheory.Ideal.Quotient.Operations
(R₁ : Type u_1) {A : Type u_3} [CommSemiring R₁] [Ring A] [Algebra R₁ A] {I J : Ideal A} [I.IsTwoSided] [J.IsTwoSided] (hIJ : I ≤ J) (x : A) : (Ideal.Quotient.factorₐ R₁ hIJ) ((Ideal.Quotient.mk I) x) = (Ideal.Quotient.mk J) x - Ideal.mem_quotient_iff_mem 📋 Mathlib.RingTheory.Ideal.Quotient.Operations
{R : Type u} [Ring R] {I J : Ideal R} [I.IsTwoSided] (hIJ : I ≤ J) {x : R} : (Ideal.Quotient.mk I) x ∈ Ideal.map (Ideal.Quotient.mk I) J ↔ x ∈ J - Ideal.mem_quotient_iff_mem_sup 📋 Mathlib.RingTheory.Ideal.Quotient.Operations
{R : Type u} [Ring R] {I J : Ideal R} [I.IsTwoSided] {x : R} : (Ideal.Quotient.mk I) x ∈ Ideal.map (Ideal.Quotient.mk I) J ↔ x ∈ J ⊔ I - Ideal.quotientMap_mk 📋 Mathlib.RingTheory.Ideal.Quotient.Operations
{R : Type u} [Ring R] {S : Type v} [Ring S] {J : Ideal R} {I : Ideal S} [I.IsTwoSided] [J.IsTwoSided] {f : R →+* S} {H : J ≤ Ideal.comap f I} {x : R} : (Ideal.quotientMap I f H) ((Ideal.Quotient.mk J) x) = (Ideal.Quotient.mk I) (f x) - Ideal.quotient_map_mkₐ 📋 Mathlib.RingTheory.Ideal.Quotient.Operations
{R₁ : Type u_1} {A : Type u_3} {B : Type u_4} [CommSemiring R₁] [Ring A] [Algebra R₁ A] [Ring B] [Algebra R₁ B] {I : Ideal A} (J : Ideal B) [I.IsTwoSided] [J.IsTwoSided] (f : A →ₐ[R₁] B) (H : I ≤ Ideal.comap f J) {x : A} : (Ideal.quotientMapₐ J f H) ((Ideal.Quotient.mk I) x) = (Ideal.Quotient.mkₐ R₁ J) (f x) - DoubleQuot.quotQuotMk 📋 Mathlib.RingTheory.Ideal.Quotient.Operations
{R : Type u} [CommRing R] (I J : Ideal R) : R →+* (R ⧸ I) ⧸ Ideal.map (Ideal.Quotient.mk I) J - Ideal.quotientMap_algebraMap 📋 Mathlib.RingTheory.Ideal.Quotient.Operations
{R₁ : Type u_1} {A : Type u_3} [CommSemiring R₁] [Ring A] [Algebra R₁ A] {S : Type v} [Ring S] {J : Ideal A} {I : Ideal S} [I.IsTwoSided] [J.IsTwoSided] {f : A →+* S} {H : J ≤ Ideal.comap f I} {x : R₁} : (Ideal.quotientMap I f H) ((algebraMap R₁ (A ⧸ J)) x) = (Ideal.Quotient.mk I) (f ((algebraMap R₁ A) x)) - Ideal.quotientEquivAlg_mk 📋 Mathlib.RingTheory.Ideal.Quotient.Operations
{R₁ : Type u_1} {A : Type u_3} {B : Type u_4} [CommSemiring R₁] [Ring A] [Algebra R₁ A] [Ring B] [Algebra R₁ B] {I : Ideal A} (J : Ideal B) [I.IsTwoSided] [J.IsTwoSided] (f : A ≃ₐ[R₁] B) (hIJ : J = Ideal.map (↑f) I) (x : A) : (I.quotientEquivAlg J f hIJ) ((Ideal.Quotient.mk I) x) = (Ideal.Quotient.mk J) (f x) - DoubleQuot.liftSupQuotQuotMk 📋 Mathlib.RingTheory.Ideal.Quotient.Operations
{R : Type u} [CommRing R] (I J : Ideal R) : R ⧸ I ⊔ J →+* (R ⧸ I) ⧸ Ideal.map (Ideal.Quotient.mk I) J - DoubleQuot.quotQuotToQuotSup 📋 Mathlib.RingTheory.Ideal.Quotient.Operations
{R : Type u} [CommRing R] (I J : Ideal R) : (R ⧸ I) ⧸ Ideal.map (Ideal.Quotient.mk I) J →+* R ⧸ I ⊔ J - DoubleQuot.ker_quotLeftToQuotSup 📋 Mathlib.RingTheory.Ideal.Quotient.Operations
{R : Type u} [CommRing R] (I J : Ideal R) : RingHom.ker (DoubleQuot.quotLeftToQuotSup I J) = Ideal.map (Ideal.Quotient.mk I) J - AlgEquiv.quotientBot_mk 📋 Mathlib.RingTheory.Ideal.Quotient.Operations
{R : Type u_1} {S : Type u_2} [CommSemiring R] [CommRing S] [Algebra R S] (s : S) : (AlgEquiv.quotientBot R S) ((Ideal.Quotient.mk ⊥) s) = s - Ideal.quotientInfToPiQuotient_mk 📋 Mathlib.RingTheory.Ideal.Quotient.Operations
{R : Type u} [Ring R] {ι : Type u_1} (I : ι → Ideal R) [∀ (i : ι), (I i).IsTwoSided] (x : R) : (Ideal.quotientInfToPiQuotient I) ((Ideal.Quotient.mk (⨅ i, I i)) x) = fun i => (Ideal.Quotient.mk (I i)) x - Ideal.quotientInfToPiQuotient_mk' 📋 Mathlib.RingTheory.Ideal.Quotient.Operations
{R : Type u} [Ring R] {ι : Type u_1} (I : ι → Ideal R) [∀ (i : ι), (I i).IsTwoSided] (x : R) (i : ι) : (Ideal.quotientInfToPiQuotient I) ((Ideal.Quotient.mk (⨅ i, I i)) x) i = (Ideal.Quotient.mk (I i)) x - AlgEquiv.quotientBot_symm_mk 📋 Mathlib.RingTheory.Ideal.Quotient.Operations
{R : Type u_1} {S : Type u_2} [CommSemiring R] [CommRing S] [Algebra R S] (s : S) : (AlgEquiv.quotientBot R S).symm s = (Ideal.Quotient.mk ⊥) s - RingHom.kerLift_mk 📋 Mathlib.RingTheory.Ideal.Quotient.Operations
{R : Type u} {S : Type v} [Ring R] [Semiring S] (f : R →+* S) (r : R) : f.kerLift ((Ideal.Quotient.mk (RingHom.ker f)) r) = f r - Ideal.quotientEquiv_mk 📋 Mathlib.RingTheory.Ideal.Quotient.Operations
{R : Type u} [Ring R] {S : Type v} [Ring S] (I : Ideal R) (J : Ideal S) [I.IsTwoSided] [J.IsTwoSided] (f : R ≃+* S) (hIJ : J = Ideal.map (↑f) I) (x : R) : (I.quotientEquiv J f hIJ) ((Ideal.Quotient.mk I) x) = (Ideal.Quotient.mk J) (f x) - RingEquiv.quotientBot_mk 📋 Mathlib.RingTheory.Ideal.Quotient.Operations
{R : Type u_1} [Ring R] (r : R) : (RingEquiv.quotientBot R) ((Ideal.Quotient.mk ⊥) r) = r - RingHom.quotientKerEquivOfSurjective_symm_comp 📋 Mathlib.RingTheory.Ideal.Quotient.Operations
{R : Type u} {S : Type v} [Ring R] [Semiring S] {f : R →+* S} (hf : Function.Surjective ⇑f) : (RingHom.quotientKerEquivOfSurjective hf).symm.toRingHom.comp f = Ideal.Quotient.mk (RingHom.ker f) - Ideal.quotientEquiv_symm_mk 📋 Mathlib.RingTheory.Ideal.Quotient.Operations
{R : Type u} [Ring R] {S : Type v} [Ring S] (I : Ideal R) (J : Ideal S) [I.IsTwoSided] [J.IsTwoSided] (f : R ≃+* S) (hIJ : J = Ideal.map (↑f) I) (x : S) : (I.quotientEquiv J f hIJ).symm ((Ideal.Quotient.mk J) x) = (Ideal.Quotient.mk I) (f.symm x) - DoubleQuot.quotQuotEquivQuotOfLE 📋 Mathlib.RingTheory.Ideal.Quotient.Operations
{R : Type u} [CommRing R] {I J : Ideal R} (h : I ≤ J) : (R ⧸ I) ⧸ Ideal.map (Ideal.Quotient.mk I) J ≃+* R ⧸ J - RingEquiv.quotientBot_symm_mk 📋 Mathlib.RingTheory.Ideal.Quotient.Operations
{R : Type u_1} [Ring R] (r : R) : (RingEquiv.quotientBot R).symm r = (Ideal.Quotient.mk ⊥) r - DoubleQuot.quotQuotEquivQuotSup 📋 Mathlib.RingTheory.Ideal.Quotient.Operations
{R : Type u} [CommRing R] (I J : Ideal R) : (R ⧸ I) ⧸ Ideal.map (Ideal.Quotient.mk I) J ≃+* R ⧸ I ⊔ J - Ideal.kerLiftAlg_mk 📋 Mathlib.RingTheory.Ideal.Quotient.Operations
{R₁ : Type u_1} {A : Type u_3} {B : Type u_4} [CommSemiring R₁] [Ring A] [Algebra R₁ A] [Semiring B] [Algebra R₁ B] (f : A →ₐ[R₁] B) (a : A) : (Ideal.kerLiftAlg f) ((Ideal.Quotient.mk (RingHom.ker f)) a) = f a - Ideal.quotientKerAlgEquivOfSurjective_mk 📋 Mathlib.RingTheory.Ideal.Quotient.Operations
{R₁ : Type u_1} {A : Type u_3} {B : Type u_4} [CommSemiring R₁] [Ring A] [Algebra R₁ A] [Semiring B] [Algebra R₁ B] {f : A →ₐ[R₁] B} (hf : Function.Surjective ⇑f) (a : A) : (Ideal.quotientKerAlgEquivOfSurjective hf) ((Ideal.Quotient.mk (RingHom.ker f)) a) = f a - DoubleQuot.ker_quotQuotMk 📋 Mathlib.RingTheory.Ideal.Quotient.Operations
{R : Type u} [CommRing R] (I J : Ideal R) : RingHom.ker (DoubleQuot.quotQuotMk I J) = I ⊔ J - Ideal.quotientKerAlgEquivOfRightInverse_symm_apply 📋 Mathlib.RingTheory.Ideal.Quotient.Operations
{R₁ : Type u_1} {A : Type u_3} {B : Type u_4} [CommSemiring R₁] [Ring A] [Algebra R₁ A] [Semiring B] [Algebra R₁ B] {f : A →ₐ[R₁] B} {g : B → A} (hf : Function.RightInverse g ⇑f) (a✝ : B) : (Ideal.quotientKerAlgEquivOfRightInverse hf).symm a✝ = (Ideal.Quotient.mk (RingHom.ker ↑f)) (g a✝) - RingHom.quotientKerEquivOfSurjective_apply_mk 📋 Mathlib.RingTheory.Ideal.Quotient.Operations
{R : Type u} {S : Type v} [Ring R] [Semiring S] {f : R →+* S} (hf : Function.Surjective ⇑f) (x : R) : (RingHom.quotientKerEquivOfSurjective hf) ((Ideal.Quotient.mk (RingHom.ker f)) x) = f x - Ideal.quotientKerAlgEquivOfSurjective_symm_apply 📋 Mathlib.RingTheory.Ideal.Quotient.Operations
{R₁ : Type u_1} {A : Type u_3} {B : Type u_4} [CommSemiring R₁] [Ring A] [Algebra R₁ A] [Semiring B] [Algebra R₁ B] {f : A →ₐ[R₁] B} (hf : Function.Surjective ⇑f) (a : A) : (Ideal.quotientKerAlgEquivOfSurjective hf).symm (f a) = (Ideal.Quotient.mk (RingHom.ker f)) a - DoubleQuot.quotQuotEquivComm 📋 Mathlib.RingTheory.Ideal.Quotient.Operations
{R : Type u} [CommRing R] (I J : Ideal R) : (R ⧸ I) ⧸ Ideal.map (Ideal.Quotient.mk I) J ≃+* (R ⧸ J) ⧸ Ideal.map (Ideal.Quotient.mk J) I - RingHom.quotientKerEquivOfRightInverse.Symm.apply 📋 Mathlib.RingTheory.Ideal.Quotient.Operations
{R : Type u} {S : Type v} [Ring R] [Semiring S] {f : R →+* S} {g : S → R} (hf : Function.RightInverse g ⇑f) (x : S) : (RingHom.quotientKerEquivOfRightInverse hf).symm x = (Ideal.Quotient.mk (RingHom.ker f)) (g x) - RingHom.quotientKerEquivOfSurjective_symm_apply 📋 Mathlib.RingTheory.Ideal.Quotient.Operations
{R : Type u} {S : Type v} [Ring R] [Semiring S] {f : R →+* S} (hf : Function.Surjective ⇑f) (x : R) : (RingHom.quotientKerEquivOfSurjective hf).symm (f x) = (Ideal.Quotient.mk (RingHom.ker f)) x - DoubleQuot.coe_quotQuotMkₐ 📋 Mathlib.RingTheory.Ideal.Quotient.Operations
(R : Type u) {A : Type u_1} [CommSemiring R] [CommRing A] [Algebra R A] (I J : Ideal A) : ⇑(DoubleQuot.quotQuotMkₐ R I J) = ⇑(DoubleQuot.quotQuotMk I J) - Ideal.ker_quotientMap_mk 📋 Mathlib.RingTheory.Ideal.Quotient.Operations
{R : Type u} [Ring R] {I J : Ideal R} [I.IsTwoSided] [J.IsTwoSided] : RingHom.ker (Ideal.quotientMap (Ideal.map (Ideal.Quotient.mk I) J) (Ideal.Quotient.mk I) ⋯) = Ideal.map (Ideal.Quotient.mk J) I - DoubleQuot.coe_liftSupQuotQuotMkₐ 📋 Mathlib.RingTheory.Ideal.Quotient.Operations
(R : Type u) {A : Type u_1} [CommSemiring R] [CommRing A] [Algebra R A] (I J : Ideal A) : ⇑(DoubleQuot.liftSupQuotQuotMkₐ R I J) = ⇑(DoubleQuot.liftSupQuotQuotMk I J) - DoubleQuot.coe_quotQuotToQuotSupₐ 📋 Mathlib.RingTheory.Ideal.Quotient.Operations
(R : Type u) {A : Type u_1} [CommSemiring R] [CommRing A] [Algebra R A] (I J : Ideal A) : ⇑(DoubleQuot.quotQuotToQuotSupₐ R I J) = ⇑(DoubleQuot.quotQuotToQuotSup I J) - DoubleQuot.quotQuotEquivQuotOfLEₐ_symm_toRingEquiv 📋 Mathlib.RingTheory.Ideal.Quotient.Operations
(R : Type u) {A : Type u_1} [CommSemiring R] [CommRing A] [Algebra R A] {I J : Ideal A} (h : I ≤ J) : (DoubleQuot.quotQuotEquivQuotOfLEₐ R h).symm.toRingEquiv = (DoubleQuot.quotQuotEquivQuotOfLE h).symm - DoubleQuot.quotQuotEquivQuotSupₐ_symm_toRingEquiv 📋 Mathlib.RingTheory.Ideal.Quotient.Operations
(R : Type u) {A : Type u_1} [CommSemiring R] [CommRing A] [Algebra R A] (I J : Ideal A) : (DoubleQuot.quotQuotEquivQuotSupₐ R I J).symm.toRingEquiv = (DoubleQuot.quotQuotEquivQuotSup I J).symm - Ideal.powQuotPowSuccEquivMapMkPowSuccPow 📋 Mathlib.RingTheory.Ideal.Quotient.Operations
{R : Type u_1} [CommRing R] (I : Ideal R) (n : ℕ) : ↥(I ^ n) ⧸ I • ⊤ ≃ ↥(Ideal.map (Ideal.Quotient.mk (I ^ (n + 1))) (I ^ n)) - DoubleQuot.quotQuotEquivComm_symm 📋 Mathlib.RingTheory.Ideal.Quotient.Operations
{R : Type u} [CommRing R] (I J : Ideal R) : (DoubleQuot.quotQuotEquivComm I J).symm = DoubleQuot.quotQuotEquivComm J I - DoubleQuot.quotQuotEquivQuotOfLE_quotQuotMk 📋 Mathlib.RingTheory.Ideal.Quotient.Operations
{R : Type u} [CommRing R] {I J : Ideal R} (x : R) (h : I ≤ J) : (DoubleQuot.quotQuotEquivQuotOfLE h) ((DoubleQuot.quotQuotMk I J) x) = (Ideal.Quotient.mk J) x - DoubleQuot.coe_quotQuotEquivQuotOfLEₐ 📋 Mathlib.RingTheory.Ideal.Quotient.Operations
(R : Type u) {A : Type u_1} [CommSemiring R] [CommRing A] [Algebra R A] {I J : Ideal A} (h : I ≤ J) : ⇑(DoubleQuot.quotQuotEquivQuotOfLEₐ R h) = ⇑(DoubleQuot.quotQuotEquivQuotOfLE h) - DoubleQuot.quotQuotEquivQuotSup_quotQuotMk 📋 Mathlib.RingTheory.Ideal.Quotient.Operations
{R : Type u} [CommRing R] (I J : Ideal R) (x : R) : (DoubleQuot.quotQuotEquivQuotSup I J) ((DoubleQuot.quotQuotMk I J) x) = (Ideal.Quotient.mk (I ⊔ J)) x - DoubleQuot.coe_quotQuotEquivQuotSupₐ 📋 Mathlib.RingTheory.Ideal.Quotient.Operations
(R : Type u) {A : Type u_1} [CommSemiring R] [CommRing A] [Algebra R A] (I J : Ideal A) : ⇑(DoubleQuot.quotQuotEquivQuotSupₐ R I J) = ⇑(DoubleQuot.quotQuotEquivQuotSup I J) - DoubleQuot.quotQuotEquivQuotOfLE_symm_mk 📋 Mathlib.RingTheory.Ideal.Quotient.Operations
{R : Type u} [CommRing R] {I J : Ideal R} (x : R) (h : I ≤ J) : (DoubleQuot.quotQuotEquivQuotOfLE h).symm ((Ideal.Quotient.mk J) x) = (DoubleQuot.quotQuotMk I J) x - DoubleQuot.quotQuotEquivQuotSup_quot_quot_algebraMap 📋 Mathlib.RingTheory.Ideal.Quotient.Operations
{R : Type u} [CommSemiring R] {A : Type v} [CommRing A] [Algebra R A] (I J : Ideal A) (x : R) : (DoubleQuot.quotQuotEquivQuotSup I J) ((algebraMap R ((A ⧸ I) ⧸ Ideal.map (Ideal.Quotient.mk I) J)) x) = (algebraMap R (A ⧸ I ⊔ J)) x - DoubleQuot.coe_quotQuotEquivQuotOfLEₐ_symm 📋 Mathlib.RingTheory.Ideal.Quotient.Operations
(R : Type u) {A : Type u_1} [CommSemiring R] [CommRing A] [Algebra R A] {I J : Ideal A} (h : I ≤ J) : ⇑(DoubleQuot.quotQuotEquivQuotOfLEₐ R h).symm = ⇑(DoubleQuot.quotQuotEquivQuotOfLE h).symm - DoubleQuot.quotQuotEquivQuotSup_symm_quotQuotMk 📋 Mathlib.RingTheory.Ideal.Quotient.Operations
{R : Type u} [CommRing R] (I J : Ideal R) (x : R) : (DoubleQuot.quotQuotEquivQuotSup I J).symm ((Ideal.Quotient.mk (I ⊔ J)) x) = (DoubleQuot.quotQuotMk I J) x - DoubleQuot.coe_quotQuotEquivQuotSupₐ_symm 📋 Mathlib.RingTheory.Ideal.Quotient.Operations
(R : Type u) {A : Type u_1} [CommSemiring R] [CommRing A] [Algebra R A] (I J : Ideal A) : ⇑(DoubleQuot.quotQuotEquivQuotSupₐ R I J).symm = ⇑(DoubleQuot.quotQuotEquivQuotSup I J).symm - DoubleQuot.quotQuotEquivQuotOfLE_comp_quotQuotMk 📋 Mathlib.RingTheory.Ideal.Quotient.Operations
{R : Type u} [CommRing R] {I J : Ideal R} (h : I ≤ J) : (↑(DoubleQuot.quotQuotEquivQuotOfLE h)).comp (DoubleQuot.quotQuotMk I J) = Ideal.Quotient.mk J - DoubleQuot.quotQuotEquivComm_quotQuotMk 📋 Mathlib.RingTheory.Ideal.Quotient.Operations
{R : Type u} [CommRing R] (I J : Ideal R) (x : R) : (DoubleQuot.quotQuotEquivComm I J) ((DoubleQuot.quotQuotMk I J) x) = (DoubleQuot.quotQuotMk J I) x - DoubleQuot.coe_quotQuotEquivCommₐ 📋 Mathlib.RingTheory.Ideal.Quotient.Operations
(R : Type u) {A : Type u_1} [CommSemiring R] [CommRing A] [Algebra R A] (I J : Ideal A) : ⇑(DoubleQuot.quotQuotEquivCommₐ R I J) = ⇑(DoubleQuot.quotQuotEquivComm I J) - DoubleQuot.quotQuotEquivQuotOfLE_symm_comp_mk 📋 Mathlib.RingTheory.Ideal.Quotient.Operations
{R : Type u} [CommRing R] {I J : Ideal R} (h : I ≤ J) : (↑(DoubleQuot.quotQuotEquivQuotOfLE h).symm).comp (Ideal.Quotient.mk J) = DoubleQuot.quotQuotMk I J - DoubleQuot.quotQuotEquivComm_algebraMap 📋 Mathlib.RingTheory.Ideal.Quotient.Operations
{R : Type u} [CommSemiring R] {A : Type v} [CommRing A] [Algebra R A] (I J : Ideal A) (x : R) : (DoubleQuot.quotQuotEquivComm I J) ((algebraMap R ((A ⧸ I) ⧸ Ideal.map (Ideal.Quotient.mk I) J)) x) = (algebraMap R ((A ⧸ J) ⧸ Ideal.map (Ideal.Quotient.mk J) I)) x - Ideal.powQuotPowSuccLinearEquivMapMkPowSuccPow 📋 Mathlib.RingTheory.Ideal.Quotient.Operations
{R : Type u_1} [CommRing R] (I : Ideal R) (n : ℕ) : (↥(I ^ n) ⧸ I • ⊤) ≃ₗ[R] ↥(Ideal.map (Ideal.Quotient.mk (I ^ (n + 1))) (I ^ n)) - DoubleQuot.quotQuotEquivComm_mk_mk 📋 Mathlib.RingTheory.Ideal.Quotient.Operations
{R : Type u} [CommRing R] (I J : Ideal R) (x : R) : (DoubleQuot.quotQuotEquivComm I J) ((Ideal.Quotient.mk (Ideal.map (Ideal.Quotient.mk I) J)) ((Ideal.Quotient.mk I) x)) = (algebraMap R ((R ⧸ J) ⧸ Ideal.map (Ideal.Quotient.mk J) I)) x - DoubleQuot.quotQuotEquivComm_comp_quotQuotMk 📋 Mathlib.RingTheory.Ideal.Quotient.Operations
{R : Type u} [CommRing R] (I J : Ideal R) : (↑(DoubleQuot.quotQuotEquivComm I J)).comp (DoubleQuot.quotQuotMk I J) = DoubleQuot.quotQuotMk J I - Ring.jacobson_quotient_of_le 📋 Mathlib.RingTheory.Jacobson.Radical
{R : Type u_1} [Ring R] {I : Ideal R} [I.IsTwoSided] (le : I ≤ Ring.jacobson R) : Ring.jacobson (R ⧸ I) = Submodule.map (Ideal.Quotient.mk I).toSemilinearMap (Ring.jacobson R) - Ideal.Quotient.algebraMap_mk_of_liesOver 📋 Mathlib.RingTheory.Ideal.Over
{A : Type u_3} {B : Type u_4} [CommRing A] [CommRing B] [Algebra A B] (P : Ideal B) (p : Ideal A) [P.LiesOver p] (x : A) : (algebraMap (A ⧸ p) (B ⧸ P)) ((Ideal.Quotient.mk p) x) = (Ideal.Quotient.mk P) ((algebraMap A B) x) - Ideal.Quotient.algEquivOfEqMap_apply 📋 Mathlib.RingTheory.Ideal.Over
{A : Type u_3} {B : Type u_4} {C : Type u_5} [CommRing A] [CommRing B] [CommRing C] [Algebra A B] [Algebra A C] {P : Ideal B} {Q : Ideal C} (p : Ideal A) [Q.LiesOver p] [P.LiesOver p] {E : Type u_7} [EquivLike E B C] [AlgEquivClass E A B C] (σ : E) (h : Q = Ideal.map σ P) (x : B) : (Ideal.Quotient.algEquivOfEqMap p σ h) ((Ideal.Quotient.mk P) x) = (Ideal.Quotient.mk Q) (σ x) - Ideal.Quotient.algEquivOfEqComap_apply 📋 Mathlib.RingTheory.Ideal.Over
{A : Type u_3} {B : Type u_4} {C : Type u_5} [CommRing A] [CommRing B] [CommRing C] [Algebra A B] [Algebra A C] {P : Ideal B} {Q : Ideal C} (p : Ideal A) [Q.LiesOver p] [P.LiesOver p] {E : Type u_7} [EquivLike E B C] [AlgEquivClass E A B C] (σ : E) (h : P = Ideal.comap σ Q) (x : B) : (Ideal.Quotient.algEquivOfEqComap p σ h) ((Ideal.Quotient.mk P) x) = (Ideal.Quotient.mk Q) (σ x) - Ideal.Quotient.instIsPrimeQuotientMapRingHomAlgebraMapMkOfLiesOver 📋 Mathlib.RingTheory.Ideal.Over
(R : Type u_2) [CommSemiring R] {A : Type u_3} [CommRing A] [Algebra R A] (p : Ideal R) (P : Ideal A) [P.IsPrime] [P.LiesOver p] : (Ideal.map (Ideal.Quotient.mk (Ideal.map (algebraMap R A) p)) P).IsPrime - Ideal.Quotient.algebraMap_quotient_map_quotient 📋 Mathlib.RingTheory.Ideal.Over
{R : Type u_1} [CommRing R] {S : Type u_2} [CommRing S] {p : Ideal R} [Algebra R S] (x : R) : (algebraMap (R ⧸ p) (S ⧸ Ideal.map (algebraMap R S) p)) ((Ideal.Quotient.mk p) x) = (Ideal.Quotient.mk (Ideal.map (algebraMap R S) p)) ((algebraMap R S) x) - Ideal.Quotient.mk_smul_mk_quotient_map_quotient 📋 Mathlib.RingTheory.Ideal.Over
{R : Type u_1} [CommRing R] {S : Type u_2} [CommRing S] {p : Ideal R} [Algebra R S] (x : R) (y : S) : (Ideal.Quotient.mk p) x • (Ideal.Quotient.mk (Ideal.map (algebraMap R S) p)) y = (Ideal.Quotient.mk (Ideal.map (algebraMap R S) p)) ((algebraMap R S) x * y) - Ideal.Quotient.stabilizerHom_apply 📋 Mathlib.RingTheory.Ideal.Over
{A : Type u_3} {B : Type u_4} [CommRing A] [CommRing B] [Algebra A B] (P : Ideal B) (p : Ideal A) [P.LiesOver p] (G : Type u_6) [Group G] [MulSemiringAction G B] [SMulCommClass G A B] (g : ↥(MulAction.stabilizer G P)) (b : B) : ((Ideal.Quotient.stabilizerHom P p G) g) ((Ideal.Quotient.mk P) b) = (Ideal.Quotient.mk P) (g • b) - Ideal.mem_minimalPrimes_sup 📋 Mathlib.RingTheory.Ideal.MinimalPrime.Basic
{R : Type u_2} [CommRing R] {p I J : Ideal R} [p.IsPrime] (hle : I ≤ p) (h : Ideal.map (Ideal.Quotient.mk I) p ∈ (Ideal.map (Ideal.Quotient.mk I) J).minimalPrimes) : p ∈ (I ⊔ J).minimalPrimes - Ideal.map_sup_mem_minimalPrimes_of_map_quotientMk_mem_minimalPrimes 📋 Mathlib.RingTheory.Ideal.MinimalPrime.Basic
{R : Type u_1} [CommSemiring R] {S : Type u_2} [CommRing S] [Algebra R S] {I p : Ideal R} {P : Ideal S} [P.IsPrime] [P.LiesOver p] (hI : p ∈ I.minimalPrimes) {J : Ideal S} (hJP : J ≤ P) (hJ : Ideal.map (Ideal.Quotient.mk (Ideal.map (algebraMap R S) p)) P ∈ (Ideal.map (Ideal.Quotient.mk (Ideal.map (algebraMap R S) p)) J).minimalPrimes) : P ∈ (Ideal.map (algebraMap R S) I ⊔ J).minimalPrimes - IsNilpotent.isUnit_quotient_mk_iff 📋 Mathlib.RingTheory.Ideal.Quotient.Nilpotent
{R : Type u_2} [CommRing R] {I : Ideal R} (hI : IsNilpotent I) {x : R} : IsUnit ((Ideal.Quotient.mk I) x) ↔ IsUnit x - Ideal.IsNilpotent.induction_on 📋 Mathlib.RingTheory.Ideal.Quotient.Nilpotent
{S : Type u_1} [CommRing S] (I : Ideal S) (hI : IsNilpotent I) {P : ⦃S : Type u_1⦄ → [inst : CommRing S] → Ideal S → Prop} (h₁ : ∀ ⦃S : Type u_1⦄ [inst : CommRing S] (I : Ideal S), I ^ 2 = ⊥ → P I) (h₂ : ∀ ⦃S : Type u_1⦄ [inst : CommRing S] (I J : Ideal S), I ≤ J → P I → P (Ideal.map (Ideal.Quotient.mk I) J) → P J) : P I - Ideal.Quotient.isUnit_mk_pow_of_notMem 📋 Mathlib.RingTheory.Ideal.Quotient.Nilpotent
{S : Type u_1} [CommRing S] (I : Ideal S) [I.IsMaximal] {n : ℕ} {x : S} (hx : x ∉ I) : IsUnit ((Ideal.Quotient.mk (I ^ n)) x) - Ideal.Quotient.isUnit_mk_pow_iff_notMem 📋 Mathlib.RingTheory.Ideal.Quotient.Nilpotent
{S : Type u_1} [CommRing S] (I : Ideal S) [I.IsMaximal] {n : ℕ} (hn : n ≠ 0) {x : S} : IsUnit ((Ideal.Quotient.mk (I ^ n)) x) ↔ x ∉ I - Ideal.Quotient.isUnit_mk_pow_iff_isUnit_mk 📋 Mathlib.RingTheory.Ideal.Quotient.Nilpotent
{S : Type u_1} [CommRing S] (I : Ideal S) {x : S} {n : ℕ} (hn : n ≠ 0) : IsUnit ((Ideal.Quotient.mk (I ^ n)) x) ↔ IsUnit ((Ideal.Quotient.mk I) x) - IsLocalization.AtPrime.equivQuotMaximalIdeal_apply_mk 📋 Mathlib.RingTheory.Localization.AtPrime.Basic
{R : Type u_7} [CommRing R] (p : Ideal R) [p.IsMaximal] (Rₚ : Type u_8) [CommRing Rₚ] [Algebra R Rₚ] [IsLocalization.AtPrime Rₚ p] [IsLocalRing Rₚ] (x : R) : (IsLocalization.AtPrime.equivQuotMaximalIdeal p Rₚ) ((Ideal.Quotient.mk p) x) = (Ideal.Quotient.mk (IsLocalRing.maximalIdeal Rₚ)) ((algebraMap R Rₚ) x) - IsLocalization.AtPrime.equivQuotMaximalIdeal_symm_apply_mk 📋 Mathlib.RingTheory.Localization.AtPrime.Basic
{R : Type u_7} [CommRing R] (p : Ideal R) [p.IsMaximal] (Rₚ : Type u_8) [CommRing Rₚ] [Algebra R Rₚ] [IsLocalization.AtPrime Rₚ p] [IsLocalRing Rₚ] (x : R) (s : ↥p.primeCompl) : (IsLocalization.AtPrime.equivQuotMaximalIdeal p Rₚ).symm ((Ideal.Quotient.mk (IsLocalRing.maximalIdeal Rₚ)) (IsLocalization.mk' Rₚ x s)) = (Ideal.Quotient.mk p) x * ((Ideal.Quotient.mk p) ↑s)⁻¹ - IsLocalization.AtPrime.equivQuotMaximalIdealPow_apply_mk 📋 Mathlib.RingTheory.Localization.AtPrime.Basic
{R : Type u_7} [CommRing R] (p : Ideal R) [p.IsMaximal] (Rₚ : Type u_8) [CommRing Rₚ] [Algebra R Rₚ] [IsLocalization.AtPrime Rₚ p] [IsLocalRing Rₚ] (n : ℕ) (x : R) : (IsLocalization.AtPrime.equivQuotMaximalIdealPow p Rₚ n) ((Ideal.Quotient.mk (p ^ n)) x) = (Ideal.Quotient.mk (IsLocalRing.maximalIdeal Rₚ ^ n)) ((algebraMap R Rₚ) x) - IsLocalization.AtPrime.equivQuotMaximalIdealPow_symm_apply_mk_mul 📋 Mathlib.RingTheory.Localization.AtPrime.Basic
{R : Type u_7} [CommRing R] (p : Ideal R) [p.IsMaximal] (Rₚ : Type u_8) [CommRing Rₚ] [Algebra R Rₚ] [IsLocalization.AtPrime Rₚ p] [IsLocalRing Rₚ] (n : ℕ) (x : R) (s : ↥p.primeCompl) : (IsLocalization.AtPrime.equivQuotMaximalIdealPow p Rₚ n).symm ((Ideal.Quotient.mk (IsLocalRing.maximalIdeal Rₚ ^ n)) (IsLocalization.mk' Rₚ x s)) * (Ideal.Quotient.mk (p ^ n)) ↑s = (Ideal.Quotient.mk (p ^ n)) x - TensorProduct.quotTensorEquivQuotSMul_mk_tmul 📋 Mathlib.LinearAlgebra.TensorProduct.Quotient
{R : Type u_1} {M : Type u_2} [CommRing R] [AddCommGroup M] [Module R M] (I : Ideal R) (r : R) (x : M) : (TensorProduct.quotTensorEquivQuotSMul M I) ((Ideal.Quotient.mk I) r ⊗ₜ[R] x) = Submodule.Quotient.mk (r • x) - TensorProduct.tensorQuotEquivQuotSMul_tmul_mk 📋 Mathlib.LinearAlgebra.TensorProduct.Quotient
{R : Type u_1} {M : Type u_2} [CommRing R] [AddCommGroup M] [Module R M] (I : Ideal R) (x : M) (r : R) : (TensorProduct.tensorQuotEquivQuotSMul M I) (x ⊗ₜ[R] (Ideal.Quotient.mk I) r) = Submodule.Quotient.mk (r • x) - Algebra.TensorProduct.quotIdealMapEquivTensorQuot_symm_tmul 📋 Mathlib.RingTheory.TensorProduct.Quotient
{A : Type u_1} (B : Type u_2) [CommRing A] [CommRing B] [Algebra A B] (I : Ideal A) (b : B) (a : A) : (Algebra.TensorProduct.quotIdealMapEquivTensorQuot B I).symm (b ⊗ₜ[A] (Ideal.Quotient.mk I) a) = Submodule.Quotient.mk (a • b) - Algebra.TensorProduct.quotIdealMapEquivQuotTensor_mk 📋 Mathlib.RingTheory.TensorProduct.Quotient
{A : Type u_1} (B : Type u_2) [CommRing A] [CommRing B] [Algebra A B] (I : Ideal A) (b : B) : (Algebra.TensorProduct.quotIdealMapEquivQuotTensor B I) ((Ideal.Quotient.mk (Ideal.map (algebraMap A B) I)) b) = 1 ⊗ₜ[A] b - Algebra.TensorProduct.quotIdealMapEquivTensorQuot_mk 📋 Mathlib.RingTheory.TensorProduct.Quotient
{A : Type u_1} (B : Type u_2) [CommRing A] [CommRing B] [Algebra A B] (I : Ideal A) (b : B) : (Algebra.TensorProduct.quotIdealMapEquivTensorQuot B I) ((Ideal.Quotient.mk (Ideal.map (algebraMap A B) I)) b) = b ⊗ₜ[A] 1 - Algebra.TensorProduct.tensorQuotientEquiv_apply_tmul 📋 Mathlib.RingTheory.TensorProduct.Quotient
{R : Type u_1} (S : Type u_2) (T : Type u_3) (A : Type u_4) [CommRing R] [CommRing S] [Algebra R S] [CommRing T] [Algebra R T] [CommRing A] [Algebra R A] [Algebra S A] [IsScalarTower R S A] (I : Ideal T) (a : A) (t : T) : (Algebra.TensorProduct.tensorQuotientEquiv S T A I) (a ⊗ₜ[R] (Ideal.Quotient.mk I) t) = (Ideal.Quotient.mk (Ideal.map Algebra.TensorProduct.includeRight I)) (a ⊗ₜ[R] t) - Algebra.TensorProduct.tensorQuotientEquiv_symm_apply_tmul 📋 Mathlib.RingTheory.TensorProduct.Quotient
{R : Type u_1} (S : Type u_2) (T : Type u_3) (A : Type u_4) [CommRing R] [CommRing S] [Algebra R S] [CommRing T] [Algebra R T] [CommRing A] [Algebra R A] [Algebra S A] [IsScalarTower R S A] (I : Ideal T) (a : A) (t : T) : (Algebra.TensorProduct.tensorQuotientEquiv S T A I).symm ((Ideal.Quotient.mk (Ideal.map Algebra.TensorProduct.includeRight I)) (a ⊗ₜ[R] t)) = a ⊗ₜ[R] (Ideal.Quotient.mk I) t - Algebra.TensorProduct.quotientTensorEquiv_apply_tmul 📋 Mathlib.RingTheory.TensorProduct.Quotient
{R : Type u_1} (S : Type u_2) (T : Type u_3) (A : Type u_4) [CommRing R] [CommRing S] [Algebra R S] [CommRing T] [Algebra R T] [CommRing A] [Algebra R A] [Algebra S A] [IsScalarTower R S A] (I : Ideal A) (a : A) (t : T) : (Algebra.TensorProduct.quotientTensorEquiv S T A I) ((Ideal.Quotient.mk I) a ⊗ₜ[R] t) = (Ideal.Quotient.mk (Ideal.map (algebraMap A (TensorProduct R A T)) I)) (a ⊗ₜ[R] t) - Algebra.TensorProduct.quotientTensorEquiv_symm_apply_tmul 📋 Mathlib.RingTheory.TensorProduct.Quotient
{R : Type u_1} (S : Type u_2) (T : Type u_3) (A : Type u_4) [CommRing R] [CommRing S] [Algebra R S] [CommRing T] [Algebra R T] [CommRing A] [Algebra R A] [Algebra S A] [IsScalarTower R S A] (I : Ideal A) (a : A) (t : T) : (Algebra.TensorProduct.quotientTensorEquiv S T A I).symm ((Ideal.Quotient.mk (Ideal.map (algebraMap A (TensorProduct R A T)) I)) (a ⊗ₜ[R] t)) = (Ideal.Quotient.mk I) a ⊗ₜ[R] t - Algebra.tensorQuotientTensorEquiv_tmul 📋 Mathlib.RingTheory.TensorProduct.Quotient
{R : Type u_1} {R' : Type u_2} {R'' : Type u_3} {S : Type u_4} [CommRing R] [CommRing R'] [CommRing R''] [CommRing S] [Algebra R R'] [Algebra R R''] [Algebra R' R''] [IsScalarTower R R' R''] [Algebra R S] (e : TensorProduct R R' S) (a : R'') (b : R') (c : S) : (Algebra.tensorQuotientTensorEquiv R'' e) (a ⊗ₜ[R'] (Ideal.Quotient.mk (Ideal.span {e})) (b ⊗ₜ[R] c)) = (Ideal.Quotient.mk (Ideal.span {(Algebra.TensorProduct.rTensor S (Algebra.ofId R' R'')) e})) ((a * (algebraMap R' R'') b) ⊗ₜ[R] c) - Algebra.tensorQuotientTensorEquiv_symm_tmul 📋 Mathlib.RingTheory.TensorProduct.Quotient
{R : Type u_1} {R' : Type u_2} {R'' : Type u_3} {S : Type u_4} [CommRing R] [CommRing R'] [CommRing R''] [CommRing S] [Algebra R R'] [Algebra R R''] [Algebra R' R''] [IsScalarTower R R' R''] [Algebra R S] (e : TensorProduct R R' S) (a : R'') (b : S) : (Algebra.tensorQuotientTensorEquiv R'' e).symm ((Ideal.Quotient.mk (Ideal.span {(Algebra.TensorProduct.rTensor S (Algebra.ofId R' R'')) e})) (a ⊗ₜ[R] b)) = a ⊗ₜ[R'] (Ideal.Quotient.mk (Ideal.span {e})) (1 ⊗ₜ[R] b) - isIntegral_quotientMap_iff 📋 Mathlib.RingTheory.IntegralClosure.IsIntegralClosure.Basic
{R : Type u_1} {S : Type u_4} [CommRing R] [CommRing S] (f : R →+* S) {I : Ideal S} : (Ideal.quotientMap I f ⋯).IsIntegral ↔ ((Ideal.Quotient.mk I).comp f).IsIntegral - Polynomial.Monic.quotient_isIntegralElem 📋 Mathlib.RingTheory.IntegralClosure.IsIntegralClosure.Basic
{S : Type u_4} [CommRing S] {g : Polynomial S} (mon : g.Monic) {I : Ideal (Polynomial S)} (h : g ∈ I) : ((Ideal.Quotient.mk I).comp (algebraMap S (Polynomial S))).IsIntegralElem ((Ideal.Quotient.mk I) Polynomial.X) - Ideal.comap_lt_comap_of_root_mem_sdiff 📋 Mathlib.RingTheory.Ideal.GoingUp
{R : Type u_1} [CommRing R] {S : Type u_2} [CommRing S] {f : R →+* S} {I J : Ideal S} [I.IsPrime] (hIJ : I ≤ J) {r : S} (hr : r ∈ ↑J \ ↑I) {p : Polynomial R} (p_ne_zero : Polynomial.map (Ideal.Quotient.mk (Ideal.comap f I)) p ≠ 0) (hp : Polynomial.eval₂ f r p ∈ I) : Ideal.comap f I < Ideal.comap f J - Ideal.exists_coeff_mem_comap_sdiff_comap_of_root_mem_sdiff 📋 Mathlib.RingTheory.Ideal.GoingUp
{R : Type u_1} [CommRing R] {S : Type u_2} [CommRing S] {f : R →+* S} {I J : Ideal S} [I.IsPrime] (hIJ : I ≤ J) {r : S} (hr : r ∈ ↑J \ ↑I) {p : Polynomial R} (p_ne_zero : Polynomial.map (Ideal.Quotient.mk (Ideal.comap f I)) p ≠ 0) (hpI : Polynomial.eval₂ f r p ∈ I) : ∃ i, p.coeff i ∈ ↑(Ideal.comap f J) \ ↑(Ideal.comap f I) - Ideal.exists_nonzero_mem_of_ne_bot 📋 Mathlib.RingTheory.Ideal.GoingUp
{R : Type u_1} [CommRing R] {P : Ideal (Polynomial R)} (Pb : P ≠ ⊥) (hP : ∀ (x : R), Polynomial.C x ∈ P → x = 0) : ∃ p ∈ P, Polynomial.map (Ideal.Quotient.mk (Ideal.comap Polynomial.C P)) p ≠ 0 - Ideal.injective_quotient_le_comap_map 📋 Mathlib.RingTheory.Ideal.GoingUp
{R : Type u_1} [CommRing R] (P : Ideal (Polynomial R)) : Function.Injective ⇑(Ideal.quotientMap (Ideal.map (Polynomial.mapRingHom (Ideal.Quotient.mk (Ideal.comap Polynomial.C P))) P) (Polynomial.mapRingHom (Ideal.Quotient.mk (Ideal.comap Polynomial.C P))) ⋯) - Ideal.quotient_mk_maps_eq 📋 Mathlib.RingTheory.Ideal.GoingUp
{R : Type u_1} [CommRing R] (P : Ideal (Polynomial R)) : ((Ideal.Quotient.mk (Ideal.map (Polynomial.mapRingHom (Ideal.Quotient.mk (Ideal.comap Polynomial.C P))) P)).comp Polynomial.C).comp (Ideal.Quotient.mk (Ideal.comap Polynomial.C P)) = (Ideal.quotientMap (Ideal.map (Polynomial.mapRingHom (Ideal.Quotient.mk (Ideal.comap Polynomial.C P))) P) (Polynomial.mapRingHom (Ideal.Quotient.mk (Ideal.comap Polynomial.C P))) ⋯).comp ((Ideal.Quotient.mk P).comp Polynomial.C) - IsLocalRing.residue_def 📋 Mathlib.RingTheory.LocalRing.ResidueField.Basic
{R : Type u_1} [CommRing R] [IsLocalRing R] (x : R) : (IsLocalRing.residue R) x = (Ideal.Quotient.mk (IsLocalRing.maximalIdeal R)) x - Ideal.algebraMap_quotient_residueField_mk 📋 Mathlib.RingTheory.LocalRing.ResidueField.Ideal
{R : Type u_1} [CommRing R] (I : Ideal R) [I.IsPrime] (x : R) : (algebraMap (R ⧸ I) I.ResidueField) ((Ideal.Quotient.mk I) x) = (algebraMap R I.ResidueField) x - Ideal.minimalPrimes_eq_comap 📋 Mathlib.RingTheory.Ideal.MinimalPrime.Localization
{R : Type u_1} [CommRing R] {I : Ideal R} : I.minimalPrimes = Ideal.comap (Ideal.Quotient.mk I) '' minimalPrimes (R ⧸ I) - PrimeSpectrum.comap_quotientMk_bijective_of_le_nilradical 📋 Mathlib.RingTheory.Spectrum.Prime.Topology
{R : Type u} [CommRing R] {I : Ideal R} (hle : I ≤ nilradical R) : Function.Bijective (PrimeSpectrum.comap (Ideal.Quotient.mk I)) - PrimeSpectrum.range_comap_algebraMap_localization_compl_eq_range_comap_quotientMk 📋 Mathlib.RingTheory.Spectrum.Prime.Topology
{R : Type u_1} [CommRing R] (c : R) : (Set.range (PrimeSpectrum.comap (algebraMap (Polynomial R) (Polynomial (Localization.Away c)))))ᶜ = Set.range (PrimeSpectrum.comap (Polynomial.mapRingHom (Ideal.Quotient.mk (Ideal.span {c})))) - liftOfDerivationToSquareZero_mk_apply 📋 Mathlib.RingTheory.Derivation.ToSquareZero
{R : Type u} {A : Type v} {B : Type w} [CommSemiring R] [CommSemiring A] [CommRing B] [Algebra R A] [Algebra R B] (I : Ideal B) [Algebra A B] (hI : I ^ 2 = ⊥) [IsScalarTower R A B] (d : Derivation R A ↥I) (x : A) : (Ideal.Quotient.mk I) ((liftOfDerivationToSquareZero I hI d) x) = (algebraMap A (B ⧸ I)) x - liftOfDerivationToSquareZero_mk_apply' 📋 Mathlib.RingTheory.Derivation.ToSquareZero
{R : Type u} {A : Type v} {B : Type w} [CommSemiring R] [CommSemiring A] [CommRing B] [Algebra R A] [Algebra R B] (I : Ideal B) [Algebra A B] (d : Derivation R A ↥I) (x : A) : (Ideal.Quotient.mk I) ↑(d x) + (algebraMap A (B ⧸ I)) x = (algebraMap A (B ⧸ I)) x - Module.IsTorsionBySet.semilinearMap 📋 Mathlib.Algebra.Module.Torsion.Basic
{R : Type u_1} {M : Type u_2} [Ring R] [AddCommGroup M] [Module R M] {I : Ideal R} [I.IsTwoSided] (hM : Module.IsTorsionBySet R M ↑I) : have x := hM.module; M →ₛₗ[Ideal.Quotient.mk I] M - Module.IsTorsionBySet.mk_smul 📋 Mathlib.Algebra.Module.Torsion.Basic
{R : Type u_1} {M : Type u_2} [Ring R] [AddCommGroup M] [Module R M] {I : Ideal R} [I.IsTwoSided] (hM : Module.IsTorsionBySet R M ↑I) (b : R) (x : M) : (Ideal.Quotient.mk I) b • x = b • x - Module.IsTorsionBy.mk_smul 📋 Mathlib.Algebra.Module.Torsion.Basic
{R : Type u_1} {M : Type u_2} [Ring R] [AddCommGroup M] [Module R M] {r : R} [(Ideal.span {r}).IsTwoSided] (hM : Module.IsTorsionBy R M r) (b : R) (x : M) : (Ideal.Quotient.mk (Ideal.span {r})) b • x = b • x - Ideal.Quotient.torsionBy_eq_span_singleton 📋 Mathlib.Algebra.Module.Torsion.Basic
{R : Type w} [CommRing R] (a b : R) (ha : a ∈ nonZeroDivisors R) : Submodule.torsionBy R (R ⧸ R ∙ a * b) a = R ∙ (Ideal.Quotient.mk (R ∙ a * b)) b - Submodule.torsionBy.mk_ideal_smul 📋 Mathlib.Algebra.Module.Torsion.Basic
{R : Type u_1} {M : Type u_2} [CommRing R] [AddCommGroup M] [Module R M] (a b : R) (x : ↥(Submodule.torsionBy R M a)) : (Ideal.Quotient.mk (Ideal.span {a})) b • x = b • x - Submodule.torsionBy.mk_smul 📋 Mathlib.Algebra.Module.Torsion.Basic
{R : Type u_1} {M : Type u_2} [CommRing R] [AddCommGroup M] [Module R M] (a b : R) (x : ↥(Submodule.torsionBy R M a)) : (Ideal.Quotient.mk (R ∙ a)) b • x = b • x - Submodule.torsionBySet.mk_smul 📋 Mathlib.Algebra.Module.Torsion.Basic
{R : Type u_1} {M : Type u_2} [CommRing R] [AddCommGroup M] [Module R M] (I : Ideal R) (b : R) (x : ↥(Submodule.torsionBySet R M ↑I)) : (Ideal.Quotient.mk I) b • x = b • x - Module.Quotient.mk_smul_mk 📋 Mathlib.Algebra.Module.Torsion.Basic
{R : Type u_1} (M : Type u_2) [Ring R] [AddCommGroup M] [Module R M] (I : Ideal R) [I.IsTwoSided] (r : R) (m : M) : (Ideal.Quotient.mk I) r • Submodule.Quotient.mk m = Submodule.Quotient.mk (r • m) - Ideal.comap_cotangentIdeal 📋 Mathlib.RingTheory.Ideal.Cotangent
{R : Type u} [CommRing R] (I : Ideal R) : Ideal.comap (Ideal.Quotient.mk (I ^ 2)) I.cotangentIdeal = I - Ideal.mk_mem_cotangentIdeal 📋 Mathlib.RingTheory.Ideal.Cotangent
{R : Type u} [CommRing R] {I : Ideal R} {x : R} : (Ideal.Quotient.mk (I ^ 2)) x ∈ I.cotangentIdeal ↔ x ∈ I - AlgHom.kerSquareLift_mk 📋 Mathlib.RingTheory.Ideal.Cotangent
{R : Type u} [CommRing R] {A : Type u_1} {B : Type u_2} [CommRing A] [CommRing B] [Algebra R A] [Algebra R B] (f : A →ₐ[R] B) (x : A) : f.kerSquareLift ((Ideal.Quotient.mk (RingHom.ker f.toRingHom ^ 2)) x) = f x - Ideal.cotangentEquivIdeal_symm_apply 📋 Mathlib.RingTheory.Ideal.Cotangent
{R : Type u} [CommRing R] (I : Ideal R) (x : R) (hx : x ∈ I) : I.cotangentEquivIdeal.symm ⟨(Submodule.mkQ (I ^ 2)) x, ⋯⟩ = I.toCotangent ⟨x, hx⟩ - Ring.DirectLimit.quotientMk_of 📋 Mathlib.Algebra.Colimit.Ring
{ι : Type u_1} [Preorder ι] {G : ι → Type u_2} [(i : ι) → CommRing (G i)] {f : (i j : ι) → i ≤ j → G i → G j} (i : ι) (x : G i) : (Ideal.Quotient.mk (Ideal.span {a | (∃ i j, ∃ (H : i ≤ j), ∃ x, FreeCommRing.of ⟨j, f i j H x⟩ - FreeCommRing.of ⟨i, x⟩ = a) ∨ (∃ i, FreeCommRing.of ⟨i, 1⟩ - 1 = a) ∨ (∃ i x y, FreeCommRing.of ⟨i, x + y⟩ - (FreeCommRing.of ⟨i, x⟩ + FreeCommRing.of ⟨i, y⟩) = a) ∨ ∃ i x y, FreeCommRing.of ⟨i, x * y⟩ - FreeCommRing.of ⟨i, x⟩ * FreeCommRing.of ⟨i, y⟩ = a})) (FreeCommRing.of ⟨i, x⟩) = (Ring.DirectLimit.of G f i) x - CompleteOrthogonalIdempotents.bijective_pi' 📋 Mathlib.RingTheory.Idempotents
{R : Type u_1} [CommRing R] {I : Type u_3} [Fintype I] {e : I → R} (he : CompleteOrthogonalIdempotents fun x => 1 - e x) : Function.Bijective ⇑(RingHom.pi fun i => Ideal.Quotient.mk (Ideal.span {e i})) - RingHom.pi_bijective_of_isIdempotentElem 📋 Mathlib.RingTheory.Idempotents
{R : Type u_1} [CommRing R] {I : Type u_3} [Fintype I] (e : I → R) (he : ∀ (i : I), IsIdempotentElem (e i)) (he₁ : ∀ (i j : I), i ≠ j → (1 - e i) * (1 - e j) = 0) (he₂ : ∏ i, e i = 0) : Function.Bijective ⇑(RingHom.pi fun i => Ideal.Quotient.mk (Ideal.span {e i})) - OrthogonalIdempotents.surjective_pi 📋 Mathlib.RingTheory.Idempotents
{R : Type u_1} [CommRing R] {I : Type u_3} [Finite I] {e : I → R} (he : OrthogonalIdempotents e) : Function.Surjective ⇑(RingHom.pi fun i => Ideal.Quotient.mk (Ideal.span {1 - e i})) - CompleteOrthogonalIdempotents.bijective_pi 📋 Mathlib.RingTheory.Idempotents
{R : Type u_1} [CommRing R] {I : Type u_3} [Fintype I] {e : I → R} (he : CompleteOrthogonalIdempotents e) : Function.Bijective ⇑(RingHom.pi fun i => Ideal.Quotient.mk (Ideal.span {1 - e i})) - Ideal.mem_map_span_singleton_iff_of_isIdempotentElem 📋 Mathlib.RingTheory.Idempotents
{R : Type u_1} [CommRing R] {e r : R} (he : IsIdempotentElem e) {I : Ideal R} : (Ideal.Quotient.mk (Ideal.span {e})) r ∈ Ideal.map (Ideal.Quotient.mk (Ideal.span {e})) I ↔ (1 - e) * r ∈ I - AlgEquiv.prodQuotientOfIsIdempotentElem_apply_snd 📋 Mathlib.RingTheory.Idempotents
(R : Type u_1) [CommRing R] {S : Type u_4} [CommRing S] [Algebra R S] {e f : S} (he : IsIdempotentElem e) (hf : IsIdempotentElem f) (hef₁ : e + f = 1) (hef₂ : e * f = 0) (a : S) : ((AlgEquiv.prodQuotientOfIsIdempotentElem R he hf hef₁ hef₂) a).2 = (Ideal.Quotient.mk (Ideal.span {f})) a - AlgEquiv.prodQuotientOfIsIdempotentElem_apply_fst 📋 Mathlib.RingTheory.Idempotents
(R : Type u_1) [CommRing R] {S : Type u_4} [CommRing S] [Algebra R S] {e f : S} (he : IsIdempotentElem e) (hf : IsIdempotentElem f) (hef₁ : e + f = 1) (hef₂ : e * f = 0) (a : S) : ((AlgEquiv.prodQuotientOfIsIdempotentElem R he hf hef₁ hef₂) a).1 = (Ideal.Quotient.mk (Ideal.span {e})) a - RingHom.prod_bijective_of_isIdempotentElem 📋 Mathlib.RingTheory.Idempotents
{R : Type u_1} [CommRing R] {e f : R} (he : IsIdempotentElem e) (hf : IsIdempotentElem f) (hef₁ : e + f = 1) (hef₂ : e * f = 0) : Function.Bijective ⇑((Ideal.Quotient.mk (Ideal.span {e})).prod (Ideal.Quotient.mk (Ideal.span {f}))) - AlgEquiv.prodQuotientOfIsIdempotentElem_apply 📋 Mathlib.RingTheory.Idempotents
(R : Type u_1) [CommRing R] {S : Type u_4} [CommRing S] [Algebra R S] {e f : S} (he : IsIdempotentElem e) (hf : IsIdempotentElem f) (hef₁ : e + f = 1) (hef₂ : e * f = 0) (a : S) : (AlgEquiv.prodQuotientOfIsIdempotentElem R he hf hef₁ hef₂) a = ((Ideal.Quotient.mk (Ideal.span {e})) a, (Ideal.Quotient.mk (Ideal.span {f})) a) - Polynomial.generalizedEisenstein 📋 Mathlib.RingTheory.Polynomial.Eisenstein.Criterion
{R : Type u_1} [CommRing R] [IsDomain R] {K : Type u_2} [Field K] [Algebra R K] {q f : Polynomial R} {p : ℕ} (hq_irr : Irreducible (Polynomial.map (algebraMap R K) q)) (hq_monic : q.Monic) (hf_prim : f.IsPrimitive) (hfd0 : 0 < f.natDegree) (hfP : (algebraMap R K) f.leadingCoeff ≠ 0) (hfmodP : Polynomial.map (algebraMap R K) f = Polynomial.C ((algebraMap R K) f.leadingCoeff) * Polynomial.map (algebraMap R K) q ^ p) (hfmodP2 : Polynomial.map (Ideal.Quotient.mk (RingHom.ker (algebraMap R K) ^ 2)) (f %ₘ q) ≠ 0) : Irreducible f - IsArtinianRing.equivPi_apply 📋 Mathlib.RingTheory.Artinian.Module
(R : Type u_1) [CommRing R] [IsArtinianRing R] [IsReduced R] (x : R) (m : MaximalSpectrum R) : (IsArtinianRing.equivPi R) x m = (Ideal.Quotient.mk m.asIdeal) x - SModEq.idealQuotientMk 📋 Mathlib.LinearAlgebra.SModEq.Basic
{R : Type u_6} [CommRing R] {I : Ideal R} {x y : R} : x ≡ y [SMOD I] ↔ (Ideal.Quotient.mk I) x = (Ideal.Quotient.mk I) y - Ideal.eval₂_C_mk_eq_zero 📋 Mathlib.RingTheory.Polynomial.Quotient
{R : Type u_1} [CommRing R] {I : Ideal R} (f : Polynomial R) : f ∈ Ideal.map Polynomial.C I → (Polynomial.eval₂RingHom (Polynomial.C.comp (Ideal.Quotient.mk I)) Polynomial.X) f = 0 - MvPolynomial.eval₂_C_mk_eq_zero 📋 Mathlib.RingTheory.Polynomial.Quotient
{R : Type u_1} {σ : Type u_2} [CommRing R] {I : Ideal R} {a : MvPolynomial σ R} (ha : a ∈ Ideal.map MvPolynomial.C I) : (MvPolynomial.eval₂Hom (MvPolynomial.C.comp (Ideal.Quotient.mk I)) MvPolynomial.X) a = 0 - Polynomial.modByMonic_eq_zero_iff_quotient_eq_zero 📋 Mathlib.RingTheory.Polynomial.Quotient
{R : Type u_1} [CommRing R] (p q : Polynomial R) (hq : q.Monic) : p %ₘ q = 0 ↔ (Ideal.Quotient.mk (Ideal.span {q})) p = 0 - Ideal.quotient_map_C_eq_zero 📋 Mathlib.RingTheory.Polynomial.Quotient
{R : Type u_1} [CommRing R] {I : Ideal R} (a : R) : a ∈ I → ((Ideal.Quotient.mk (Ideal.map Polynomial.C I)).comp Polynomial.C) a = 0 - MvPolynomial.quotient_map_C_eq_zero 📋 Mathlib.RingTheory.Polynomial.Quotient
{R : Type u_1} {σ : Type u_2} [CommRing R] {I : Ideal R} {i : R} (hi : i ∈ I) : ((Ideal.Quotient.mk (Ideal.map MvPolynomial.C I)).comp MvPolynomial.C) i = 0 - Polynomial.quotientSpanXSubCAlgEquiv_mk 📋 Mathlib.RingTheory.Polynomial.Quotient
{R : Type u_1} [CommRing R] (x : R) (p : Polynomial R) : (Polynomial.quotientSpanXSubCAlgEquiv x) ((Ideal.Quotient.mk (Ideal.span {Polynomial.X - Polynomial.C x})) p) = Polynomial.eval x p - Ideal.polynomialQuotientEquivQuotientPolynomial_map_mk 📋 Mathlib.RingTheory.Polynomial.Quotient
{R : Type u_1} [CommRing R] (I : Ideal R) (f : Polynomial R) : I.polynomialQuotientEquivQuotientPolynomial (Polynomial.map (Ideal.Quotient.mk I) f) = (Ideal.Quotient.mk (Ideal.map Polynomial.C I)) f - Ideal.polynomialQuotientEquivQuotientPolynomial_symm_mk 📋 Mathlib.RingTheory.Polynomial.Quotient
{R : Type u_1} [CommRing R] (I : Ideal R) (f : Polynomial R) : I.polynomialQuotientEquivQuotientPolynomial.symm ((Ideal.Quotient.mk (Ideal.map Polynomial.C I)) f) = Polynomial.map (Ideal.Quotient.mk I) f - MvPolynomial.quotientEquivQuotientMvPolynomial_leftInverse 📋 Mathlib.RingTheory.Polynomial.Quotient
{R : Type u_1} {σ : Type u_2} [CommRing R] (I : Ideal R) : Function.LeftInverse (MvPolynomial.eval₂ (Ideal.Quotient.lift I ((Ideal.Quotient.mk (Ideal.map MvPolynomial.C I)).comp MvPolynomial.C) ⋯) fun i => (Ideal.Quotient.mk (Ideal.map MvPolynomial.C I)) (MvPolynomial.X i)) ⇑(Ideal.Quotient.lift (Ideal.map MvPolynomial.C I) (MvPolynomial.eval₂Hom (MvPolynomial.C.comp (Ideal.Quotient.mk I)) MvPolynomial.X) ⋯) - MvPolynomial.quotientEquivQuotientMvPolynomial_rightInverse 📋 Mathlib.RingTheory.Polynomial.Quotient
{R : Type u_1} {σ : Type u_2} [CommRing R] (I : Ideal R) : Function.RightInverse (MvPolynomial.eval₂ (Ideal.Quotient.lift I ((Ideal.Quotient.mk (Ideal.map MvPolynomial.C I)).comp MvPolynomial.C) ⋯) fun i => (Ideal.Quotient.mk (Ideal.map MvPolynomial.C I)) (MvPolynomial.X i)) ⇑(Ideal.Quotient.lift (Ideal.map MvPolynomial.C I) (MvPolynomial.eval₂Hom (MvPolynomial.C.comp (Ideal.Quotient.mk I)) MvPolynomial.X) ⋯) - Ideal.eq_zero_of_polynomial_mem_map_range 📋 Mathlib.RingTheory.Polynomial.Quotient
{R : Type u_1} [CommRing R] (I : Ideal (Polynomial R)) (x : ↥((Ideal.Quotient.mk I).comp Polynomial.C).range) (hx : Polynomial.C x ∈ Ideal.map (Polynomial.mapRingHom ((Ideal.Quotient.mk I).comp Polynomial.C).rangeRestrict) I) : x = 0 - PowerBasis.quotientEquivQuotientMinpolyMap 📋 Mathlib.RingTheory.AdjoinRoot
{R : Type u_1} {S : Type u_2} [CommRing R] [CommRing S] [Algebra R S] (pb : PowerBasis R S) (I : Ideal R) : (S ⧸ Ideal.map (algebraMap R S) I) ≃ₐ[R] Polynomial (R ⧸ I) ⧸ Ideal.span {Polynomial.map (Ideal.Quotient.mk I) (minpoly R pb.gen)} - AdjoinRoot.quotEquivQuotMap 📋 Mathlib.RingTheory.AdjoinRoot
{R : Type u_1} [CommRing R] (f : Polynomial R) (I : Ideal R) : (AdjoinRoot f ⧸ Ideal.map (AdjoinRoot.of f) I) ≃ₐ[R] Polynomial (R ⧸ I) ⧸ Ideal.span {Polynomial.map (Ideal.Quotient.mk I) f} - AdjoinRoot.quotAdjoinRootEquivQuotPolynomialQuot 📋 Mathlib.RingTheory.AdjoinRoot
{R : Type u_1} [CommRing R] (I : Ideal R) (f : Polynomial R) : AdjoinRoot f ⧸ Ideal.map (AdjoinRoot.of f) I ≃+* Polynomial (R ⧸ I) ⧸ Ideal.span {Polynomial.map (Ideal.Quotient.mk I) f} - PowerBasis.quotientEquivQuotientMinpolyMap_apply_mk 📋 Mathlib.RingTheory.AdjoinRoot
{R : Type u_1} {S : Type u_2} [CommRing R] [CommRing S] [Algebra R S] (pb : PowerBasis R S) (I : Ideal R) (g : Polynomial R) : (pb.quotientEquivQuotientMinpolyMap I) ((Ideal.Quotient.mk (Ideal.map (algebraMap R S) I)) ((Polynomial.aeval pb.gen) g)) = (Ideal.Quotient.mk (Ideal.span {Polynomial.map (Ideal.Quotient.mk I) (minpoly R pb.gen)})) (Polynomial.map (Ideal.Quotient.mk I) g) - AdjoinRoot.quotEquivQuotMap_apply_mk 📋 Mathlib.RingTheory.AdjoinRoot
{R : Type u_1} [CommRing R] (f g : Polynomial R) (I : Ideal R) : (AdjoinRoot.quotEquivQuotMap f I) ((Ideal.Quotient.mk (Ideal.map (AdjoinRoot.of f) I)) ((AdjoinRoot.mk f) g)) = (Ideal.Quotient.mk (Ideal.span {Polynomial.map (Ideal.Quotient.mk I) f})) (Polynomial.map (Ideal.Quotient.mk I) g) - PowerBasis.quotientEquivQuotientMinpolyMap_symm_apply_mk 📋 Mathlib.RingTheory.AdjoinRoot
{R : Type u_1} {S : Type u_2} [CommRing R] [CommRing S] [Algebra R S] (pb : PowerBasis R S) (I : Ideal R) (g : Polynomial R) : (pb.quotientEquivQuotientMinpolyMap I).symm ((Ideal.Quotient.mk (Ideal.span {Polynomial.map (Ideal.Quotient.mk I) (minpoly R pb.gen)})) (Polynomial.map (Ideal.Quotient.mk I) g)) = (Ideal.Quotient.mk (Ideal.map (algebraMap R S) I)) ((Polynomial.aeval pb.gen) g) - AdjoinRoot.quotEquivQuotMap_symm_apply_mk 📋 Mathlib.RingTheory.AdjoinRoot
{R : Type u_1} [CommRing R] (f g : Polynomial R) (I : Ideal R) : (AdjoinRoot.quotEquivQuotMap f I).symm ((Ideal.Quotient.mk (Ideal.span {Polynomial.map (Ideal.Quotient.mk I) f})) (Polynomial.map (Ideal.Quotient.mk I) g)) = (Ideal.Quotient.mk (Ideal.map (AdjoinRoot.of f) I)) ((AdjoinRoot.mk f) g) - AdjoinRoot.quotEquivQuotMap_apply 📋 Mathlib.RingTheory.AdjoinRoot
{R : Type u_1} [CommRing R] (f : Polynomial R) (I : Ideal R) (a : AdjoinRoot f ⧸ Ideal.map (AdjoinRoot.of f) I) : (AdjoinRoot.quotEquivQuotMap f I) a = (AdjoinRoot.quotAdjoinRootEquivQuotPolynomialQuot I f) a - AdjoinRoot.quotAdjoinRootEquivQuotPolynomialQuot_mk_of 📋 Mathlib.RingTheory.AdjoinRoot
{R : Type u_1} [CommRing R] (I : Ideal R) (f p : Polynomial R) : (AdjoinRoot.quotAdjoinRootEquivQuotPolynomialQuot I f) ((Ideal.Quotient.mk (Ideal.map (AdjoinRoot.of f) I)) ((AdjoinRoot.mk f) p)) = (Ideal.Quotient.mk (Ideal.span {Polynomial.map (Ideal.Quotient.mk I) f})) (Polynomial.map (Ideal.Quotient.mk I) p) - AdjoinRoot.quotEquivQuotMap_symm_apply 📋 Mathlib.RingTheory.AdjoinRoot
{R : Type u_1} [CommRing R] (f : Polynomial R) (I : Ideal R) (a : Polynomial (R ⧸ I) ⧸ Ideal.span {Polynomial.map (Ideal.Quotient.mk I) f}) : (AdjoinRoot.quotEquivQuotMap f I).symm a = (AdjoinRoot.quotAdjoinRootEquivQuotPolynomialQuot I f).symm a - AdjoinRoot.quotAdjoinRootEquivQuotPolynomialQuot_symm_mk_mk 📋 Mathlib.RingTheory.AdjoinRoot
{R : Type u_1} [CommRing R] (I : Ideal R) (f p : Polynomial R) : (AdjoinRoot.quotAdjoinRootEquivQuotPolynomialQuot I f).symm ((Ideal.Quotient.mk (Ideal.span {Polynomial.map (Ideal.Quotient.mk I) f})) (Polynomial.map (Ideal.Quotient.mk I) p)) = (Ideal.Quotient.mk (Ideal.map (AdjoinRoot.of f) I)) ((AdjoinRoot.mk f) p) - AdjoinRoot.quotMapCMapSpanMkEquivQuotMapCQuotMapMk 📋 Mathlib.RingTheory.AdjoinRoot
{R : Type u_1} [CommRing R] (I : Ideal R) (f : Polynomial R) : AdjoinRoot f ⧸ Ideal.map (AdjoinRoot.mk f) (Ideal.map Polynomial.C I) ≃+* (Polynomial R ⧸ Ideal.map Polynomial.C I) ⧸ Ideal.map (Ideal.Quotient.mk (Ideal.map Polynomial.C I)) (Ideal.span {f}) - AdjoinRoot.quotMapCMapSpanMkEquivQuotMapCQuotMapSpanMk 📋 Mathlib.RingTheory.AdjoinRoot
{R : Type u_1} [CommRing R] (I : Ideal R) (f : Polynomial R) : AdjoinRoot f ⧸ Ideal.map (AdjoinRoot.mk f) (Ideal.map Polynomial.C I) ≃+* (Polynomial R ⧸ Ideal.map Polynomial.C I) ⧸ Ideal.map (Ideal.Quotient.mk (Ideal.map Polynomial.C I)) (Ideal.span {f}) - AdjoinRoot.Polynomial.quotQuotEquivComm 📋 Mathlib.RingTheory.AdjoinRoot
{R : Type u_1} [CommRing R] (I : Ideal R) (f : Polynomial R) : Polynomial (R ⧸ I) ⧸ Ideal.span {Polynomial.map (Ideal.Quotient.mk I) f} ≃+* (Polynomial R ⧸ Ideal.map Polynomial.C I) ⧸ Ideal.span {(Ideal.Quotient.mk (Ideal.map Polynomial.C I)) f} - PowerBasis.quotientEquivQuotientMinpolyMap_apply 📋 Mathlib.RingTheory.AdjoinRoot
{R : Type u_1} {S : Type u_2} [CommRing R] [CommRing S] [Algebra R S] (pb : PowerBasis R S) (I : Ideal R) (a✝ : S ⧸ Ideal.map (algebraMap R S) I) : (pb.quotientEquivQuotientMinpolyMap I) a✝ = (AdjoinRoot.quotAdjoinRootEquivQuotPolynomialQuot I (minpoly R pb.gen)) ((AlgEquiv.ofRingEquiv ⋯) a✝) - AdjoinRoot.quotMapOfEquivQuotMapCMapMk_mk 📋 Mathlib.RingTheory.AdjoinRoot
{R : Type u_1} [CommRing R] (I : Ideal R) (f : Polynomial R) (x : AdjoinRoot f) : (AdjoinRoot.quotMapOfEquivQuotMapCMapMk I f) ((Ideal.Quotient.mk (Ideal.map (AdjoinRoot.of f) I)) x) = (Ideal.Quotient.mk (Ideal.map (Ideal.Quotient.mk (Ideal.span {f})) (Ideal.map Polynomial.C I))) x - AdjoinRoot.quotMapOfEquivQuotMapCMapSpanMk_mk 📋 Mathlib.RingTheory.AdjoinRoot
{R : Type u_1} [CommRing R] (I : Ideal R) (f : Polynomial R) (x : AdjoinRoot f) : (AdjoinRoot.quotMapOfEquivQuotMapCMapMk I f) ((Ideal.Quotient.mk (Ideal.map (AdjoinRoot.of f) I)) x) = (Ideal.Quotient.mk (Ideal.map (Ideal.Quotient.mk (Ideal.span {f})) (Ideal.map Polynomial.C I))) x - AdjoinRoot.quotMapOfEquivQuotMapCMapMk_symm_mk 📋 Mathlib.RingTheory.AdjoinRoot
{R : Type u_1} [CommRing R] (I : Ideal R) (f : Polynomial R) (x : AdjoinRoot f) : (AdjoinRoot.quotMapOfEquivQuotMapCMapMk I f).symm ((Ideal.Quotient.mk (Ideal.map (Ideal.Quotient.mk (Ideal.span {f})) (Ideal.map Polynomial.C I))) x) = (Ideal.Quotient.mk (Ideal.map (AdjoinRoot.of f) I)) x - AdjoinRoot.quotMapOfEquivQuotMapCMapSpanMk_symm_mk 📋 Mathlib.RingTheory.AdjoinRoot
{R : Type u_1} [CommRing R] (I : Ideal R) (f : Polynomial R) (x : AdjoinRoot f) : (AdjoinRoot.quotMapOfEquivQuotMapCMapMk I f).symm ((Ideal.Quotient.mk (Ideal.map (Ideal.Quotient.mk (Ideal.span {f})) (Ideal.map Polynomial.C I))) x) = (Ideal.Quotient.mk (Ideal.map (AdjoinRoot.of f) I)) x - AdjoinRoot.quotMapCMapSpanMkEquivQuotMapCQuotMapMk_mk 📋 Mathlib.RingTheory.AdjoinRoot
{R : Type u_1} [CommRing R] (I : Ideal R) (f p : Polynomial R) : (AdjoinRoot.quotMapCMapSpanMkEquivQuotMapCQuotMapMk I f) ((Ideal.Quotient.mk (Ideal.map (AdjoinRoot.mk f) (Ideal.map Polynomial.C I))) ((AdjoinRoot.mk f) p)) = (DoubleQuot.quotQuotMk (Ideal.map Polynomial.C I) (Ideal.span {f})) p - AdjoinRoot.quotMapCMapSpanMkEquivQuotMapCQuotMapSpanMk_mk 📋 Mathlib.RingTheory.AdjoinRoot
{R : Type u_1} [CommRing R] (I : Ideal R) (f p : Polynomial R) : (AdjoinRoot.quotMapCMapSpanMkEquivQuotMapCQuotMapMk I f) ((Ideal.Quotient.mk (Ideal.map (AdjoinRoot.mk f) (Ideal.map Polynomial.C I))) ((AdjoinRoot.mk f) p)) = (DoubleQuot.quotQuotMk (Ideal.map Polynomial.C I) (Ideal.span {f})) p - AdjoinRoot.Polynomial.quotQuotEquivComm_mk 📋 Mathlib.RingTheory.AdjoinRoot
{R : Type u_1} [CommRing R] (I : Ideal R) (f p : Polynomial R) : (AdjoinRoot.Polynomial.quotQuotEquivComm I f) ((Ideal.Quotient.mk (Ideal.span {Polynomial.map (Ideal.Quotient.mk I) f})) (Polynomial.map (Ideal.Quotient.mk I) p)) = (Ideal.Quotient.mk (Ideal.span {(Ideal.Quotient.mk (Ideal.map Polynomial.C I)) f})) ((Ideal.Quotient.mk (Ideal.map Polynomial.C I)) p) - AdjoinRoot.quotMapCMapSpanMkEquivQuotMapCQuotMapMk_symm_quotQuotMk 📋 Mathlib.RingTheory.AdjoinRoot
{R : Type u_1} [CommRing R] (I : Ideal R) (f p : Polynomial R) : (AdjoinRoot.quotMapCMapSpanMkEquivQuotMapCQuotMapMk I f).symm ((DoubleQuot.quotQuotMk (Ideal.map Polynomial.C I) (Ideal.span {f})) p) = (Ideal.Quotient.mk (Ideal.map (Ideal.Quotient.mk (Ideal.span {f})) (Ideal.map Polynomial.C I))) ((AdjoinRoot.mk f) p) - AdjoinRoot.quotMapCMapSpanMkEquivQuotMapCQuotMapSpanMk_symm_quotQuotMk 📋 Mathlib.RingTheory.AdjoinRoot
{R : Type u_1} [CommRing R] (I : Ideal R) (f p : Polynomial R) : (AdjoinRoot.quotMapCMapSpanMkEquivQuotMapCQuotMapMk I f).symm ((DoubleQuot.quotQuotMk (Ideal.map Polynomial.C I) (Ideal.span {f})) p) = (Ideal.Quotient.mk (Ideal.map (Ideal.Quotient.mk (Ideal.span {f})) (Ideal.map Polynomial.C I))) ((AdjoinRoot.mk f) p) - AdjoinRoot.Polynomial.quotQuotEquivComm_symm_mk_mk 📋 Mathlib.RingTheory.AdjoinRoot
{R : Type u_1} [CommRing R] (I : Ideal R) (f p : Polynomial R) : (AdjoinRoot.Polynomial.quotQuotEquivComm I f).symm ((Ideal.Quotient.mk (Ideal.span {(Ideal.Quotient.mk (Ideal.map Polynomial.C I)) f})) ((Ideal.Quotient.mk (Ideal.map Polynomial.C I)) p)) = (Ideal.Quotient.mk (Ideal.span {Polynomial.map (Ideal.Quotient.mk I) f})) (Polynomial.map (Ideal.Quotient.mk I) p) - PowerBasis.quotientEquivQuotientMinpolyMap_symm_apply 📋 Mathlib.RingTheory.AdjoinRoot
{R : Type u_1} {S : Type u_2} [CommRing R] [CommRing S] [Algebra R S] (pb : PowerBasis R S) (I : Ideal R) (a✝ : Polynomial (R ⧸ I) ⧸ Ideal.span {Polynomial.map (Ideal.Quotient.mk I) (minpoly R pb.gen)}) : (pb.quotientEquivQuotientMinpolyMap I).symm a✝ = { toEquiv := ↑(AlgEquiv.ofRingEquiv ⋯).symm, map_mul' := ⋯, map_add' := ⋯ } ({ toEquiv := ↑(AdjoinRoot.quotEquivQuotMap (minpoly R pb.gen) I).symm, map_mul' := ⋯, map_add' := ⋯ } a✝)
About
Loogle searches Lean and Mathlib definitions and theorems.
You can use Loogle from within the Lean4 VSCode language extension
using the Loogle command from the command palette. You can also try the
#loogle command from LeanSearchClient,
the CLI version, the Loogle
VS Code extension, the lean.nvim
integration or the Zulip bot.
Usage
Loogle finds definitions and lemmas in various ways:
By constant:
🔍Real.sin
finds all lemmas whose statement somehow mentions the sine function.By lemma name substring:
🔍"differ"
finds all lemmas that have"differ"somewhere in their lemma name.By subexpression:
🔍_ * (_ ^ _)
finds all lemmas whose statements somewhere include a product where the second argument is raised to some power.The pattern can also be non-linear, as in
🔍Real.sqrt ?a * Real.sqrt ?aIf the pattern has parameters, they are matched in any order. Both of these will find
List.map:
🔍(?a -> ?b) -> List ?a -> List ?b
🔍List ?a -> (?a -> ?b) -> List ?bBy main conclusion:
🔍|- tsum _ = _ * tsum _
finds all lemmas where the conclusion (the subexpression to the right of all→and∀) has the given shape.As before, if the pattern has parameters, they are matched against the hypotheses of the lemma in any order; for example,
🔍|- _ < _ → tsum _ < tsum _
will findtsum_lt_tsumeven though the hypothesisf i < g iis not the last.You can filter for definitions vs theorems: Using
⊢ (_ : Type _)finds all definitions which provide data while⊢ (_ : Prop)finds all theorems (and definitions of proofs).
If you pass more than one such search filter, separated by commas
Loogle will return lemmas which match all of them. The
search
🔍 Real.sin, "two", tsum, _ * _, _ ^ _, |- _ < _ → _
would find all lemmas which mention the constants Real.sin
and tsum, have "two" as a substring of the
lemma name, include a product and a power somewhere in the type,
and have a hypothesis of the form _ < _ (if
there were any such lemmas). Metavariables (?a) are
assigned independently in each filter.
The #lucky button will directly send you to the
documentation of the first hit.
Source code
You can find the source code for this service at https://github.com/nomeata/loogle. The https://loogle.lean-lang.org/ service is provided by the Lean FRO. Please review the Lean FRO Terms of Use and Privacy Policy.
This is Loogle revision 9f11169 serving mathlib revision ce5dd8c