Skip to content

Commit 0a0a50c

Browse files
tb65536Bergschaf
authored andcommitted
feat(RingTheory/LocalRing/ResidueField/Fiber): IsLiesOverAlgebra instance (leanprover-community#38826)
We use the new `IsLiesOverAlgebra` predicate from leanprover-community#38465 to express the fact that the existing `R_p`-algebra instance on `(p.Fiber S)_q` agrees with the one coming from the fact that `q` lies over `p`. (The point of this predicate is to avoid exactly this sort of diamond). Co-authored-by: tb65536 <thomas.l.browning@gmail.com>
1 parent c6943c2 commit 0a0a50c

1 file changed

Lines changed: 7 additions & 1 deletion

File tree

  • Mathlib/RingTheory/LocalRing/ResidueField

Mathlib/RingTheory/LocalRing/ResidueField/Fiber.lean

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,9 +64,15 @@ and the actual set-theoretic fiber of `PrimeSpectrum S → PrimeSpectrum R` at `
6464
abbrev Ideal.Fiber (p : Ideal R) [p.IsPrime] (S : Type*) [AddCommGroup S] [Module R S] : Type _ :=
6565
p.ResidueField ⊗[R] S
6666

67-
instance (p : Ideal R) [p.IsPrime] (q : Ideal (p.Fiber S)) [q.IsPrime] : q.LiesOver p :=
67+
instance (q : Ideal (p.Fiber S)) [q.IsPrime] : q.LiesOver p :=
6868
.trans _ (⊥ : Ideal p.ResidueField) _
6969

70+
/-- If `q` is a prime ideal of `p.Fiber S`, then the localization `(p.Fiber S)_q` is an algebra
71+
over the localization `R_p` since `p.Fiber S` is already an `R_p`-algebra. This `R_p`-algebra
72+
structure on `(p.Fiber S)_q` agrees with the one coming from the fact that `q` lies over `p`. -/
73+
instance (q : Ideal (p.Fiber S)) [q.IsPrime] : Localization.AtPrime.IsLiesOverAlgebra p q where
74+
algebraMap_eq := (Localization.localRingHom_unique p q _ (Ideal.over_def q p) fun _ ↦ rfl).symm
75+
7076
lemma Ideal.Fiber.exists_smul_eq_one_tmul (x : p.Fiber S) : ∃ r ∉ p, ∃ s, r • x = 1 ⊗ₜ[R] s := by
7177
obtain ⟨r, hr, s, e⟩ := Ideal.ResidueField.exists_smul_eq_tmul_one _
7278
(Algebra.TensorProduct.comm _ _ _ x)

0 commit comments

Comments
 (0)