Zulip Chat Archive
Stream: new members
Topic: Prove an ideal is Prime
Chengyan Hu (Oct 22 2025 at 20:03):
Hi! I missed at a strange part, and I believe it should not be hard. I just want to prove an Ideal is prime, given that it's prime in R1, and R1 R2 are isomorphic.
import Mathlib
open Field
open LinearMap Module
open scoped NumberField
open IsDedekindDomain
open NumberField
/-- The height-one prime of `OQ` lying over the rational prime `p`, i.e. `(p)`. -/
noncomputable def placeOfNat (p : โ) [hp : Fact p.Prime] :
HeightOneSpectrum (๐ โ):= by
let I : Ideal (๐ โ) := Ideal.span ({algebraMap โค (๐ โ) p})
have e := RingOfIntegers.equiv (K := โ) โค
have hpZ : Prime (p : โค) := by
simpa [Int.prime_iff_natAbs_prime] using hp.out
have hI : Prime I := by
sorry
refine HeightOneSpectrum.ofPrime hI
Aaron Liu (Oct 22 2025 at 20:17):
well I got a proof
import Mathlib
open Field
open LinearMap Module
open scoped NumberField
open IsDedekindDomain
open NumberField
/-- The height-one prime of `OQ` lying over the rational prime `p`, i.e. `(p)`. -/
noncomputable def placeOfNat (p : โ) [hp : Fact p.Prime] :
HeightOneSpectrum (๐ โ):= by
let I : Ideal (๐ โ) := Ideal.span ({algebraMap โค (๐ โ) p})
have e := RingOfIntegers.equiv (K := โ) โค
have hpZ : Prime (p : โค) := by
simpa [Int.prime_iff_natAbs_prime] using hp.out
have hI : Prime I := by
unfold I
apply Ideal.prime_of_isPrime
ยท rw [ne_eq, Ideal.span_singleton_eq_bot]
simp [hp.elim.ne_zero]
rw [โ Set.image_singleton, โ Ideal.map_span]
have he : e.symm = algebraMap โค (๐ โ) := by
subsingleton
rw [โ he]
-- I shouldn't have to do this step
change (Ideal.map e.symm (Ideal.span {(p : โค)})).IsPrime
rw [Ideal.map_symm]
apply Ideal.comap_isPrime
refine HeightOneSpectrum.ofPrime hI
Chengyan Hu (Oct 22 2025 at 20:41):
Thanks a lot! That's clever.
Kevin Buzzard (Oct 22 2025 at 20:41):
Oh we have this in FLT: https://github.com/ImperialCollegeLondon/FLT/blob/main/FLT/Mathlib/RingTheory/DedekindDomain/Ideal/Lemmas.lean
Chengyan Hu (Oct 22 2025 at 20:45):
Great! Out of expection
Last updated: Dec 20 2025 at 21:32 UTC