@@ -607,10 +607,15 @@ have t ⊆ span m,
607
607
hbm this ,
608
608
⟨m, hmt, hsm, this , hml⟩
609
609
610
- lemma exists_is_basis (hs : linear_independent s) : ∃b, s ⊆ b ∧ is_basis b :=
610
+ lemma exists_subset_is_basis (hs : linear_independent s) : ∃b, s ⊆ b ∧ is_basis b :=
611
611
let ⟨b, hb₀, hb₁, hb₂, hb₃⟩ := exists_linear_independent hs (@subset_univ _ _) in
612
612
⟨b, hb₁, hb₃, assume x, hb₂ trivial⟩
613
613
614
+ variable (β)
615
+ lemma exists_is_basis : ∃b : set β, is_basis b :=
616
+ let ⟨b, _, hb⟩ := exists_subset_is_basis linear_independent_empty in ⟨b, hb⟩
617
+ variable {β}
618
+
614
619
lemma eq_of_linear_independent_of_span
615
620
(hs : linear_independent s) (h : t ⊆ s) (hst : s ⊆ span t) : s = t :=
616
621
suffices s ⊆ t, from subset.antisymm this h,
@@ -679,10 +684,10 @@ have finite s, from finite_subset u.finite_to_set hsu,
679
684
680
685
lemma exists_left_inverse_linear_map_of_injective {f : β → γ}
681
686
(hf : is_linear_map f) (hf_inj : injective f) : ∃g:γ → β, is_linear_map g ∧ g ∘ f = id :=
682
- let ⟨bβ, _, hbβ⟩ := exists_is_basis linear_independent_empty in
687
+ let ⟨bβ, hbβ⟩ := exists_is_basis β in
683
688
have linear_independent (f '' bβ),
684
689
from hbβ.1 .image hf $ assume b₁ _ b₂ _ eq, hf_inj eq,
685
- let ⟨bγ, hbγ₁, hbγ₂⟩ := exists_is_basis this in
690
+ let ⟨bγ, hbγ₁, hbγ₂⟩ := exists_subset_is_basis this in
686
691
have ∀b∈bβ, (hbγ₂.constr (@inv_fun _ _ ⟨0 ⟩ f) : γ → β) (f b) = b,
687
692
begin
688
693
assume b hb,
@@ -699,7 +704,7 @@ lemma exists_right_inverse_linear_map_of_surjective {f : β → γ}
699
704
let g := @inv_fun _ _ ⟨0 ⟩ f in
700
705
have ri_gf : right_inverse g f, from @right_inverse_inv_fun _ _ _ ⟨0 ⟩ hf_surj,
701
706
have injective g, from injective_of_left_inverse ri_gf,
702
- let ⟨bγ, _, hbγ⟩ := exists_is_basis (linear_independent_empty : linear_independent (∅ : set γ)) in
707
+ let ⟨bγ, hbγ⟩ := exists_is_basis γ in
703
708
have ∀c∈bγ, f ((hbγ.constr g : γ → β) c) = c,
704
709
from assume c hc, by rw [constr_basis hbγ hc, ri_gf],
705
710
⟨hbγ.constr g, hbγ.map_constr, hbγ.eq_linear_map (hf.comp hbγ.map_constr) is_linear_map.id this ⟩
0 commit comments