Zulip Chat Archive
Stream: maths
Topic: field extensions and linear independence
Jakob von Raumer (Jul 18 2021 at 19:34):
I'm considering formalising the following theorem: 235.png
Jakob von Raumer (Jul 18 2021 at 19:34):
It looks like it's quite painful to formalise and I wondered if one of you recognize the core argument from some other proof?
Kevin Buzzard (Jul 18 2021 at 19:55):
If you have a non-trivial finite linear combination in then for every -linear map you can push the relation forward and deduce in , which means that all the are zero in every -linear map , so by general vector space nonsense they're all 0.
Another way to think about this approach: choose a -basis for , say . Then for write each as a -linear combination of the and now look at components and use -lin-ind to prove that all the components of each are zero.
Jakob von Raumer (Jul 18 2021 at 20:09):
Kevin Buzzard said:
If you have a non-trivial finite linear combination in then for every -linear map you can push the relation forward and deduce in , which means that all the are zero in every -linear map , so by general vector space nonsense they're all 0.
Ah yes, so that implication might be in linear_algebra
somewhere.
Jakob von Raumer (Jul 18 2021 at 20:10):
As for the second approach: Is guaranteed to have a -basis if it's an arbitrary algebra over ?
Kevin Buzzard (Jul 18 2021 at 20:10):
Every vector space has a basis (this is probably equivalent to AC)
Kevin Buzzard (Jul 18 2021 at 20:10):
(so it does in my head but I can't speak for anyone else's head :-) )
Jakob von Raumer (Jul 18 2021 at 20:11):
I keep on forgetting that that is the head I should be using for this formalisation, and not the constructivist one ;)
Jakob von Raumer (Jul 30 2021 at 11:11):
Kevin Buzzard said:
which means that all the are zero in every -linear map , so by general vector space nonsense they're all 0.
This had in fact not been added to mathlib yet...
theorem eq_zero_of_linear_maps_to_zero
{K L : Type*} [field K] [add_comm_group L] [module K L]
(x : L) (hφs : ∀ (φ : L →ₗ[K] K), φ x = 0) : x = 0 :=
begin
by_cases ha : x = 0,
{ assumption },
{ exfalso, apply @zero_ne_one K,
let s : set L := {x},
have xind : linear_independent K (@coe s L _) := linear_independent_singleton ha,
let b := extend xind,
rw [ ←hφs (b.to_dual x),
show x = b ⟨x, linear_independent.subset_extend _ _ (set.mem_singleton x)⟩,
by rw [coe_extend, subtype.coe_mk],
coe_to_dual_self, coord_apply, repr_self, finsupp.single_eq_same] }
end
Damiano Testa (Jul 30 2021 at 11:36):
You can probably replace the first three lines by
by_contradiction ha,
apply @zero_ne_one K,
and get rid of some indenting.
Jakob von Raumer (Jul 30 2021 at 11:43):
Ah, thanks, yes :)
Last updated: Dec 20 2023 at 11:08 UTC