Skip to content

Commit 27da3b5

Browse files
xroblotdagurtomas
authored andcommitted
feat(NumberField/CanonicalEmbedding): add canonicalEmbedding.integralBasis_repr_apply (#14158)
Prove that the representation on the `latticeBasis` of the canonical space of the image of an algebraic number is equal to its representation of the integral basis.
1 parent 6ccbf84 commit 27da3b5

File tree

1 file changed

+24
-0
lines changed
  • Mathlib/NumberTheory/NumberField/CanonicalEmbedding

1 file changed

+24
-0
lines changed

Mathlib/NumberTheory/NumberField/CanonicalEmbedding/Basic.lean

+24
Original file line numberDiff line numberDiff line change
@@ -152,6 +152,30 @@ theorem mem_span_latticeBasis [NumberField K] (x : (K →+* ℂ) → ℂ) :
152152
simp only [SetLike.mem_coe, mem_span_integralBasis K]
153153
rfl
154154

155+
theorem mem_rat_span_latticeBasis [NumberField K] (x : K) :
156+
canonicalEmbedding K x ∈ Submodule.span ℚ (Set.range (latticeBasis K)) := by
157+
rw [← Basis.sum_repr (integralBasis K) x, map_sum]
158+
simp_rw [map_rat_smul]
159+
refine Submodule.sum_smul_mem _ _ (fun i _ ↦ Submodule.subset_span ?_)
160+
rw [← latticeBasis_apply]
161+
exact Set.mem_range_self i
162+
163+
theorem integralBasis_repr_apply [NumberField K] (x : K) (i : Free.ChooseBasisIndex ℤ (𝓞 K)) :
164+
(latticeBasis K).repr (canonicalEmbedding K x) i = (integralBasis K).repr x i := by
165+
rw [← Basis.restrictScalars_repr_apply ℚ _ ⟨_, mem_rat_span_latticeBasis K x⟩, eq_ratCast,
166+
Rat.cast_inj]
167+
let f := (canonicalEmbedding K).toRatAlgHom.toLinearMap.codRestrict _
168+
(fun x ↦ mem_rat_span_latticeBasis K x)
169+
suffices ((latticeBasis K).restrictScalars ℚ).repr.toLinearMap ∘ₗ f =
170+
(integralBasis K).repr.toLinearMap from DFunLike.congr_fun (LinearMap.congr_fun this x) i
171+
refine Basis.ext (integralBasis K) (fun i ↦ ?_)
172+
have : f (integralBasis K i) = ((latticeBasis K).restrictScalars ℚ) i := by
173+
apply Subtype.val_injective
174+
rw [LinearMap.codRestrict_apply, AlgHom.toLinearMap_apply, Basis.restrictScalars_apply,
175+
latticeBasis_apply]
176+
rfl
177+
simp_rw [LinearMap.coe_comp, LinearEquiv.coe_coe, Function.comp_apply, this, Basis.repr_self]
178+
155179
end NumberField.canonicalEmbedding
156180

157181
namespace NumberField.mixedEmbedding

0 commit comments

Comments
 (0)