@@ -81,7 +81,7 @@ open_locale classical
81
81
open cardinal submodule module function
82
82
83
83
variables {K : Type u} {V : Type v} [field K] [add_comm_group V] [module K V]
84
- {V₂ : Type v'} [add_comm_group V₂] [module K V₂]
84
+ variables {V₂ : Type v'} [add_comm_group V₂] [module K V₂]
85
85
86
86
/-- `finite_dimensional` vector spaces are defined to be noetherian modules.
87
87
Use `finite_dimensional.iff_fg` or `finite_dimensional.of_fintype_basis` to prove finite dimension
@@ -521,6 +521,26 @@ is_noetherian_span_of_finite K hA
521
521
/-- The submodule generated by a single element is finite-dimensional. -/
522
522
instance (x : V) : finite_dimensional K (K ∙ x) := by {apply span_of_finite, simp}
523
523
524
+ /-- Pushforwards of finite-dimensional submodules are finite-dimensional. -/
525
+ instance (f : V →ₗ[K] V₂) (p : submodule K V) [h : finite_dimensional K p] :
526
+ finite_dimensional K (p.map f) :=
527
+ begin
528
+ unfreezingI { rw [finite_dimensional, is_noetherian.iff_dim_lt_omega ] at h ⊢ },
529
+ rw [← cardinal.lift_lt.{v' v}],
530
+ rw [← cardinal.lift_lt.{v v'}] at h,
531
+ rw [cardinal.lift_omega] at h ⊢,
532
+ exact (lift_dim_map_le f p).trans_lt h
533
+ end
534
+
535
+ /-- Pushforwards of finite-dimensional submodules have a smaller finrank. -/
536
+ lemma finrank_map_le (f : V →ₗ[K] V₂) (p : submodule K V) [finite_dimensional K p] :
537
+ finrank K (p.map f) ≤ finrank K p :=
538
+ begin
539
+ rw [← cardinal.nat_cast_le.{max v v'}, ← cardinal.lift_nat_cast.{v' v},
540
+ ← cardinal.lift_nat_cast.{v v'}, finrank_eq_dim K p, finrank_eq_dim K (p.map f)],
541
+ exact lift_dim_map_le f p
542
+ end
543
+
524
544
end finite_dimensional
525
545
526
546
section zero_dim
@@ -709,6 +729,11 @@ begin
709
729
simpa [← finrank_eq_dim] using f.lift_dim_eq
710
730
end
711
731
732
+ /-- Pushforwards of finite-dimensional submodules along a `linear_equiv` have the same finrank. -/
733
+ lemma finrank_map_eq (f : V ≃ₗ[K] V₂) (p : submodule K V) [finite_dimensional K p] :
734
+ finrank K (p.map (f : V →ₗ[K] V₂)) = finrank K p :=
735
+ (f.of_submodule p).finrank_eq.symm
736
+
712
737
end linear_equiv
713
738
714
739
instance finite_dimensional_finsupp {ι : Type *} [fintype ι] [finite_dimensional K V] :
0 commit comments