ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
-- Matrix.vecMulVec_apply
theorem vecMulVec_apply [Mul α] (w : m → α) (v : n → α) (i j) : vecMulVec w v i j = w i * v j 
Arguments: {m : Type u_2} {n : Type u_3} {α : Type v} [Mul α] (w : m → α) (v : n → α) (i : m) (j : n)
Goal: Matrix.vecMulVec w v i j = w i * v j
-- Matrix.mulVec.addMonoidHomLeft_apply
@[simps]
def mulVec.addMonoidHomLeft [Fintype n] (v : n → α) : Matrix m n α →+ m → α 
Arguments: {m : Type u_2} {n : Type u_3} {α : Type v} [NonUnitalNonAssocSemiring α] [Fintype n] (v : n → α) (M : Matrix m n α)
Goal: ∀ (a : m), (Matrix.mulVec.addMonoidHomLeft v) M a = (M *ᵥ v) a
-- Matrix.mul_apply_eq_vecMul
theorem mul_apply_eq_vecMul [Fintype n] (A : Matrix m n α) (B : Matrix n o α) (i : m) :
    (A * B) i = A i ᵥ* B 
Arguments: {m : Type u_2} {n : Type u_3} {o : Type u_4} {α : Type v} [NonUnitalNonAssocSemiring α] [Fintype n] (A : Matrix m n α) (B : Matrix n o α) (i : m)
Goal: (A * B) i = A i ᵥ* B
-- Matrix.mulVec_diagonal
theorem mulVec_diagonal [Fintype m] [DecidableEq m] (v w : m → α) (x : m) :
    (diagonal v *ᵥ w) x = v x * w x 
Arguments: {m : Type u_2} {α : Type v} [NonUnitalNonAssocSemiring α] [Fintype m] [DecidableEq m] (v w : m → α) (x : m)
Goal: (Matrix.diagonal v *ᵥ w) x = v x * w x
-- Matrix.vecMul_diagonal
theorem vecMul_diagonal [Fintype m] [DecidableEq m] (v w : m → α) (x : m) :
    (v ᵥ* diagonal w) x = v x * w x 
Arguments: {m : Type u_2} {α : Type v} [NonUnitalNonAssocSemiring α] [Fintype m] [DecidableEq m] (v w : m → α) (x : m)
Goal: (v ᵥ* Matrix.diagonal w) x = v x * w x
-- Matrix.dotProduct_mulVec
theorem dotProduct_mulVec [Fintype n] [Fintype m] [NonUnitalSemiring R] (v : m → R)
    (A : Matrix m n R) (w : n → R) : v ⬝ᵥ A *ᵥ w = v ᵥ* A ⬝ᵥ w 
Arguments: {m : Type u_2} {n : Type u_3} {R : Type u_7} [Fintype n] [Fintype m] [NonUnitalSemiring R] (v : m → R) (A : Matrix m n R) (w : n → R)
Goal: v ⬝ᵥ A *ᵥ w = v ᵥ* A ⬝ᵥ w
-- Matrix.mulVec_zero
@[simp]
theorem mulVec_zero [Fintype n] (A : Matrix m n α) : A *ᵥ 0 = 0 
Arguments: {m : Type u_2} {n : Type u_3} {α : Type v} [NonUnitalNonAssocSemiring α] [Fintype n] (A : Matrix m n α)
Goal: A *ᵥ 0 = 0
-- Matrix.zero_vecMul
@[simp]
theorem zero_vecMul [Fintype m] (A : Matrix m n α) : 0 ᵥ* A = 0 
Arguments: {m : Type u_2} {n : Type u_3} {α : Type v} [NonUnitalNonAssocSemiring α] [Fintype m] (A : Matrix m n α)
Goal: 0 ᵥ* A = 0
-- Matrix.zero_mulVec
@[simp]
theorem zero_mulVec [Fintype n] (v : n → α) : (0 : Matrix m n α) *ᵥ v = 0 
Arguments: {m : Type u_2} {n : Type u_3} {α : Type v} [NonUnitalNonAssocSemiring α] [Fintype n] (v : n → α)
Goal: 0 *ᵥ v = 0
-- Matrix.vecMul_zero
@[simp]
theorem vecMul_zero [Fintype m] (v : m → α) : v ᵥ* (0 : Matrix m n α) = 0 
Arguments: {m : Type u_2} {n : Type u_3} {α : Type v} [NonUnitalNonAssocSemiring α] [Fintype m] (v : m → α)
Goal: v ᵥ* 0 = 0
-- Matrix.smul_mulVec_assoc
theorem smul_mulVec_assoc [Fintype n] [Monoid R] [DistribMulAction R α] [IsScalarTower R α α]
    (a : R) (A : Matrix m n α) (b : n → α) : (a • A) *ᵥ b = a • A *ᵥ b 
Arguments: {m : Type u_2} {n : Type u_3} {R : Type u_7} {α : Type v} [NonUnitalNonAssocSemiring α] [Fintype n] [Monoid R] [DistribMulAction R α] [IsScalarTower R α α] (a : R) (A : Matrix m n α) (b : n → α)
Goal: (a • A) *ᵥ b = a • A *ᵥ b
-- Matrix.mulVec_add
theorem mulVec_add [Fintype n] (A : Matrix m n α) (x y : n → α) :
    A *ᵥ (x + y) = A *ᵥ x + A *ᵥ y 
Arguments: {m : Type u_2} {n : Type u_3} {α : Type v} [NonUnitalNonAssocSemiring α] [Fintype n] (A : Matrix m n α) (x y : n → α)
Goal: A *ᵥ (x + y) = A *ᵥ x + A *ᵥ y
-- Matrix.add_mulVec
theorem add_mulVec [Fintype n] (A B : Matrix m n α) (x : n → α) :
    (A + B) *ᵥ x = A *ᵥ x + B *ᵥ x 
Arguments: {m : Type u_2} {n : Type u_3} {α : Type v} [NonUnitalNonAssocSemiring α] [Fintype n] (A B : Matrix m n α) (x : n → α)
Goal: (A + B) *ᵥ x = A *ᵥ x + B *ᵥ x
-- Matrix.vecMul_add
theorem vecMul_add [Fintype m] (A B : Matrix m n α) (x : m → α) :
    x ᵥ* (A + B) = x ᵥ* A + x ᵥ* B 
Arguments: {m : Type u_2} {n : Type u_3} {α : Type v} [NonUnitalNonAssocSemiring α] [Fintype m] (A B : Matrix m n α) (x : m → α)
Goal: x ᵥ* (A + B) = x ᵥ* A + x ᵥ* B
-- Matrix.add_vecMul
theorem add_vecMul [Fintype m] (A : Matrix m n α) (x y : m → α) :
    (x + y) ᵥ* A = x ᵥ* A + y ᵥ* A 
Arguments: {m : Type u_2} {n : Type u_3} {α : Type v} [NonUnitalNonAssocSemiring α] [Fintype m] (A : Matrix m n α) (x y : m → α)
Goal: (x + y) ᵥ* A = x ᵥ* A + y ᵥ* A
-- Matrix.vecMul_smul
theorem vecMul_smul [Fintype n] [Monoid R] [NonUnitalNonAssocSemiring S] [DistribMulAction R S]
    [IsScalarTower R S S] (M : Matrix n m S) (b : R) (v : n → S) :
    (b • v) ᵥ* M = b • v ᵥ* M 
Arguments: {m : Type u_2} {n : Type u_3} {R : Type u_7} {S : Type u_8} [Fintype n] [Monoid R] [NonUnitalNonAssocSemiring S] [DistribMulAction R S] [IsScalarTower R S S] (M : Matrix n m S) (b : R) (v : n → S)
Goal: (b • v) ᵥ* M = b • v ᵥ* M
-- Matrix.mulVec_smul
theorem mulVec_smul [Fintype n] [Monoid R] [NonUnitalNonAssocSemiring S] [DistribMulAction R S]
    [SMulCommClass R S S] (M : Matrix m n S) (b : R) (v : n → S) :
    M *ᵥ (b • v) = b • M *ᵥ v 
Arguments: {m : Type u_2} {n : Type u_3} {R : Type u_7} {S : Type u_8} [Fintype n] [Monoid R] [NonUnitalNonAssocSemiring S] [DistribMulAction R S] [SMulCommClass R S S] (M : Matrix m n S) (b : R) (v : n → S)
Goal: M *ᵥ b • v = b • M *ᵥ v
-- Matrix.mulVec_single
@[simp]
theorem mulVec_single [Fintype n] [DecidableEq n] [NonUnitalNonAssocSemiring R] (M : Matrix m n R)
    (j : n) (x : R) : M *ᵥ Pi.single j x = fun i => M i j * x 
Arguments: {m : Type u_2} {n : Type u_3} {R : Type u_7} [Fintype n] [DecidableEq n] [NonUnitalNonAssocSemiring R] (M : Matrix m n R) (j : n) (x : R)
Goal: M *ᵥ Pi.single j x = fun i => M i j * x
-- Matrix.single_vecMul
@[simp]
theorem single_vecMul [Fintype m] [DecidableEq m] [NonUnitalNonAssocSemiring R] (M : Matrix m n R)
    (i : m) (x : R) : Pi.single i x ᵥ* M = fun j => x * M i j 
Arguments: {m : Type u_2} {n : Type u_3} {R : Type u_7} [Fintype m] [DecidableEq m] [NonUnitalNonAssocSemiring R] (M : Matrix m n R) (i : m) (x : R)
Goal: Pi.single i x ᵥ* M = fun j => x * M i j
-- Matrix.diagonal_mulVec_single
theorem diagonal_mulVec_single [Fintype n] [DecidableEq n] [NonUnitalNonAssocSemiring R] (v : n → R)
    (j : n) (x : R) : diagonal v *ᵥ Pi.single j x = Pi.single j (v j * x) 
Arguments: {n : Type u_3} {R : Type u_7} [Fintype n] [DecidableEq n] [NonUnitalNonAssocSemiring R] (v : n → R) (j : n) (x : R)
Goal: Matrix.diagonal v *ᵥ Pi.single j x = Pi.single j (v j * x)
-- Matrix.single_vecMul_diagonal
theorem single_vecMul_diagonal [Fintype n] [DecidableEq n] [NonUnitalNonAssocSemiring R] (v : n → R)
    (j : n) (x : R) : (Pi.single j x) ᵥ* (diagonal v) = Pi.single j (x * v j) 
Arguments: {n : Type u_3} {R : Type u_7} [Fintype n] [DecidableEq n] [NonUnitalNonAssocSemiring R] (v : n → R) (j : n) (x : R)
Goal: Pi.single j x ᵥ* Matrix.diagonal v = Pi.single j (x * v j)
-- Matrix.vecMul_vecMul
@[simp]
theorem vecMul_vecMul [Fintype n] [Fintype m] (v : m → α) (M : Matrix m n α) (N : Matrix n o α) :
    v ᵥ* M ᵥ* N = v ᵥ* (M * N) 
Arguments: {m : Type u_2} {n : Type u_3} {o : Type u_4} {α : Type v} [NonUnitalSemiring α] [Fintype n] [Fintype m] (v : m → α) (M : Matrix m n α) (N : Matrix n o α)
Goal: v ᵥ* M ᵥ* N = v ᵥ* (M * N)
-- Matrix.mulVec_mulVec
@[simp]
theorem mulVec_mulVec [Fintype n] [Fintype o] (v : o → α) (M : Matrix m n α) (N : Matrix n o α) :
    M *ᵥ N *ᵥ v = (M * N) *ᵥ v 
Arguments: {m : Type u_2} {n : Type u_3} {o : Type u_4} {α : Type v} [NonUnitalSemiring α] [Fintype n] [Fintype o] (v : o → α) (M : Matrix m n α) (N : Matrix n o α)
Goal: M *ᵥ N *ᵥ v = (M * N) *ᵥ v
-- Matrix.star_mulVec
theorem star_mulVec [Fintype n] [StarRing α] (M : Matrix m n α) (v : n → α) :
    star (M *ᵥ v) = star v ᵥ* Mᴴ 
Arguments: {m : Type u_2} {n : Type u_3} {α : Type v} [NonUnitalSemiring α] [Fintype n] [StarRing α] (M : Matrix m n α) (v : n → α)
Goal: star (M *ᵥ v) = star v ᵥ* Mᴴ
-- Matrix.star_vecMul
theorem star_vecMul [Fintype m] [StarRing α] (M : Matrix m n α) (v : m → α) :
    star (v ᵥ* M) = Mᴴ *ᵥ star v 
Arguments: {m : Type u_2} {n : Type u_3} {α : Type v} [NonUnitalSemiring α] [Fintype m] [StarRing α] (M : Matrix m n α) (v : m → α)
Goal: star (v ᵥ* M) = Mᴴ *ᵥ star v
-- Matrix.mulVec_conjTranspose
theorem mulVec_conjTranspose [Fintype m] [StarRing α] (A : Matrix m n α) (x : m → α) :
    Aᴴ *ᵥ x = star (star x ᵥ* A) 
Arguments: {m : Type u_2} {n : Type u_3} {α : Type v} [NonUnitalSemiring α] [Fintype m] [StarRing α] (A : Matrix m n α) (x : m → α)
Goal: Aᴴ *ᵥ x = star (star x ᵥ* A)
-- Matrix.vecMul_conjTranspose
theorem vecMul_conjTranspose [Fintype n] [StarRing α] (A : Matrix m n α) (x : n → α) :
    x ᵥ* Aᴴ = star (A *ᵥ star x) 
Arguments: {m : Type u_2} {n : Type u_3} {α : Type v} [NonUnitalSemiring α] [Fintype n] [StarRing α] (A : Matrix m n α) (x : n → α)
Goal: x ᵥ* Aᴴ = star (A *ᵥ star x)
-- Matrix.mul_mul_apply
theorem mul_mul_apply [Fintype n] (A B C : Matrix n n α) (i j : n) :
    (A * B * C) i j = A i ⬝ᵥ B *ᵥ (Cᵀ j) 
Arguments: {n : Type u_3} {α : Type v} [NonUnitalSemiring α] [Fintype n] (A B C : Matrix n n α) (i j : n)
Goal: (A * B * C) i j = A i ⬝ᵥ B *ᵥ Cᵀ j
-- Matrix.mulVec_one
theorem mulVec_one [Fintype n] (A : Matrix m n α) : A *ᵥ 1 = fun i => ∑ j, A i j 
Arguments: {m : Type u_2} {n : Type u_3} {α : Type v} [NonAssocSemiring α] [Fintype n] (A : Matrix m n α)
Goal: A *ᵥ 1 = fun i => ∑ j : n, A i j
-- Matrix.vec_one_mul
theorem vec_one_mul [Fintype m] (A : Matrix m n α) : 1 ᵥ* A = fun j => ∑ i, A i j 
Arguments: {m : Type u_2} {n : Type u_3} {α : Type v} [NonAssocSemiring α] [Fintype m] (A : Matrix m n α)
Goal: 1 ᵥ* A = fun j => ∑ i : m, A i j
-- Matrix.one_mulVec
@[simp]
theorem one_mulVec (v : m → α) : 1 *ᵥ v = v 
Arguments: {m : Type u_2} {α : Type v} [NonAssocSemiring α] [Fintype m] [DecidableEq m] (v : m → α)
Goal: 1 *ᵥ v = v
-- Matrix.vecMul_one
@[simp]
theorem vecMul_one (v : m → α) : v ᵥ* 1 = v 
Arguments: {m : Type u_2} {α : Type v} [NonAssocSemiring α] [Fintype m] [DecidableEq m] (v : m → α)
Goal: v ᵥ* 1 = v
-- Matrix.diagonal_const_mulVec
@[simp]
theorem diagonal_const_mulVec (x : α) (v : m → α) :
    (diagonal fun _ => x) *ᵥ v = x • v 
Arguments: {m : Type u_2} {α : Type v} [NonAssocSemiring α] [Fintype m] [DecidableEq m] (x : α) (v : m → α)
Goal: (Matrix.diagonal fun x_1 => x) *ᵥ v = x • v
-- Matrix.vecMul_diagonal_const
@[simp]
theorem vecMul_diagonal_const (x : α) (v : m → α) :
    v ᵥ* (diagonal fun _ => x) = MulOpposite.op x • v 
Arguments: {m : Type u_2} {α : Type v} [NonAssocSemiring α] [Fintype m] [DecidableEq m] (x : α) (v : m → α)
Goal: (v ᵥ* Matrix.diagonal fun x_1 => x) = MulOpposite.op x • v
-- Matrix.natCast_mulVec
@[simp]
theorem natCast_mulVec (x : ℕ) (v : m → α) : x *ᵥ v = (x : α) • v 
Arguments: {m : Type u_2} {α : Type v} [NonAssocSemiring α] [Fintype m] [DecidableEq m] (x : ℕ) (v : m → α)
Goal: ↑x *ᵥ v = ↑x • v
-- Matrix.vecMul_natCast
@[simp]
theorem vecMul_natCast (x : ℕ) (v : m → α) : v ᵥ* x = MulOpposite.op (x : α) • v 
Arguments: {m : Type u_2} {α : Type v} [NonAssocSemiring α] [Fintype m] [DecidableEq m] (x : ℕ) (v : m → α)
Goal: v ᵥ* ↑x = MulOpposite.op ↑x • v
-- Matrix.ofNat_mulVec
@[simp]
theorem ofNat_mulVec (x : ℕ) [x.AtLeastTwo] (v : m → α) :
    OfNat.ofNat (no_index x) *ᵥ v = (OfNat.ofNat x : α) • v 
Arguments: {m : Type u_2} {α : Type v} [NonAssocSemiring α] [Fintype m] [DecidableEq m] (x : ℕ) [x.AtLeastTwo] (v : m → α)
Goal: OfNat.ofNat x *ᵥ v = OfNat.ofNat x • v
-- Matrix.vecMul_ofNat
@[simp]
theorem vecMul_ofNat (x : ℕ) [x.AtLeastTwo] (v : m → α) :
    v ᵥ* OfNat.ofNat (no_index x) = MulOpposite.op (OfNat.ofNat x : α) • v 
Arguments: {m : Type u_2} {α : Type v} [NonAssocSemiring α] [Fintype m] [DecidableEq m] (x : ℕ) [x.AtLeastTwo] (v : m → α)
Goal: v ᵥ* OfNat.ofNat x = MulOpposite.op (OfNat.ofNat x) • v
-- Matrix.neg_vecMul
theorem neg_vecMul [Fintype m] (v : m → α) (A : Matrix m n α) : (-v) ᵥ* A = - (v ᵥ* A) 
Arguments: {m : Type u_2} {n : Type u_3} {α : Type v} [NonUnitalNonAssocRing α] [Fintype m] (v : m → α) (A : Matrix m n α)
Goal: -v ᵥ* A = -(v ᵥ* A)
-- Matrix.vecMul_neg
theorem vecMul_neg [Fintype m] (v : m → α) (A : Matrix m n α) : v ᵥ* (-A) = - (v ᵥ* A) 
Arguments: {m : Type u_2} {n : Type u_3} {α : Type v} [NonUnitalNonAssocRing α] [Fintype m] (v : m → α) (A : Matrix m n α)
Goal: v ᵥ* -A = -(v ᵥ* A)
-- Matrix.neg_vecMul_neg
lemma neg_vecMul_neg [Fintype m] (v : m → α) (A : Matrix m n α) : (-v) ᵥ* (-A) = v ᵥ* A 
Arguments: {m : Type u_2} {n : Type u_3} {α : Type v} [NonUnitalNonAssocRing α] [Fintype m] (v : m → α) (A : Matrix m n α)
Goal: -v ᵥ* -A = v ᵥ* A
-- Matrix.neg_mulVec
theorem neg_mulVec [Fintype n] (v : n → α) (A : Matrix m n α) : (-A) *ᵥ v = - (A *ᵥ v) 
Arguments: {m : Type u_2} {n : Type u_3} {α : Type v} [NonUnitalNonAssocRing α] [Fintype n] (v : n → α) (A : Matrix m n α)
Goal: -A *ᵥ v = -(A *ᵥ v)
-- Matrix.mulVec_neg
theorem mulVec_neg [Fintype n] (v : n → α) (A : Matrix m n α) : A *ᵥ (-v) = - (A *ᵥ v) 
Arguments: {m : Type u_2} {n : Type u_3} {α : Type v} [NonUnitalNonAssocRing α] [Fintype n] (v : n → α) (A : Matrix m n α)
Goal: A *ᵥ -v = -(A *ᵥ v)
-- Matrix.neg_mulVec_neg
lemma neg_mulVec_neg [Fintype n] (v : n → α) (A : Matrix m n α) : (-A) *ᵥ (-v) = A *ᵥ v 
Arguments: {m : Type u_2} {n : Type u_3} {α : Type v} [NonUnitalNonAssocRing α] [Fintype n] (v : n → α) (A : Matrix m n α)
Goal: -A *ᵥ -v = A *ᵥ v
-- Matrix.mulVec_sub
theorem mulVec_sub [Fintype n] (A : Matrix m n α) (x y : n → α) :
    A *ᵥ (x - y) = A *ᵥ x - A *ᵥ y 
Arguments: {m : Type u_2} {n : Type u_3} {α : Type v} [NonUnitalNonAssocRing α] [Fintype n] (A : Matrix m n α) (x y : n → α)
Goal: A *ᵥ (x - y) = A *ᵥ x - A *ᵥ y
-- Matrix.sub_mulVec
theorem sub_mulVec [Fintype n] (A B : Matrix m n α) (x : n → α) :
    (A - B) *ᵥ x = A *ᵥ x - B *ᵥ x 
Arguments: {m : Type u_2} {n : Type u_3} {α : Type v} [NonUnitalNonAssocRing α] [Fintype n] (A B : Matrix m n α) (x : n → α)
Goal: (A - B) *ᵥ x = A *ᵥ x - B *ᵥ x
-- Matrix.vecMul_sub
theorem vecMul_sub [Fintype m] (A B : Matrix m n α) (x : m → α) :
    x ᵥ* (A - B) = x ᵥ* A - x ᵥ* B 
Arguments: {m : Type u_2} {n : Type u_3} {α : Type v} [NonUnitalNonAssocRing α] [Fintype m] (A B : Matrix m n α) (x : m → α)
Goal: x ᵥ* (A - B) = x ᵥ* A - x ᵥ* B
-- Matrix.sub_vecMul
theorem sub_vecMul [Fintype m] (A : Matrix m n α) (x y : m → α) :
    (x - y) ᵥ* A = x ᵥ* A - y ᵥ* A 
Arguments: {m : Type u_2} {n : Type u_3} {α : Type v} [NonUnitalNonAssocRing α] [Fintype m] (A : Matrix m n α) (x y : m → α)
Goal: (x - y) ᵥ* A = x ᵥ* A - y ᵥ* A
-- Matrix.mulVec_transpose
theorem mulVec_transpose [Fintype m] (A : Matrix m n α) (x : m → α) : Aᵀ *ᵥ x = x ᵥ* A 
Arguments: {m : Type u_2} {n : Type u_3} {α : Type v} [NonUnitalCommSemiring α] [Fintype m] (A : Matrix m n α) (x : m → α)
Goal: Aᵀ *ᵥ x = x ᵥ* A
-- Matrix.vecMul_transpose
theorem vecMul_transpose [Fintype n] (A : Matrix m n α) (x : n → α) : x ᵥ* Aᵀ = A *ᵥ x 
Arguments: {m : Type u_2} {n : Type u_3} {α : Type v} [NonUnitalCommSemiring α] [Fintype n] (A : Matrix m n α) (x : n → α)
Goal: x ᵥ* Aᵀ = A *ᵥ x
-- Matrix.mulVec_vecMul
theorem mulVec_vecMul [Fintype n] [Fintype o] (A : Matrix m n α) (B : Matrix o n α) (x : o → α) :
    A *ᵥ (x ᵥ* B) = (A * Bᵀ) *ᵥ x 
Arguments: {m : Type u_2} {n : Type u_3} {o : Type u_4} {α : Type v} [NonUnitalCommSemiring α] [Fintype n] [Fintype o] (A : Matrix m n α) (B : Matrix o n α) (x : o → α)
Goal: A *ᵥ x ᵥ* B = (A * Bᵀ) *ᵥ x
-- Matrix.vecMul_mulVec
theorem vecMul_mulVec [Fintype m] [Fintype n] (A : Matrix m n α) (B : Matrix m o α) (x : n → α) :
    (A *ᵥ x) ᵥ* B = x ᵥ* (Aᵀ * B) 
Arguments: {m : Type u_2} {n : Type u_3} {o : Type u_4} {α : Type v} [NonUnitalCommSemiring α] [Fintype m] [Fintype n] (A : Matrix m n α) (B : Matrix m o α) (x : n → α)
Goal: (A *ᵥ x) ᵥ* B = x ᵥ* (Aᵀ * B)
-- Matrix.mulVec_smul_assoc
theorem mulVec_smul_assoc [Fintype n] (A : Matrix m n α) (b : n → α) (a : α) :
    A *ᵥ (a • b) = a • A *ᵥ b 
Arguments: {m : Type u_2} {n : Type u_3} {α : Type v} [CommSemiring α] [Fintype n] (A : Matrix m n α) (b : n → α) (a : α)
Goal: A *ᵥ a • b = a • A *ᵥ b
-- Matrix.intCast_mulVec
@[simp]
theorem intCast_mulVec (x : ℤ) (v : m → α) : x *ᵥ v = (x : α) • v 
Arguments: {m : Type u_2} {α : Type v} [NonAssocRing α] [Fintype m] [DecidableEq m] (x : ℤ) (v : m → α)
Goal: ↑x *ᵥ v = ↑x • v
-- Matrix.vecMul_intCast
@[simp]
theorem vecMul_intCast (x : ℤ) (v : m → α) : v ᵥ* x = MulOpposite.op (x : α) • v 
Arguments: {m : Type u_2} {α : Type v} [NonAssocRing α] [Fintype m] [DecidableEq m] (x : ℤ) (v : m → α)
Goal: v ᵥ* ↑x = MulOpposite.op ↑x • v
-- Matrix.transpose_transpose
@[simp]
theorem transpose_transpose (M : Matrix m n α) : Mᵀᵀ = M 
Arguments: {m : Type u_2} {n : Type u_3} {α : Type v} (M : Matrix m n α)
Goal: Mᵀᵀ = M
-- Matrix.transpose_injective
theorem transpose_injective : Function.Injective (transpose : Matrix m n α → Matrix n m α) 
Arguments: {m : Type u_2} {n : Type u_3} {α : Type v}
Goal: Function.Injective Matrix.transpose
-- Matrix.transpose_inj
@[simp] theorem transpose_inj {A B : Matrix m n α} : Aᵀ = Bᵀ ↔ A = B 
Arguments: {m : Type u_2} {n : Type u_3} {α : Type v} {A B : Matrix m n α}
Goal: Aᵀ = Bᵀ ↔ A = B
-- Matrix.transpose_eq_diagonal
@[simp]
theorem transpose_eq_diagonal [DecidableEq n] [Zero α] {M : Matrix n n α} {v : n → α} :
    Mᵀ = diagonal v ↔ M = diagonal v 
Arguments: {n : Type u_3} {α : Type v} [DecidableEq n] [Zero α] {M : Matrix n n α} {v : n → α}
Goal: Mᵀ = Matrix.diagonal v ↔ M = Matrix.diagonal v
-- Matrix.transpose_zero
@[simp]
theorem transpose_zero [Zero α] : (0 : Matrix m n α)ᵀ = 0 
Arguments: {m : Type u_2} {n : Type u_3} {α : Type v} [Zero α]
Goal: 0ᵀ = 0
-- Matrix.transpose_eq_zero
@[simp]
theorem transpose_eq_zero [Zero α] {M : Matrix m n α} : Mᵀ = 0 ↔ M = 0 
Arguments: {m : Type u_2} {n : Type u_3} {α : Type v} [Zero α] {M : Matrix m n α}
Goal: Mᵀ = 0 ↔ M = 0
-- Matrix.transpose_one
@[simp]
theorem transpose_one [DecidableEq n] [Zero α] [One α] : (1 : Matrix n n α)ᵀ = 1 
Arguments: {n : Type u_3} {α : Type v} [DecidableEq n] [Zero α] [One α]
Goal: 1ᵀ = 1
-- Matrix.transpose_eq_one
@[simp]
theorem transpose_eq_one [DecidableEq n] [Zero α] [One α] {M : Matrix n n α} : Mᵀ = 1 ↔ M = 1 
Arguments: {n : Type u_3} {α : Type v} [DecidableEq n] [Zero α] [One α] {M : Matrix n n α}
Goal: Mᵀ = 1 ↔ M = 1
-- Matrix.transpose_natCast
@[simp]
theorem transpose_natCast [DecidableEq n] [AddMonoidWithOne α] (d : ℕ) :
    (d : Matrix n n α)ᵀ = d 
Arguments: {n : Type u_3} {α : Type v} [DecidableEq n] [AddMonoidWithOne α] (d : ℕ)
Goal: (↑d)ᵀ = ↑d
-- Matrix.transpose_eq_natCast
@[simp]
theorem transpose_eq_natCast [DecidableEq n] [AddMonoidWithOne α] {M : Matrix n n α} {d : ℕ} :
    Mᵀ = d ↔ M = d 
Arguments: {n : Type u_3} {α : Type v} [DecidableEq n] [AddMonoidWithOne α] {M : Matrix n n α} {d : ℕ}
Goal: Mᵀ = ↑d ↔ M = ↑d
-- Matrix.transpose_ofNat
@[simp]
theorem transpose_ofNat [DecidableEq n] [AddMonoidWithOne α] (d : ℕ) [d.AtLeastTwo] :
    (no_index (OfNat.ofNat d) : Matrix n n α)ᵀ = OfNat.ofNat d 
Arguments: {n : Type u_3} {α : Type v} [DecidableEq n] [AddMonoidWithOne α] (d : ℕ) [d.AtLeastTwo]
Goal: (OfNat.ofNat d)ᵀ = OfNat.ofNat d
-- Matrix.transpose_eq_ofNat
@[simp]
theorem transpose_eq_ofNat [DecidableEq n] [AddMonoidWithOne α]
    {M : Matrix n n α} {d : ℕ} [d.AtLeastTwo] :
    Mᵀ = no_index (OfNat.ofNat d) ↔ M = OfNat.ofNat d 
Arguments: {n : Type u_3} {α : Type v} [DecidableEq n] [AddMonoidWithOne α] {M : Matrix n n α} {d : ℕ} [d.AtLeastTwo]
Goal: Mᵀ = OfNat.ofNat d ↔ M = OfNat.ofNat d
-- Matrix.transpose_intCast
@[simp]
theorem transpose_intCast [DecidableEq n] [AddGroupWithOne α] (d : ℤ) :
    (d : Matrix n n α)ᵀ = d 
Arguments: {n : Type u_3} {α : Type v} [DecidableEq n] [AddGroupWithOne α] (d : ℤ)
Goal: (↑d)ᵀ = ↑d
-- Matrix.transpose_eq_intCast
@[simp]
theorem transpose_eq_intCast [DecidableEq n] [AddGroupWithOne α]
    {M : Matrix n n α} {d : ℤ} :
    Mᵀ = d ↔ M = d 
Arguments: {n : Type u_3} {α : Type v} [DecidableEq n] [AddGroupWithOne α] {M : Matrix n n α} {d : ℤ}
Goal: Mᵀ = ↑d ↔ M = ↑d
-- Matrix.transpose_add
@[simp]
theorem transpose_add [Add α] (M : Matrix m n α) (N : Matrix m n α) : (M + N)ᵀ = Mᵀ + Nᵀ 
Arguments: {m : Type u_2} {n : Type u_3} {α : Type v} [Add α] (M N : Matrix m n α)
Goal: (M + N)ᵀ = Mᵀ + Nᵀ
-- Matrix.transpose_sub
@[simp]
theorem transpose_sub [Sub α] (M : Matrix m n α) (N : Matrix m n α) : (M - N)ᵀ = Mᵀ - Nᵀ 
Arguments: {m : Type u_2} {n : Type u_3} {α : Type v} [Sub α] (M N : Matrix m n α)
Goal: (M - N)ᵀ = Mᵀ - Nᵀ
-- Matrix.transpose_mul
@[simp]
theorem transpose_mul [AddCommMonoid α] [CommSemigroup α] [Fintype n] (M : Matrix m n α)
    (N : Matrix n l α) : (M * N)ᵀ = Nᵀ * Mᵀ 
Arguments: {l : Type u_1} {m : Type u_2} {n : Type u_3} {α : Type v} [AddCommMonoid α] [CommSemigroup α] [Fintype n] (M : Matrix m n α) (N : Matrix n l α)
Goal: (M * N)ᵀ = Nᵀ * Mᵀ
-- Matrix.transpose_smul
@[simp]
theorem transpose_smul {R : Type*} [SMul R α] (c : R) (M : Matrix m n α) : (c • M)ᵀ = c • Mᵀ 
Arguments: {m : Type u_2} {n : Type u_3} {α : Type v} {R : Type u_10} [SMul R α] (c : R) (M : Matrix m n α)
Goal: (c • M)ᵀ = c • Mᵀ
-- Matrix.transpose_neg
@[simp]
theorem transpose_neg [Neg α] (M : Matrix m n α) : (-M)ᵀ = -Mᵀ 
Arguments: {m : Type u_2} {n : Type u_3} {α : Type v} [Neg α] (M : Matrix m n α)
Goal: (-M)ᵀ = -Mᵀ
-- Matrix.transpose_map
theorem transpose_map {f : α → β} {M : Matrix m n α} : Mᵀ.map f = (M.map f)ᵀ 
Arguments: {m : Type u_2} {n : Type u_3} {α : Type v} {β : Type w} {f : α → β} {M : Matrix m n α}
Goal: Mᵀ.map f = (M.map f)ᵀ
-- Matrix.transposeAddEquiv_apply
@[simps apply]
def transposeAddEquiv [Add α] : Matrix m n α ≃+ Matrix n m α 
Arguments: (m : Type u_2) (n : Type u_3) (α : Type v) [Add α] (M : Matrix m n α)
Goal: (Matrix.transposeAddEquiv m n α) M = Mᵀ
-- Matrix.transposeAddEquiv_symm
@[simp]
theorem transposeAddEquiv_symm [Add α] : (transposeAddEquiv m n α).symm = transposeAddEquiv n m α 
Arguments: (m : Type u_2) (n : Type u_3) (α : Type v) [Add α]
Goal: (Matrix.transposeAddEquiv m n α).symm = Matrix.transposeAddEquiv n m α
-- Matrix.transpose_list_sum
theorem transpose_list_sum [AddMonoid α] (l : List (Matrix m n α)) :
    l.sumᵀ = (l.map transpose).sum 
Arguments: {m : Type u_2} {n : Type u_3} {α : Type v} [AddMonoid α] (l : List (Matrix m n α))
Goal: l.sumᵀ = (List.map Matrix.transpose l).sum
-- Matrix.transpose_multiset_sum
theorem transpose_multiset_sum [AddCommMonoid α] (s : Multiset (Matrix m n α)) :
    s.sumᵀ = (s.map transpose).sum 
Arguments: {m : Type u_2} {n : Type u_3} {α : Type v} [AddCommMonoid α] (s : Multiset (Matrix m n α))
Goal: s.sumᵀ = (Multiset.map Matrix.transpose s).sum
-- Matrix.transpose_sum
theorem transpose_sum [AddCommMonoid α] {ι : Type*} (s : Finset ι) (M : ι → Matrix m n α) :
    (∑ i ∈ s, M i)ᵀ = ∑ i ∈ s, (M i)ᵀ 
Arguments: {m : Type u_2} {n : Type u_3} {α : Type v} [AddCommMonoid α] {ι : Type u_10} (s : Finset ι) (M : ι → Matrix m n α)
Goal: (∑ i ∈ s, M i)ᵀ = ∑ i ∈ s, (M i)ᵀ
-- Matrix.transposeLinearEquiv_apply
@[simps apply]
def transposeLinearEquiv [Semiring R] [AddCommMonoid α] [Module R α] :
    Matrix m n α ≃ₗ[R] Matrix n m α 
Arguments: (m : Type u_2) (n : Type u_3) (R : Type u_7) (α : Type v) [Semiring R] [AddCommMonoid α] [Module R α]
Goal: ∀ (a : Matrix m n α), (Matrix.transposeLinearEquiv m n R α) a = (Matrix.transposeAddEquiv m n α).toFun a
-- Matrix.transposeLinearEquiv_symm
@[simp]
theorem transposeLinearEquiv_symm [Semiring R] [AddCommMonoid α] [Module R α] :
    (transposeLinearEquiv m n R α).symm = transposeLinearEquiv n m R α 
Arguments: (m : Type u_2) (n : Type u_3) (R : Type u_7) (α : Type v) [Semiring R] [AddCommMonoid α] [Module R α]
Goal: (Matrix.transposeLinearEquiv m n R α).symm = Matrix.transposeLinearEquiv n m R α
-- Matrix.transposeRingEquiv_symm_apply
@[simps]
def transposeRingEquiv [AddCommMonoid α] [CommSemigroup α] [Fintype m] :
    Matrix m m α ≃+* (Matrix m m α)ᵐᵒᵖ 
Arguments: (m : Type u_2) (α : Type v) [AddCommMonoid α] [CommSemigroup α] [Fintype m] (M : (Matrix m m α)ᵐᵒᵖ)
Goal: (Matrix.transposeRingEquiv m α).symm M = (MulOpposite.unop M)ᵀ
-- Matrix.transposeRingEquiv_apply
@[simps]
def transposeRingEquiv [AddCommMonoid α] [CommSemigroup α] [Fintype m] :
    Matrix m m α ≃+* (Matrix m m α)ᵐᵒᵖ 
Arguments: (m : Type u_2) (α : Type v) [AddCommMonoid α] [CommSemigroup α] [Fintype m] (M : Matrix m m α)
Goal: (Matrix.transposeRingEquiv m α) M = MulOpposite.op Mᵀ