Skip to content

Commit dad5e8c

Browse files
committed
chore: Golf Ideal.radical_pow (#11144)
Also make `n` implicit and replace `0 < n` with `n ≠ 0`
1 parent 2e87dda commit dad5e8c

File tree

3 files changed

+6
-17
lines changed

3 files changed

+6
-17
lines changed

Mathlib/Algebra/Homology/LocalCohomology.lean

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -219,7 +219,7 @@ def idealPowersToSelfLERadical (J : Ideal R) : ℕᵒᵖ ⥤ SelfLERadical J :=
219219
change _ ≤ (J ^ unop k).radical
220220
cases' unop k with n
221221
· simp [Ideal.radical_top, pow_zero, Ideal.one_eq_top, le_top, Nat.zero_eq]
222-
· simp only [J.radical_pow _ n.succ_pos, Ideal.le_radical]
222+
· simp only [J.radical_pow n.succ_ne_zero, Ideal.le_radical]
223223
#align local_cohomology.ideal_powers_to_self_le_radical localCohomology.idealPowersToSelfLERadical
224224

225225
variable {I J K : Ideal R}

Mathlib/AlgebraicGeometry/PrimeSpectrum/Basic.lean

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -374,9 +374,9 @@ theorem zeroLocus_singleton_mul (f g : R) :
374374
#align prime_spectrum.zero_locus_singleton_mul PrimeSpectrum.zeroLocus_singleton_mul
375375

376376
@[simp]
377-
theorem zeroLocus_pow (I : Ideal R) {n : ℕ} (hn : 0 < n) :
377+
theorem zeroLocus_pow (I : Ideal R) {n : ℕ} (hn : n ≠ 0) :
378378
zeroLocus ((I ^ n : Ideal R) : Set R) = zeroLocus I :=
379-
zeroLocus_radical (I ^ n) ▸ (I.radical_pow n hn).symm ▸ zeroLocus_radical I
379+
zeroLocus_radical (I ^ n) ▸ (I.radical_pow hn).symm ▸ zeroLocus_radical I
380380
#align prime_spectrum.zero_locus_pow PrimeSpectrum.zeroLocus_pow
381381

382382
@[simp]

Mathlib/RingTheory/Ideal/Operations.lean

Lines changed: 3 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1092,20 +1092,9 @@ variable {R}
10921092

10931093
variable (I)
10941094

1095-
theorem radical_pow (n : ℕ) (H : n > 0) : radical (I ^ n) = radical I :=
1096-
Nat.recOn n (Not.elim (by decide))
1097-
(fun n ih H =>
1098-
Or.casesOn (lt_or_eq_of_le <| Nat.le_of_lt_succ H)
1099-
(fun H =>
1100-
calc
1101-
radical (I ^ (n + 1)) = radical I ⊓ radical (I ^ n) := by
1102-
rw [pow_succ]
1103-
exact radical_mul _ _
1104-
_ = radical I ⊓ radical I := by rw [ih H]
1105-
_ = radical I := inf_idem
1106-
)
1107-
fun H => H ▸ (pow_one I).symm ▸ rfl)
1108-
H
1095+
lemma radical_pow : ∀ {n}, n ≠ 0 → radical (I ^ n) = radical I
1096+
| 1, _ => by simp
1097+
| n + 2, _ => by rw [pow_succ, radical_mul, radical_pow n.succ_ne_zero, inf_idem]
11091098
#align ideal.radical_pow Ideal.radical_pow
11101099

11111100
theorem IsPrime.mul_le {I J P : Ideal R} (hp : IsPrime P) : I * J ≤ P ↔ I ≤ P ∨ J ≤ P := by

0 commit comments

Comments
 (0)