mathlib documentation

ring_theory.ideal.quotient

Ideal quotients #

This file defines ideal quotients as a special case of submodule quotients and proves some basic results about these quotients.

See algebra.ring_quot for quotients of non-commutative rings.

Main definitions #

Main results #

def ideal.quotient {R : Type u} [comm_ring R] (I : ideal R) :
Type u

The quotient R/I of a ring R by an ideal I.

The ideal quotient of I is defined to equal the quotient of I as an R-submodule of R. This definition is marked reducible so that typeclass instances can be shared between ideal.quotient I and submodule.quotient I.

Equations
@[protected, instance]
def ideal.quotient.has_one {R : Type u} [comm_ring R] (I : ideal R) :
Equations
@[protected, instance]
def ideal.quotient.has_mul {R : Type u} [comm_ring R] (I : ideal R) :
Equations
def ideal.quotient.mk {R : Type u} [comm_ring R] (I : ideal R) :

The ring homomorphism from a ring R to a quotient ring R/I.

Equations
@[ext]
theorem ideal.quotient.ring_hom_ext {R : Type u} [comm_ring R] {I : ideal R} {S : Type v} [non_assoc_semiring S] ⦃f g : I.quotient →+* S⦄ (h : f.comp (ideal.quotient.mk I) = g.comp (ideal.quotient.mk I)) :
f = g
@[protected, instance]
def ideal.quotient.inhabited {R : Type u} [comm_ring R] {I : ideal R} :
Equations
@[protected]
theorem ideal.quotient.eq {R : Type u} [comm_ring R] {I : ideal R} {x y : R} :
@[simp]
theorem ideal.quotient.mk_eq_mk {R : Type u} [comm_ring R] {I : ideal R} (x : R) :
theorem ideal.quotient.eq_zero_iff_mem {R : Type u} [comm_ring R] {a : R} {I : ideal R} :
theorem ideal.quotient.zero_eq_one_iff {R : Type u} [comm_ring R] {I : ideal R} :
0 = 1 I =
theorem ideal.quotient.zero_ne_one_iff {R : Type u} [comm_ring R] {I : ideal R} :
0 1 I
@[protected]
theorem ideal.quotient.nontrivial {R : Type u} [comm_ring R] {I : ideal R} (hI : I ) :
theorem ideal.quotient.quotient_ring_saturate {R : Type u} [comm_ring R] (I : ideal R) (s : set R) :
(ideal.quotient.mk I) ⁻¹' ((ideal.quotient.mk I) '' s) = ⋃ (x : I), (λ (y : R), x.val + y) '' s

If I is an ideal of a commutative ring R, if q : R → R/I is the quotient map, and if s ⊆ R is a subset, then q⁻¹(q(s)) = ⋃ᵢ(i + s), the union running over all i ∈ I.

@[protected, instance]
def ideal.quotient.is_domain {R : Type u} [comm_ring R] (I : ideal R) [hI : I.is_prime] :
theorem ideal.quotient.exists_inv {R : Type u} [comm_ring R] {I : ideal R} [hI : I.is_maximal] {a : I.quotient} :
a 0(∃ (b : I.quotient), a * b = 1)
@[protected]
noncomputable def ideal.quotient.field {R : Type u} [comm_ring R] (I : ideal R) [hI : I.is_maximal] :

quotient by maximal ideal is a field. def rather than instance, since users will have computable inverses in some applications. See note [reducible non-instances].

Equations
theorem ideal.quotient.maximal_of_is_field {R : Type u} [comm_ring R] (I : ideal R) (hqf : is_field I.quotient) :

If the quotient by an ideal is a field, then the ideal is maximal.

The quotient of a ring by an ideal is a field iff the ideal is maximal.

def ideal.quotient.lift {R : Type u} [comm_ring R] {S : Type v} [comm_ring S] (I : ideal R) (f : R →+* S) (H : ∀ (a : R), a If a = 0) :

Given a ring homomorphism f : R →+* S sending all elements of an ideal to zero, lift it to the quotient by this ideal.

Equations
@[simp]
theorem ideal.quotient.lift_mk {R : Type u} [comm_ring R] {a : R} {S : Type v} [comm_ring S] (I : ideal R) (f : R →+* S) (H : ∀ (a : R), a If a = 0) :
def ideal.quotient.factor {R : Type u} [comm_ring R] (S T : ideal R) (H : S T) :

The ring homomorphism from the quotient by a smaller ideal to the quotient by a larger ideal.

This is the ideal.quotient version of quot.factor

Equations
@[simp]
theorem ideal.quotient.factor_mk {R : Type u} [comm_ring R] (S T : ideal R) (H : S T) (x : R) :
@[simp]
theorem ideal.quotient.factor_comp_mk {R : Type u} [comm_ring R] (S T : ideal R) (H : S T) :
def ideal.quot_equiv_of_eq {R : Type u_1} [comm_ring R] {I J : ideal R} (h : I = J) :

Quotienting by equal ideals gives equivalent rings.

See also submodule.quot_equiv_of_eq.

Equations
@[simp]
theorem ideal.quot_equiv_of_eq_mk {R : Type u_1} [comm_ring R] {I J : ideal R} (h : I = J) (x : R) :
@[protected, instance]
def ideal.module_pi {R : Type u} [comm_ring R] (I : ideal R) (ι : Type v) :

R^n/I^n is a R/I-module.

Equations
noncomputable def ideal.pi_quot_equiv {R : Type u} [comm_ring R] (I : ideal R) (ι : Type v) :

R^n/I^n is isomorphic to (R/I)^n as an R/I-module.

Equations
theorem ideal.map_pi {R : Type u} [comm_ring R] (I : ideal R) {ι : Type u_1} [fintype ι] {ι' : Type w} (x : ι → R) (hi : ∀ (i : ι), x i I) (f : (ι → R) →ₗ[R] ι' → R) (i : ι') :
f x i I

If f : R^n → R^m is an R-linear map and I ⊆ R is an ideal, then the image of I^n is contained in I^m.

theorem ideal.exists_sub_one_mem_and_mem {R : Type u} [comm_ring R] {ι : Type v} (s : finset ι) {f : ι → ideal R} (hf : ∀ (i : ι), i s∀ (j : ι), j si jf i f j = ) (i : ι) (his : i s) :
∃ (r : R), r - 1 f i ∀ (j : ι), j sj ir f j
theorem ideal.exists_sub_mem {R : Type u} [comm_ring R] {ι : Type v} [fintype ι] {f : ι → ideal R} (hf : ∀ (i j : ι), i jf i f j = ) (g : ι → R) :
∃ (r : R), ∀ (i : ι), r - g i f i
def ideal.quotient_inf_to_pi_quotient {R : Type u} [comm_ring R] {ι : Type v} (f : ι → ideal R) :
(⨅ (i : ι), f i).quotient →+* Π (i : ι), (f i).quotient

The homomorphism from R/(⋂ i, f i) to ∏ i, (R / f i) featured in the Chinese Remainder Theorem. It is bijective if the ideals f i are comaximal.

Equations
theorem ideal.quotient_inf_to_pi_quotient_bijective {R : Type u} [comm_ring R] {ι : Type v} [fintype ι] {f : ι → ideal R} (hf : ∀ (i j : ι), i jf i f j = ) :
noncomputable def ideal.quotient_inf_ring_equiv_pi_quotient {R : Type u} [comm_ring R] {ι : Type v} [fintype ι] (f : ι → ideal R) (hf : ∀ (i j : ι), i jf i f j = ) :
(⨅ (i : ι), f i).quotient ≃+* Π (i : ι), (f i).quotient

Chinese Remainder Theorem. Eisenbud Ex.2.6. Similar to Atiyah-Macdonald 1.10 and Stacks 00DT

Equations