Skip to content

Commit 5dc6020

Browse files
mariainesdffpfaffelh
authored andcommitted
feat(FieldTheory/Finite/Valuation): add IsTrivialOn (leanprover-community#35531)
Co-authored with: @xgenereux. Co-authored-by: mariainesdff <mariaines.dff@gmail.com>
1 parent ad15cbc commit 5dc6020

File tree

2 files changed

+38
-0
lines changed

2 files changed

+38
-0
lines changed

Mathlib.lean

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4219,6 +4219,7 @@ public import Mathlib.FieldTheory.Finite.Extension
42194219
public import Mathlib.FieldTheory.Finite.GaloisField
42204220
public import Mathlib.FieldTheory.Finite.Polynomial
42214221
public import Mathlib.FieldTheory.Finite.Trace
4222+
public import Mathlib.FieldTheory.Finite.Valuation
42224223
public import Mathlib.FieldTheory.Finiteness
42234224
public import Mathlib.FieldTheory.Fixed
42244225
public import Mathlib.FieldTheory.Galois.Abelian
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
/-
2+
Copyright (c) 2026 María Inés de Frutos-Fernández, Xavier Généreux. All rights reserved.
3+
Released under Apache 2.0 license as described in the file LICENSE.
4+
Authors: María Inés de Frutos-Fernández, Xavier Généreux
5+
-/
6+
module
7+
8+
public import Mathlib.FieldTheory.Finite.Basic
9+
public import Mathlib.RingTheory.Valuation.Basic
10+
11+
/-!
12+
# Valuations on an algebra over a finite field.
13+
-/
14+
15+
@[expose] public section
16+
17+
namespace FiniteField
18+
19+
open Valuation
20+
21+
variable {Fq A Γ : Type*} [Field Fq] [Finite Fq] [Ring A] [Algebra Fq A]
22+
[LinearOrderedCommMonoidWithZero Γ] (v : Valuation A Γ)
23+
24+
@[grind =>]
25+
lemma valuation_algebraMap_eq_one (a : Fq) (ha : a ≠ 0) : v (algebraMap Fq A a) = 1 := by
26+
have : Fintype Fq := Fintype.ofFinite Fq
27+
have hpow : (v (algebraMap Fq A a)) ^ (Fintype.card Fq - 1) = 1 := by
28+
simp [← map_pow, FiniteField.pow_card_sub_one_eq_one a ha]
29+
grind [pow_eq_one_iff, → IsPrimePow.two_le, FiniteField.isPrimePow_card]
30+
31+
lemma valuation_algebraMap_le_one (v : Valuation A Γ) (a : Fq) :
32+
v (algebraMap Fq A a) ≤ 1 := by by_cases a = 0 <;> grind [zero_le']
33+
34+
instance : IsTrivialOn Fq v where
35+
eq_one a ha := FiniteField.valuation_algebraMap_eq_one v a ha
36+
37+
end FiniteField

0 commit comments

Comments
 (0)