Skip to content

Commit 82b03c0

Browse files
author
Salvatore Mercuri
committed
feat: predicate for ramified infinite places (leanprover-community#24880)
Adds `InfinitePlace.IsRamified` as a shorthand for `¬InfinitePlace.IsUnramified` plus basic API.
1 parent ab66fbb commit 82b03c0

1 file changed

Lines changed: 16 additions & 0 deletions

File tree

Mathlib/NumberTheory/NumberField/InfinitePlace/Ramification.lean

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -170,6 +170,11 @@ An infinite place is unramified in a field extension if the restriction has the
170170
-/
171171
def IsUnramified : Prop := mult (w.comap (algebraMap k K)) = mult w
172172

173+
/--
174+
An infinite place is ramified in a field extension if it is not unramified.
175+
-/
176+
abbrev IsRamified : Prop := ¬w.IsUnramified k
177+
173178
variable {k}
174179

175180
lemma isUnramified_self : IsUnramified K w := rfl
@@ -221,6 +226,17 @@ lemma isUnramified_iff :
221226
rw [← not_iff_not, not_isUnramified_iff, not_or,
222227
not_isReal_iff_isComplex, not_isComplex_iff_isReal]
223228

229+
theorem isRamified_iff : w.IsRamified k ↔ w.IsComplex ∧ (w.comap (algebraMap k K)).IsReal :=
230+
not_isUnramified_iff
231+
232+
theorem IsRamified.ne_conjugate {w₁ w₂ : InfinitePlace K} (h : w₂.IsRamified k) :
233+
w₁.embedding ≠ ComplexEmbedding.conjugate w₂.embedding := by
234+
by_cases h_eq : w₁ = w₂
235+
· rw [isRamified_iff, isComplex_iff] at h
236+
exact Ne.symm (h_eq ▸ h.1)
237+
· contrapose! h_eq
238+
rw [← mk_embedding w₁, h_eq, mk_conjugate_eq, mk_embedding]
239+
224240
variable (k)
225241

226242
lemma IsReal.isUnramified (h : IsReal w) : IsUnramified k w := isUnramified_iff.mpr (Or.inl h)

0 commit comments

Comments
 (0)