|
91 | 91 | end
|
92 | 92 | set_option class.instance_max_depth 32
|
93 | 93 |
|
| 94 | +lemma dim_span_le (s : set β) : dim α (span α s) ≤ cardinal.mk s := |
| 95 | +let ⟨b, hb, _, hsb, hlib⟩ := |
| 96 | + exists_linear_independent (@linear_independent_empty α _ _ _ _) (set.empty_subset s) in |
| 97 | +have hsab : span α s = span α b, from span_eq_of_le _ hsb (span_le.2 (λ x hx, subset_span (hb hx))), |
| 98 | +calc dim α (span α s) = dim α (span α b) : by rw hsab |
| 99 | + ... = cardinal.mk b : dim_span hlib |
| 100 | + ... ≤ cardinal.mk s : cardinal.mk_le_mk_of_subset hb |
| 101 | + |
| 102 | +lemma dim_span_of_finset (s : finset β) : dim α (span α (↑s : set β)) < cardinal.omega := |
| 103 | +calc dim α (span α (↑s : set β)) ≤ cardinal.mk (↑s : set β) : dim_span_le ↑s |
| 104 | + ... = s.card : by rw ←cardinal.finset_card |
| 105 | + ... < cardinal.omega : cardinal.nat_lt_omega _ |
| 106 | + |
94 | 107 | theorem dim_prod : dim α (β × γ) = dim α β + dim α γ :=
|
95 | 108 | begin
|
96 | 109 | rcases exists_is_basis α β with ⟨b, hb⟩,
|
@@ -271,6 +284,18 @@ calc rank (f + g) ≤ dim α (f.range ⊔ g.range : submodule α γ) :
|
271 | 284 | end
|
272 | 285 | ... ≤ rank f + rank g : dim_add_le_dim_add_dim _ _
|
273 | 286 |
|
| 287 | +@[simp] lemma rank_zero : rank (0 : β →ₗ[α] γ) = 0 := |
| 288 | +by rw [rank, linear_map.range_zero, dim_bot] |
| 289 | + |
| 290 | +lemma rank_finset_sum_le {ι} (s : finset ι) (f : ι → β →ₗ[α] γ) : |
| 291 | + rank (s.sum f) ≤ s.sum (λ d, rank (f d)) := |
| 292 | +begin |
| 293 | + refine @finset.sum_hom_rel _ _ _ _ _ (λa b, rank a ≤ b) _ _ s (le_of_eq _) _, |
| 294 | + { exact rank_zero }, |
| 295 | + { assume i g c h, exact le_trans (rank_add_le _ _) (add_le_add_left' h) } |
| 296 | +end |
| 297 | + |
| 298 | + |
274 | 299 | variables [add_comm_group δ] [vector_space α δ]
|
275 | 300 |
|
276 | 301 | lemma rank_comp_le1 (g : β →ₗ[α] γ) (f : γ →ₗ[α] δ) : rank (f.comp g) ≤ rank f :=
|
|
0 commit comments