Skip to content

Commit 8011afa

Browse files
committed
feat(Data/Matrix/Mul): mulVec and vecMul are injective w.r.t. their matrix argument
1 parent 09125ff commit 8011afa

1 file changed

Lines changed: 14 additions & 0 deletions

File tree

Mathlib/Data/Matrix/Mul.lean

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -953,6 +953,20 @@ theorem vecMul_ofNat (x : ℕ) [x.AtLeastTwo] (v : m → α) :
953953
v ᵥ* ofNat(x) = MulOpposite.op (OfNat.ofNat x : α) • v :=
954954
vecMul_natCast _ _
955955

956+
omit [Fintype m] [DecidableEq m] in
957+
theorem mulVec_injective [DecidableEq n] : @mulVec m n α _ _ |>.Injective := by
958+
intro A B h
959+
ext i j
960+
convert congrFun (congrFun h <| Pi.single j 1) i
961+
<;> simp
962+
963+
omit [Fintype n] in
964+
theorem vecMul_injective : (·.vecMul : Matrix m n α → _).Injective := by
965+
intro A B h
966+
ext i j
967+
convert congrFun (congrFun h <| Pi.single i 1) j
968+
<;> simp only [single_one_vecMul, row]
969+
956970
end NonAssocSemiring
957971

958972
section NonUnitalNonAssocRing

0 commit comments

Comments
 (0)