Skip to content

Commit 2131653

Browse files
committed
feat(Valuation/Basic): adjust Valuation.IsNontrivial lemmas for fields (#33488)
This PR adjusts some of the lemmas for `Valuation.IsNontrivial` over fields. - `IsNontrivial.exists_lt_one`: ~`v x ≠ 0`~ --> `x ≠ 0`. (Now consistent with `isNontrivial_iff_exists_lt_one`.) - `IsNontrivial.exists_one_lt`: remove superfluous `x ≠ 0`. - `IsNontrivial_iff_exists_one_lt`: added. Co-authored-by: Xavier Genereux <xaviergenereux@hotmail.com>
1 parent 0398d34 commit 2131653

2 files changed

Lines changed: 10 additions & 7 deletions

File tree

Mathlib/NumberTheory/LocalField/Basic.lean

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ lemma isCompact_closedBall (γ : ValueGroupWithZero K) : IsCompact { x | valuati
7575
∃ r', r' ≠ 0 ∧ valuation K r' < 1 ∧ { x | valuation K x ≤ valuation K r' } ⊆ s := by
7676
obtain ⟨r, hr, hrs⟩ := (IsValuativeTopology.hasBasis_nhds_zero' K).mem_iff.mp hs
7777
obtain ⟨r', hr', hr⟩ := Valuation.IsNontrivial.exists_lt_one (v := valuation K)
78-
simp only [ne_eq, map_eq_zero] at hr'
78+
simp only [ne_eq] at hr'
7979
obtain hr1 | hr1 := lt_or_ge r 1
8080
· obtain ⟨r, rfl⟩ := ValuativeRel.valuation_surjective r
8181
simp only [ne_eq, map_eq_zero] at hr

Mathlib/RingTheory/Valuation/Basic.lean

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -516,7 +516,7 @@ lemma isNontrivial_iff_exists_unit :
516516

517517
lemma IsNontrivial.exists_lt_one {Γ₀ : Type*} [LinearOrderedCommGroupWithZero Γ₀]
518518
{v : Valuation K Γ₀} [hv : v.IsNontrivial] :
519-
∃ x : K, v x 0 v x < 1 := by
519+
∃ x ≠ 0, v x < 1 := by
520520
obtain ⟨x, hx⟩ := isNontrivial_iff_exists_unit.mp hv
521521
rw [ne_iff_lt_or_gt] at hx
522522
rcases hx with hx | hx
@@ -525,17 +525,20 @@ lemma IsNontrivial.exists_lt_one {Γ₀ : Type*} [LinearOrderedCommGroupWithZero
525525
· use x⁻¹
526526
simp [-map_inv₀, ← one_lt_val_iff, hx]
527527

528-
theorem isNontrivial_iff_exists_lt_one {Γ₀ : Type*}
529-
[LinearOrderedCommGroupWithZero Γ₀] (v : Valuation K Γ₀) :
530-
v.IsNontrivial ↔ ∃ x, x ≠ 0 ∧ v x < 1 :=
528+
theorem isNontrivial_iff_exists_lt_one {Γ₀ : Type*} [LinearOrderedCommGroupWithZero Γ₀]
529+
(v : Valuation K Γ₀) : v.IsNontrivial ↔ ∃ x ≠ 0, v x < 1 :=
531530
fun h ↦ by simpa using h.exists_lt_one (v := v), fun ⟨x, hx0, hx1⟩ ↦ ⟨x, by simp [hx0, hx1.ne]⟩⟩
532531

533532
lemma IsNontrivial.exists_one_lt {Γ₀ : Type*} [LinearOrderedCommGroupWithZero Γ₀]
534533
{v : Valuation K Γ₀} [hv : v.IsNontrivial] :
535-
∃ x : K, v x ≠ 0 1 < v x := by
534+
∃ x, 1 < v x := by
536535
obtain ⟨x, h0, h1⟩ := hv.exists_lt_one
537536
use x⁻¹
538-
simp [one_lt_inv₀ (zero_lt_iff.mpr h0), h0, h1]
537+
simp [one_lt_inv₀ (zero_lt_iff.mpr (by simp [h0] : v x ≠ 0)), h1]
538+
539+
lemma IsNontrivial_iff_exists_one_lt {Γ₀ : Type*} [LinearOrderedCommGroupWithZero Γ₀]
540+
{v : Valuation K Γ₀} : v.IsNontrivial ↔ ∃ x, 1 < v x :=
541+
fun h ↦ by simpa using h.exists_one_lt (v := v), fun ⟨x, hx1⟩ ↦ ⟨x, by aesop⟩⟩
539542

540543
end Field
541544

0 commit comments

Comments
 (0)