Skip to content
This repository was archived by the owner on Jul 24, 2024. It is now read-only.

Commit 247dcb2

Browse files
committed
feat(linear_algebra): rules for kernel of of_le, cod_restrict, and pair
1 parent 4fb6c7d commit 247dcb2

File tree

1 file changed

+16
-0
lines changed

1 file changed

+16
-0
lines changed

src/linear_algebra/basic.lean

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -710,6 +710,14 @@ by simpa [disjoint] using @disjoint_ker' _ _ _ _ _ _ _ _ f ⊤
710710
lemma le_ker_iff_map {f : β →ₗ[α] γ} {p : submodule α β} : p ≤ ker f ↔ map f p = ⊥ :=
711711
by rw [ker, eq_bot_iff, map_le_iff_le_comap]
712712

713+
lemma ker_cod_restrict (p : submodule α β) (f : γ →ₗ[α] β) (hf) :
714+
ker (cod_restrict p f hf) = ker f :=
715+
by rw [ker, comap_cod_restrict, map_bot]; refl
716+
717+
lemma range_cod_restrict (p : submodule α β) (f : γ →ₗ[α] β) (hf) :
718+
range (cod_restrict p f hf) = comap p.subtype f.range :=
719+
map_cod_restrict _ _ _ _
720+
713721
lemma map_comap_eq (f : β →ₗ[α] γ) (q : submodule α γ) :
714722
map f (comap f q) = range f ⊓ q :=
715723
le_antisymm (le_inf (map_mono le_top) (map_comap_le _ _)) $
@@ -775,6 +783,11 @@ lemma span_inl_union_inr {s : set β} {t : set γ} :
775783
span α (prod.inl '' s ∪ prod.inr '' t) = (span α s).prod (span α t) :=
776784
by rw [span_union, prod_eq_sup_map, ← span_image, ← span_image]; refl
777785

786+
lemma ker_pair (f : β →ₗ[α] γ) (g : β →ₗ[α] δ) :
787+
ker (pair f g) = ker f ⊓ ker g :=
788+
by rw [ker, ← prod_bot, comap_pair_prod]; refl
789+
790+
778791
end linear_map
779792

780793
namespace submodule
@@ -796,6 +809,9 @@ by simpa using map_comap_subtype p ⊤
796809
lemma map_subtype_le (p' : submodule α p) : map p.subtype p' ≤ p :=
797810
by simpa using (map_mono le_top : map p.subtype p' ≤ p.subtype.range)
798811

812+
@[simp] theorem ker_of_le (p p' : submodule α β) (h : p ≤ p') : (of_le h).ker = ⊥ :=
813+
by rw [of_le, ker_cod_restrict, ker_subtype]
814+
799815
/-- If N ⊆ M then submodules of N are the same as submodules of M contained in N -/
800816
def map_subtype.order_iso :
801817
((≤) : submodule α p → submodule α p → Prop) ≃o

0 commit comments

Comments
 (0)