Ideals over/under ideals #
This file concerns ideals lying over other ideals.
Let f : R →+* S be a ring homomorphism (typically a ring extension), I an ideal of R and
J an ideal of S. We say J lies over I (and I under J) if I is the f-preimage of J.
This is expressed here by writing I = J.comap f.
Implementation notes #
The proofs of the comap_ne_bot and comap_lt_comap families use an approach
specific for their situation: we construct an element in I.comap f from the
coefficients of a minimal polynomial.
Once mathlib has more material on the localization at a prime ideal, the results
can be proven using more general going-up/going-down theory.
Let P be an ideal in R[x]. The map
R[x]/P → (R / (P ∩ R))[x] / (P / (P ∩ R))
is injective.
The identity in this lemma asserts that the "obvious" square
R → (R / (P ∩ R))
↓ ↓
R[x] / P → (R / (P ∩ R))[x] / (P / (P ∩ R))
commutes. It is used, for instance, in the proof of quotient_mk_comp_C_is_integral_of_jacobson,
in the file ring_theory/jacobson.
This technical lemma asserts the existence of a polynomial p in an ideal P ⊂ R[x]
that is non-zero in the quotient R / (P ∩ R) [x]. The assumptions are equivalent to
P ≠ 0 and P ∩ R = (0).
If there is an injective map R/p → S/P such that following diagram commutes:
R → S
↓ ↓
R/p → S/P
then P lies over p.
If P lies over p, then R / p has a canonical map to S / P.
Equations
R / p has a canonical map to S / pS.
Equations
- ideal.quotient.algebra_quotient_map_quotient = ideal.quotient.algebra_quotient_of_le_comap ideal.quotient.algebra_quotient_map_quotient._proof_1
comap (algebra_map R S) is a surjection from the prime spec of R to prime spec of S.
hP : (algebra_map R S).ker ≤ P is a slight generalization of the extension being injective
More general going-up theorem than exists_ideal_over_prime_of_is_integral'.
TODO: Version of going-up theorem with arbitrary length chains (by induction on this)?
Not sure how best to write an ascending chain in Lean
comap (algebra_map R S) is a surjection from the max spec of S to max spec of R.
hP : (algebra_map R S).ker ≤ P is a slight generalization of the extension being injective