ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
-- Matrix.map_sub
protected theorem map_sub [Sub α] [Sub β] (f : α → β) (hf : ∀ a₁ a₂, f (a₁ - a₂) = f a₁ - f a₂)
    (M N : Matrix m n α) : (M - N).map f = M.map f - N.map f 
Arguments: {m : Type u_2} {n : Type u_3} {α : Type v} {β : Type w} [Sub α] [Sub β] (f : α → β) (hf : ∀ (a₁ a₂ : α), f (a₁ - a₂) = f a₁ - f a₂) (M N : Matrix m n α)
Goal: (M - N).map f = M.map f - N.map f
-- Matrix.map_smul
theorem map_smul [SMul R α] [SMul R β] (f : α → β) (r : R) (hf : ∀ a, f (r • a) = r • f a)
    (M : Matrix m n α) : (r • M).map f = r • M.map f 
Arguments: {m : Type u_2} {n : Type u_3} {R : Type u_7} {α : Type v} {β : Type w} [SMul R α] [SMul R β] (f : α → β) (r : R) (hf : ∀ (a : α), f (r • a) = r • f a) (M : Matrix m n α)
Goal: (r • M).map f = r • M.map f
-- Matrix.map_smul'
theorem map_smul' [Mul α] [Mul β] (f : α → β) (r : α) (A : Matrix n n α)
    (hf : ∀ a₁ a₂, f (a₁ * a₂) = f a₁ * f a₂) : (r • A).map f = f r • A.map f 
Arguments: {n : Type u_3} {α : Type v} {β : Type w} [Mul α] [Mul β] (f : α → β) (r : α) (A : Matrix n n α) (hf : ∀ (a₁ a₂ : α), f (a₁ * a₂) = f a₁ * f a₂)
Goal: (r • A).map f = f r • A.map f
-- Matrix.map_op_smul'
theorem map_op_smul' [Mul α] [Mul β] (f : α → β) (r : α) (A : Matrix n n α)
    (hf : ∀ a₁ a₂, f (a₁ * a₂) = f a₁ * f a₂) :
    (MulOpposite.op r • A).map f = MulOpposite.op (f r) • A.map f 
Arguments: {n : Type u_3} {α : Type v} {β : Type w} [Mul α] [Mul β] (f : α → β) (r : α) (A : Matrix n n α) (hf : ∀ (a₁ a₂ : α), f (a₁ * a₂) = f a₁ * f a₂)
Goal: (MulOpposite.op r • A).map f = MulOpposite.op (f r) • A.map f
-- IsSMulRegular.matrix
theorem _root_.IsSMulRegular.matrix [SMul R S] {k : R} (hk : IsSMulRegular S k) :
    IsSMulRegular (Matrix m n S) k 
Arguments: {m : Type u_2} {n : Type u_3} {R : Type u_7} {S : Type u_8} [SMul R S] {k : R} (hk : IsSMulRegular S k)
Goal: IsSMulRegular (Matrix m n S) k
-- IsLeftRegular.matrix
theorem _root_.IsLeftRegular.matrix [Mul α] {k : α} (hk : IsLeftRegular k) :
    IsSMulRegular (Matrix m n α) k 
Arguments: {m : Type u_2} {n : Type u_3} {α : Type v} [Mul α] {k : α} (hk : IsLeftRegular k)
Goal: IsSMulRegular (Matrix m n α) k
-- Matrix.diagonal_apply
theorem diagonal_apply [Zero α] (d : n → α) (i j) : diagonal d i j = if i = j then d i else 0 
Arguments: {n : Type u_3} {α : Type v} [DecidableEq n] [Zero α] (d : n → α) (i j : n)
Goal: Matrix.diagonal d i j = if i = j then d i else 0
-- Matrix.diagonal_apply_eq
@[simp]
theorem diagonal_apply_eq [Zero α] (d : n → α) (i : n) : (diagonal d) i i = d i 
Arguments: {n : Type u_3} {α : Type v} [DecidableEq n] [Zero α] (d : n → α) (i : n)
Goal: Matrix.diagonal d i i = d i
-- Matrix.diagonal_apply_ne
@[simp]
theorem diagonal_apply_ne [Zero α] (d : n → α) {i j : n} (h : i ≠ j) : (diagonal d) i j = 0 
Arguments: {n : Type u_3} {α : Type v} [DecidableEq n] [Zero α] (d : n → α) {i j : n} (h : i ≠ j)
Goal: Matrix.diagonal d i j = 0
-- Matrix.diagonal_apply_ne'
theorem diagonal_apply_ne' [Zero α] (d : n → α) {i j : n} (h : j ≠ i) : (diagonal d) i j = 0 
Arguments: {n : Type u_3} {α : Type v} [DecidableEq n] [Zero α] (d : n → α) {i j : n} (h : j ≠ i)
Goal: Matrix.diagonal d i j = 0
-- Matrix.diagonal_eq_diagonal_iff
@[simp]
theorem diagonal_eq_diagonal_iff [Zero α] {d₁ d₂ : n → α} :
    diagonal d₁ = diagonal d₂ ↔ ∀ i, d₁ i = d₂ i 
Arguments: {n : Type u_3} {α : Type v} [DecidableEq n] [Zero α] {d₁ d₂ : n → α}
Goal: Matrix.diagonal d₁ = Matrix.diagonal d₂ ↔ ∀ (i : n), d₁ i = d₂ i
-- Matrix.diagonal_injective
theorem diagonal_injective [Zero α] : Function.Injective (diagonal : (n → α) → Matrix n n α) 
Arguments: {n : Type u_3} {α : Type v} [DecidableEq n] [Zero α]
Goal: Function.Injective Matrix.diagonal
-- Matrix.diagonal_zero
@[simp]
theorem diagonal_zero [Zero α] : (diagonal fun _ => 0 : Matrix n n α) = 0 
Arguments: {n : Type u_3} {α : Type v} [DecidableEq n] [Zero α]
Goal: (Matrix.diagonal fun x => 0) = 0
-- Matrix.diagonal_transpose
@[simp]
theorem diagonal_transpose [Zero α] (v : n → α) : (diagonal v)ᵀ = diagonal v 
Arguments: {n : Type u_3} {α : Type v} [DecidableEq n] [Zero α] (v : n → α)
Goal: (Matrix.diagonal v)ᵀ = Matrix.diagonal v
-- Matrix.diagonal_add
@[simp]
theorem diagonal_add [AddZeroClass α] (d₁ d₂ : n → α) :
    diagonal d₁ + diagonal d₂ = diagonal fun i => d₁ i + d₂ i 
Arguments: {n : Type u_3} {α : Type v} [DecidableEq n] [AddZeroClass α] (d₁ d₂ : n → α)
Goal: Matrix.diagonal d₁ + Matrix.diagonal d₂ = Matrix.diagonal fun i => d₁ i + d₂ i
-- Matrix.diagonal_smul
@[simp]
theorem diagonal_smul [Zero α] [SMulZeroClass R α] (r : R) (d : n → α) :
    diagonal (r • d) = r • diagonal d 
Arguments: {n : Type u_3} {R : Type u_7} {α : Type v} [DecidableEq n] [Zero α] [SMulZeroClass R α] (r : R) (d : n → α)
Goal: Matrix.diagonal (r • d) = r • Matrix.diagonal d
-- Matrix.diagonal_neg
@[simp]
theorem diagonal_neg [NegZeroClass α] (d : n → α) :
    -diagonal d = diagonal fun i => -d i 
Arguments: {n : Type u_3} {α : Type v} [DecidableEq n] [NegZeroClass α] (d : n → α)
Goal: -Matrix.diagonal d = Matrix.diagonal fun i => -d i
-- Matrix.diagonal_sub
@[simp]
theorem diagonal_sub [SubNegZeroMonoid α] (d₁ d₂ : n → α) :
    diagonal d₁ - diagonal d₂ = diagonal fun i => d₁ i - d₂ i 
Arguments: {n : Type u_3} {α : Type v} [DecidableEq n] [SubNegZeroMonoid α] (d₁ d₂ : n → α)
Goal: Matrix.diagonal d₁ - Matrix.diagonal d₂ = Matrix.diagonal fun i => d₁ i - d₂ i
-- Matrix.diagonal_natCast
@[norm_cast]
theorem diagonal_natCast [Zero α] [NatCast α] (m : ℕ) : diagonal (fun _ : n => (m : α)) = m 
Arguments: {n : Type u_3} {α : Type v} [DecidableEq n] [Zero α] [NatCast α] (m : ℕ)
Goal: (Matrix.diagonal fun x => ↑m) = ↑m
-- Matrix.diagonal_natCast'
@[norm_cast]
theorem diagonal_natCast' [Zero α] [NatCast α] (m : ℕ) : diagonal ((m : n → α)) = m 
Arguments: {n : Type u_3} {α : Type v} [DecidableEq n] [Zero α] [NatCast α] (m : ℕ)
Goal: Matrix.diagonal ↑m = ↑m
-- Matrix.diagonal_ofNat
theorem diagonal_ofNat [Zero α] [NatCast α] (m : ℕ) [m.AtLeastTwo] :
    diagonal (fun _ : n => no_index (OfNat.ofNat m : α)) = OfNat.ofNat m 
Arguments: {n : Type u_3} {α : Type v} [DecidableEq n] [Zero α] [NatCast α] (m : ℕ) [m.AtLeastTwo]
Goal: (Matrix.diagonal fun x => OfNat.ofNat m) = OfNat.ofNat m
-- Matrix.diagonal_ofNat'
theorem diagonal_ofNat' [Zero α] [NatCast α] (m : ℕ) [m.AtLeastTwo] :
    diagonal (no_index (OfNat.ofNat m : n → α)) = OfNat.ofNat m 
Arguments: {n : Type u_3} {α : Type v} [DecidableEq n] [Zero α] [NatCast α] (m : ℕ) [m.AtLeastTwo]
Goal: Matrix.diagonal (OfNat.ofNat m) = OfNat.ofNat m
-- Matrix.diagonal_intCast
@[norm_cast]
theorem diagonal_intCast [Zero α] [IntCast α] (m : ℤ) : diagonal (fun _ : n => (m : α)) = m 
Arguments: {n : Type u_3} {α : Type v} [DecidableEq n] [Zero α] [IntCast α] (m : ℤ)
Goal: (Matrix.diagonal fun x => ↑m) = ↑m
-- Matrix.diagonal_intCast'
@[norm_cast]
theorem diagonal_intCast' [Zero α] [IntCast α] (m : ℤ) : diagonal ((m : n → α)) = m 
Arguments: {n : Type u_3} {α : Type v} [DecidableEq n] [Zero α] [IntCast α] (m : ℤ)
Goal: Matrix.diagonal ↑m = ↑m
-- Matrix.diagonalAddMonoidHom_apply
@[simps]
def diagonalAddMonoidHom [AddZeroClass α] : (n → α) →+ Matrix n n α 
Arguments: (n : Type u_3) (α : Type v) [DecidableEq n] [AddZeroClass α] (d : n → α)
Goal: (Matrix.diagonalAddMonoidHom n α) d = Matrix.diagonal d
-- Matrix.diagonalLinearMap_apply
@[simps]
def diagonalLinearMap [Semiring R] [AddCommMonoid α] [Module R α] : (n → α) →ₗ[R] Matrix n n α 
Arguments: (n : Type u_3) (R : Type u_7) (α : Type v) [DecidableEq n] [Semiring R] [AddCommMonoid α] [Module R α]
Goal: ∀ (a : n → α), (Matrix.diagonalLinearMap n R α) a = (↑(Matrix.diagonalAddMonoidHom n α)).toFun a
-- Matrix.diagonal_map
@[simp]
theorem diagonal_map [Zero α] [Zero β] {f : α → β} (h : f 0 = 0) {d : n → α} :
    (diagonal d).map f = diagonal fun m => f (d m) 
Arguments: {n : Type u_3} {α : Type v} {β : Type w} [DecidableEq n] [Zero α] [Zero β] {f : α → β} (h : f 0 = 0) {d : n → α}
Goal: (Matrix.diagonal d).map f = Matrix.diagonal fun m => f (d m)
-- Matrix.map_natCast
protected theorem map_natCast [DecidableEq n] [AddMonoidWithOne α] [AddMonoidWithOne β]
    {f : α → β} (h : f 0 = 0) (d : ℕ) :
    (d : Matrix n n α).map f = diagonal (fun _ => f d) 
Arguments: {n : Type u_3} {α : Type v} {β : Type w} [DecidableEq n] [AddMonoidWithOne α] [AddMonoidWithOne β] {f : α → β} (h : f 0 = 0) (d : ℕ)
Goal: (↑d).map f = Matrix.diagonal fun x => f ↑d
-- Matrix.map_ofNat
protected theorem map_ofNat [AddMonoidWithOne α] [AddMonoidWithOne β]
    {f : α → β} (h : f 0 = 0) (d : ℕ) [d.AtLeastTwo] :
    (no_index (OfNat.ofNat d) : Matrix n n α).map f = diagonal (fun _ => f (OfNat.ofNat d)) 
Arguments: {n : Type u_3} {α : Type v} {β : Type w} [DecidableEq n] [AddMonoidWithOne α] [AddMonoidWithOne β] {f : α → β} (h : f 0 = 0) (d : ℕ) [d.AtLeastTwo]
Goal: (OfNat.ofNat d).map f = Matrix.diagonal fun x => f (OfNat.ofNat d)
-- Matrix.map_intCast
protected theorem map_intCast [DecidableEq n] [AddGroupWithOne α] [AddGroupWithOne β]
    {f : α → β} (h : f 0 = 0) (d : ℤ) :
    (d : Matrix n n α).map f = diagonal (fun _ => f d) 
Arguments: {n : Type u_3} {α : Type v} {β : Type w} [DecidableEq n] [AddGroupWithOne α] [AddGroupWithOne β] {f : α → β} (h : f 0 = 0) (d : ℤ)
Goal: (↑d).map f = Matrix.diagonal fun x => f ↑d
-- Matrix.diagonal_conjTranspose
@[simp]
theorem diagonal_conjTranspose [AddMonoid α] [StarAddMonoid α] (v : n → α) :
    (diagonal v)ᴴ = diagonal (star v) 
Arguments: {n : Type u_3} {α : Type v} [DecidableEq n] [AddMonoid α] [StarAddMonoid α] (v : n → α)
Goal: (Matrix.diagonal v)ᴴ = Matrix.diagonal (star v)
-- Matrix.diagonal_one
@[simp]
theorem diagonal_one : (diagonal fun _ => 1 : Matrix n n α) = 1 
Arguments: {n : Type u_3} {α : Type v} [DecidableEq n] [Zero α] [One α]
Goal: (Matrix.diagonal fun x => 1) = 1
-- Matrix.one_apply
theorem one_apply {i j} : (1 : Matrix n n α) i j = if i = j then 1 else 0 
Arguments: {n : Type u_3} {α : Type v} [DecidableEq n] [Zero α] [One α] {i j : n}
Goal: 1 i j = if i = j then 1 else 0
-- Matrix.one_apply_eq
@[simp]
theorem one_apply_eq (i) : (1 : Matrix n n α) i i = 1 
Arguments: {n : Type u_3} {α : Type v} [DecidableEq n] [Zero α] [One α] (i : n)
Goal: 1 i i = 1
-- Matrix.one_apply_ne
@[simp]
theorem one_apply_ne {i j} : i ≠ j → (1 : Matrix n n α) i j = 0 
Arguments: {n : Type u_3} {α : Type v} [DecidableEq n] [Zero α] [One α] {i j : n}
Goal: i ≠ j → 1 i j = 0
-- Matrix.one_apply_ne'
theorem one_apply_ne' {i j} : j ≠ i → (1 : Matrix n n α) i j = 0 
Arguments: {n : Type u_3} {α : Type v} [DecidableEq n] [Zero α] [One α] {i j : n}
Goal: j ≠ i → 1 i j = 0
-- Matrix.map_one
@[simp]
theorem map_one [Zero β] [One β] (f : α → β) (h₀ : f 0 = 0) (h₁ : f 1 = 1) :
    (1 : Matrix n n α).map f = (1 : Matrix n n β) 
Arguments: {n : Type u_3} {α : Type v} {β : Type w} [DecidableEq n] [Zero α] [One α] [Zero β] [One β] (f : α → β) (h₀ : f 0 = 0) (h₁ : f 1 = 1)
Goal: Matrix.map 1 f = 1
-- Matrix.one_eq_pi_single
theorem one_eq_pi_single {i j} : (1 : Matrix n n α) i j = Pi.single (f := fun _ => α) i 1 j 
Arguments: {n : Type u_3} {α : Type v} [DecidableEq n] [Zero α] [One α] {i j : n}
Goal: 1 i j = Pi.single i 1 j
-- Matrix.zero_le_one_elem
lemma zero_le_one_elem [Preorder α] [ZeroLEOneClass α] (i j : n) :
    0 ≤ (1 : Matrix n n α) i j 
Arguments: {n : Type u_3} {α : Type v} [DecidableEq n] [Zero α] [One α] [Preorder α] [ZeroLEOneClass α] (i j : n)
Goal: 0 ≤ 1 i j
-- Matrix.zero_le_one_row
lemma zero_le_one_row [Preorder α] [ZeroLEOneClass α] (i : n) :
    0 ≤ (1 : Matrix n n α) i 
Arguments: {n : Type u_3} {α : Type v} [DecidableEq n] [Zero α] [One α] [Preorder α] [ZeroLEOneClass α] (i : n)
Goal: 0 ≤ 1 i
-- Matrix.diag_apply
@[simp]
theorem diag_apply (A : Matrix n n α) (i) : diag A i = A i i 
Arguments: {n : Type u_3} {α : Type v} (A : Matrix n n α) (i : n)
Goal: A.diag i = A i i
-- Matrix.diag_diagonal
@[simp]
theorem diag_diagonal [DecidableEq n] [Zero α] (a : n → α) : diag (diagonal a) = a 
Arguments: {n : Type u_3} {α : Type v} [DecidableEq n] [Zero α] (a : n → α)
Goal: (Matrix.diagonal a).diag = a
-- Matrix.diag_transpose
@[simp]
theorem diag_transpose (A : Matrix n n α) : diag Aᵀ = diag A 
Arguments: {n : Type u_3} {α : Type v} (A : Matrix n n α)
Goal: Aᵀ.diag = A.diag
-- Matrix.diag_zero
@[simp]
theorem diag_zero [Zero α] : diag (0 : Matrix n n α) = 0 
Arguments: {n : Type u_3} {α : Type v} [Zero α]
Goal: Matrix.diag 0 = 0
-- Matrix.diag_add
@[simp]
theorem diag_add [Add α] (A B : Matrix n n α) : diag (A + B) = diag A + diag B 
Arguments: {n : Type u_3} {α : Type v} [Add α] (A B : Matrix n n α)
Goal: (A + B).diag = A.diag + B.diag
-- Matrix.diag_sub
@[simp]
theorem diag_sub [Sub α] (A B : Matrix n n α) : diag (A - B) = diag A - diag B 
Arguments: {n : Type u_3} {α : Type v} [Sub α] (A B : Matrix n n α)
Goal: (A - B).diag = A.diag - B.diag
-- Matrix.diag_neg
@[simp]
theorem diag_neg [Neg α] (A : Matrix n n α) : diag (-A) = -diag A 
Arguments: {n : Type u_3} {α : Type v} [Neg α] (A : Matrix n n α)
Goal: (-A).diag = -A.diag
-- Matrix.diag_smul
@[simp]
theorem diag_smul [SMul R α] (r : R) (A : Matrix n n α) : diag (r • A) = r • diag A 
Arguments: {n : Type u_3} {R : Type u_7} {α : Type v} [SMul R α] (r : R) (A : Matrix n n α)
Goal: (r • A).diag = r • A.diag
-- Matrix.diag_one
@[simp]
theorem diag_one [DecidableEq n] [Zero α] [One α] : diag (1 : Matrix n n α) = 1 
Arguments: {n : Type u_3} {α : Type v} [DecidableEq n] [Zero α] [One α]
Goal: Matrix.diag 1 = 1
-- Matrix.diagAddMonoidHom_apply
@[simps]
def diagAddMonoidHom [AddZeroClass α] : Matrix n n α →+ n → α 
Arguments: (n : Type u_3) (α : Type v) [AddZeroClass α] (A : Matrix n n α) (i : n)
Goal: (Matrix.diagAddMonoidHom n α) A i = A.diag i
-- Matrix.diagLinearMap_apply
@[simps]
def diagLinearMap [Semiring R] [AddCommMonoid α] [Module R α] : Matrix n n α →ₗ[R] n → α 
Arguments: (n : Type u_3) (R : Type u_7) (α : Type v) [Semiring R] [AddCommMonoid α] [Module R α]
Goal: ∀ (a : Matrix n n α) (a_1 : n), (Matrix.diagLinearMap n R α) a a_1 = (↑(Matrix.diagAddMonoidHom n α)).toFun a a_1
-- Matrix.diag_map
theorem diag_map {f : α → β} {A : Matrix n n α} : diag (A.map f) = f ∘ diag A 
Arguments: {n : Type u_3} {α : Type v} {β : Type w} {f : α → β} {A : Matrix n n α}
Goal: (A.map f).diag = f ∘ A.diag
-- Matrix.diag_conjTranspose
@[simp]
theorem diag_conjTranspose [AddMonoid α] [StarAddMonoid α] (A : Matrix n n α) :
    diag Aᴴ = star (diag A) 
Arguments: {n : Type u_3} {α : Type v} [AddMonoid α] [StarAddMonoid α] (A : Matrix n n α)
Goal: Aᴴ.diag = star A.diag
-- Matrix.diag_list_sum
@[simp]
theorem diag_list_sum [AddMonoid α] (l : List (Matrix n n α)) : diag l.sum = (l.map diag).sum 
Arguments: {n : Type u_3} {α : Type v} [AddMonoid α] (l : List (Matrix n n α))
Goal: l.sum.diag = (List.map Matrix.diag l).sum
-- Matrix.diag_multiset_sum
@[simp]
theorem diag_multiset_sum [AddCommMonoid α] (s : Multiset (Matrix n n α)) :
    diag s.sum = (s.map diag).sum 
Arguments: {n : Type u_3} {α : Type v} [AddCommMonoid α] (s : Multiset (Matrix n n α))
Goal: s.sum.diag = (Multiset.map Matrix.diag s).sum
-- Matrix.diag_sum
@[simp]
theorem diag_sum {ι} [AddCommMonoid α] (s : Finset ι) (f : ι → Matrix n n α) :
    diag (∑ i ∈ s, f i) = ∑ i ∈ s, diag (f i) 
Arguments: {n : Type u_3} {α : Type v} {ι : Type u_10} [AddCommMonoid α] (s : Finset ι) (f : ι → Matrix n n α)
Goal: (∑ i ∈ s, f i).diag = ∑ i ∈ s, (f i).diag
-- Matrix.dotProduct_assoc
theorem dotProduct_assoc [NonUnitalSemiring α] (u : m → α) (w : n → α) (v : Matrix m n α) :
    (fun j => u ⬝ᵥ fun i => v i j) ⬝ᵥ w = u ⬝ᵥ fun i => v i ⬝ᵥ w 
Arguments: {m : Type u_2} {n : Type u_3} {α : Type v} [Fintype m] [Fintype n] [NonUnitalSemiring α] (u : m → α) (w : n → α) (v : Matrix m n α)
Goal: (fun j => u ⬝ᵥ fun i => v i j) ⬝ᵥ w = u ⬝ᵥ fun i => v i ⬝ᵥ w
-- Matrix.dotProduct_comm
theorem dotProduct_comm [AddCommMonoid α] [CommSemigroup α] (v w : m → α) : v ⬝ᵥ w = w ⬝ᵥ v 
Arguments: {m : Type u_2} {α : Type v} [Fintype m] [AddCommMonoid α] [CommSemigroup α] (v w : m → α)
Goal: v ⬝ᵥ w = w ⬝ᵥ v
-- Matrix.dotProduct_pUnit
@[simp]
theorem dotProduct_pUnit [AddCommMonoid α] [Mul α] (v w : PUnit → α) : v ⬝ᵥ w = v ⟨⟩ * w ⟨⟩ 
Arguments: {α : Type v} [AddCommMonoid α] [Mul α] (v w : PUnit.{u_10 + 1} → α)
Goal: v ⬝ᵥ w = v PUnit.unit * w PUnit.unit
-- Matrix.dotProduct_one
theorem dotProduct_one (v : n → α) : v ⬝ᵥ 1 = ∑ i, v i 
Arguments: {n : Type u_3} {α : Type v} [Fintype n] [MulOneClass α] [AddCommMonoid α] (v : n → α)
Goal: v ⬝ᵥ 1 = ∑ i : n, v i
-- Matrix.one_dotProduct
theorem one_dotProduct (v : n → α) : 1 ⬝ᵥ v = ∑ i, v i 
Arguments: {n : Type u_3} {α : Type v} [Fintype n] [MulOneClass α] [AddCommMonoid α] (v : n → α)
Goal: 1 ⬝ᵥ v = ∑ i : n, v i
-- Matrix.dotProduct_zero
@[simp]
theorem dotProduct_zero : v ⬝ᵥ 0 = 0 
Arguments: {m : Type u_2} {α : Type v} [Fintype m] [NonUnitalNonAssocSemiring α] (v : m → α)
Goal: v ⬝ᵥ 0 = 0
-- Matrix.dotProduct_zero'
@[simp]
theorem dotProduct_zero' : (v ⬝ᵥ fun _ => 0) = 0 
Arguments: {m : Type u_2} {α : Type v} [Fintype m] [NonUnitalNonAssocSemiring α] (v : m → α)
Goal: (v ⬝ᵥ fun x => 0) = 0
-- Matrix.zero_dotProduct
@[simp]
theorem zero_dotProduct : 0 ⬝ᵥ v = 0 
Arguments: {m : Type u_2} {α : Type v} [Fintype m] [NonUnitalNonAssocSemiring α] (v : m → α)
Goal: 0 ⬝ᵥ v = 0
-- Matrix.zero_dotProduct'
@[simp]
theorem zero_dotProduct' : (fun _ => (0 : α)) ⬝ᵥ v = 0 
Arguments: {m : Type u_2} {α : Type v} [Fintype m] [NonUnitalNonAssocSemiring α] (v : m → α)
Goal: (fun x => 0) ⬝ᵥ v = 0
-- Matrix.add_dotProduct
@[simp]
theorem add_dotProduct : (u + v) ⬝ᵥ w = u ⬝ᵥ w + v ⬝ᵥ w 
Arguments: {m : Type u_2} {α : Type v} [Fintype m] [NonUnitalNonAssocSemiring α] (u v w : m → α)
Goal: (u + v) ⬝ᵥ w = u ⬝ᵥ w + v ⬝ᵥ w
-- Matrix.dotProduct_add
@[simp]
theorem dotProduct_add : u ⬝ᵥ (v + w) = u ⬝ᵥ v + u ⬝ᵥ w 
Arguments: {m : Type u_2} {α : Type v} [Fintype m] [NonUnitalNonAssocSemiring α] (u v w : m → α)
Goal: u ⬝ᵥ (v + w) = u ⬝ᵥ v + u ⬝ᵥ w
-- Matrix.sum_elim_dotProduct_sum_elim
@[simp]
theorem sum_elim_dotProduct_sum_elim : Sum.elim u x ⬝ᵥ Sum.elim v y = u ⬝ᵥ v + x ⬝ᵥ y 
Arguments: {m : Type u_2} {n : Type u_3} {α : Type v} [Fintype m] [Fintype n] [NonUnitalNonAssocSemiring α] (u v : m → α) (x y : n → α)
Goal: Sum.elim u x ⬝ᵥ Sum.elim v y = u ⬝ᵥ v + x ⬝ᵥ y
-- Matrix.comp_equiv_symm_dotProduct
@[simp]
theorem comp_equiv_symm_dotProduct (e : m ≃ n) : u ∘ e.symm ⬝ᵥ x = u ⬝ᵥ x ∘ e 
Arguments: {m : Type u_2} {n : Type u_3} {α : Type v} [Fintype m] [Fintype n] [NonUnitalNonAssocSemiring α] (u : m → α) (x : n → α) (e : m ≃ n)
Goal: u ∘ ⇑e.symm ⬝ᵥ x = u ⬝ᵥ x ∘ ⇑e
-- Matrix.dotProduct_comp_equiv_symm
@[simp]
theorem dotProduct_comp_equiv_symm (e : n ≃ m) : u ⬝ᵥ x ∘ e.symm = u ∘ e ⬝ᵥ x 
Arguments: {m : Type u_2} {n : Type u_3} {α : Type v} [Fintype m] [Fintype n] [NonUnitalNonAssocSemiring α] (u : m → α) (x : n → α) (e : n ≃ m)
Goal: u ⬝ᵥ x ∘ ⇑e.symm = u ∘ ⇑e ⬝ᵥ x
-- Matrix.comp_equiv_dotProduct_comp_equiv
@[simp]
theorem comp_equiv_dotProduct_comp_equiv (e : m ≃ n) : x ∘ e ⬝ᵥ y ∘ e = x ⬝ᵥ y 
Arguments: {m : Type u_2} {n : Type u_3} {α : Type v} [Fintype m] [Fintype n] [NonUnitalNonAssocSemiring α] (x y : n → α) (e : m ≃ n)
Goal: x ∘ ⇑e ⬝ᵥ y ∘ ⇑e = x ⬝ᵥ y
-- Matrix.diagonal_dotProduct
@[simp]
theorem diagonal_dotProduct (i : m) : diagonal v i ⬝ᵥ w = v i * w i 
Arguments: {m : Type u_2} {α : Type v} [Fintype m] [DecidableEq m] [NonUnitalNonAssocSemiring α] (v w : m → α) (i : m)
Goal: Matrix.diagonal v i ⬝ᵥ w = v i * w i
-- Matrix.dotProduct_diagonal
@[simp]
theorem dotProduct_diagonal (i : m) : v ⬝ᵥ diagonal w i = v i * w i 
Arguments: {m : Type u_2} {α : Type v} [Fintype m] [DecidableEq m] [NonUnitalNonAssocSemiring α] (v w : m → α) (i : m)
Goal: v ⬝ᵥ Matrix.diagonal w i = v i * w i
-- Matrix.dotProduct_diagonal'
@[simp]
theorem dotProduct_diagonal' (i : m) : (v ⬝ᵥ fun j => diagonal w j i) = v i * w i 
Arguments: {m : Type u_2} {α : Type v} [Fintype m] [DecidableEq m] [NonUnitalNonAssocSemiring α] (v w : m → α) (i : m)
Goal: (v ⬝ᵥ fun j => Matrix.diagonal w j i) = v i * w i
-- Matrix.single_dotProduct
@[simp]
theorem single_dotProduct (x : α) (i : m) : Pi.single i x ⬝ᵥ v = x * v i 
Arguments: {m : Type u_2} {α : Type v} [Fintype m] [DecidableEq m] [NonUnitalNonAssocSemiring α] (v : m → α) (x : α) (i : m)
Goal: Pi.single i x ⬝ᵥ v = x * v i
-- Matrix.dotProduct_single
@[simp]
theorem dotProduct_single (x : α) (i : m) : v ⬝ᵥ Pi.single i x = v i * x 
Arguments: {m : Type u_2} {α : Type v} [Fintype m] [DecidableEq m] [NonUnitalNonAssocSemiring α] (v : m → α) (x : α) (i : m)
Goal: v ⬝ᵥ Pi.single i x = v i * x
-- Matrix.one_dotProduct_one
@[simp]
theorem one_dotProduct_one : (1 : n → α) ⬝ᵥ 1 = Fintype.card n 
Arguments: {n : Type u_3} {α : Type v} [Fintype n] [NonAssocSemiring α]
Goal: 1 ⬝ᵥ 1 = ↑(Fintype.card n)
-- Matrix.neg_dotProduct
@[simp]
theorem neg_dotProduct : -v ⬝ᵥ w = -(v ⬝ᵥ w) 
Arguments: {m : Type u_2} {α : Type v} [Fintype m] [NonUnitalNonAssocRing α] (v w : m → α)
Goal: -v ⬝ᵥ w = -(v ⬝ᵥ w)
-- Matrix.dotProduct_neg
@[simp]
theorem dotProduct_neg : v ⬝ᵥ -w = -(v ⬝ᵥ w) 
Arguments: {m : Type u_2} {α : Type v} [Fintype m] [NonUnitalNonAssocRing α] (v w : m → α)
Goal: v ⬝ᵥ -w = -(v ⬝ᵥ w)
-- Matrix.neg_dotProduct_neg
lemma neg_dotProduct_neg : -v ⬝ᵥ -w = v ⬝ᵥ w 
Arguments: {m : Type u_2} {α : Type v} [Fintype m] [NonUnitalNonAssocRing α] (v w : m → α)
Goal: -v ⬝ᵥ -w = v ⬝ᵥ w
-- Matrix.sub_dotProduct
@[simp]
theorem sub_dotProduct : (u - v) ⬝ᵥ w = u ⬝ᵥ w - v ⬝ᵥ w 
Arguments: {m : Type u_2} {α : Type v} [Fintype m] [NonUnitalNonAssocRing α] (u v w : m → α)
Goal: (u - v) ⬝ᵥ w = u ⬝ᵥ w - v ⬝ᵥ w
-- Matrix.dotProduct_sub
@[simp]
theorem dotProduct_sub : u ⬝ᵥ (v - w) = u ⬝ᵥ v - u ⬝ᵥ w 
Arguments: {m : Type u_2} {α : Type v} [Fintype m] [NonUnitalNonAssocRing α] (u v w : m → α)
Goal: u ⬝ᵥ (v - w) = u ⬝ᵥ v - u ⬝ᵥ w
-- Matrix.smul_dotProduct
@[simp]
theorem smul_dotProduct [IsScalarTower R α α] (x : R) (v w : m → α) :
    x • v ⬝ᵥ w = x • (v ⬝ᵥ w) 
Arguments: {m : Type u_2} {R : Type u_7} {α : Type v} [Fintype m] [Monoid R] [Mul α] [AddCommMonoid α] [DistribMulAction R α] [IsScalarTower R α α] (x : R) (v w : m → α)
Goal: x • v ⬝ᵥ w = x • (v ⬝ᵥ w)
-- Matrix.dotProduct_smul
@[simp]
theorem dotProduct_smul [SMulCommClass R α α] (x : R) (v w : m → α) :
    v ⬝ᵥ x • w = x • (v ⬝ᵥ w) 
Arguments: {m : Type u_2} {R : Type u_7} {α : Type v} [Fintype m] [Monoid R] [Mul α] [AddCommMonoid α] [DistribMulAction R α] [SMulCommClass R α α] (x : R) (v w : m → α)
Goal: v ⬝ᵥ x • w = x • (v ⬝ᵥ w)
-- Matrix.star_dotProduct_star
theorem star_dotProduct_star : star v ⬝ᵥ star w = star (w ⬝ᵥ v) 
Arguments: {m : Type u_2} {α : Type v} [Fintype m] [NonUnitalSemiring α] [StarRing α] (v w : m → α)
Goal: star v ⬝ᵥ star w = star (w ⬝ᵥ v)
-- Matrix.star_dotProduct
theorem star_dotProduct : star v ⬝ᵥ w = star (star w ⬝ᵥ v) 
Arguments: {m : Type u_2} {α : Type v} [Fintype m] [NonUnitalSemiring α] [StarRing α] (v w : m → α)
Goal: star v ⬝ᵥ w = star (star w ⬝ᵥ v)
-- Matrix.dotProduct_star
theorem dotProduct_star : v ⬝ᵥ star w = star (w ⬝ᵥ star v) 
Arguments: {m : Type u_2} {α : Type v} [Fintype m] [NonUnitalSemiring α] [StarRing α] (v w : m → α)
Goal: v ⬝ᵥ star w = star (w ⬝ᵥ star v)
-- Matrix.mul_apply
theorem mul_apply [Fintype m] [Mul α] [AddCommMonoid α] {M : Matrix l m α} {N : Matrix m n α}
    {i k} : (M * N) i k = ∑ j, M i j * N j k 
Arguments: {l : Type u_1} {m : Type u_2} {n : Type u_3} {α : Type v} [Fintype m] [Mul α] [AddCommMonoid α] {M : Matrix l m α} {N : Matrix m n α} {i : l} {k : n}
Goal: (M * N) i k = ∑ j : m, M i j * N j k
-- Matrix.mul_apply'
theorem mul_apply' [Fintype m] [Mul α] [AddCommMonoid α] {M : Matrix l m α} {N : Matrix m n α}
    {i k} : (M * N) i k = (fun j => M i j) ⬝ᵥ fun j => N j k 
Arguments: {l : Type u_1} {m : Type u_2} {n : Type u_3} {α : Type v} [Fintype m] [Mul α] [AddCommMonoid α] {M : Matrix l m α} {N : Matrix m n α} {i : l} {k : n}
Goal: (M * N) i k = (fun j => M i j) ⬝ᵥ fun j => N j k
-- Matrix.sum_apply
theorem sum_apply [AddCommMonoid α] (i : m) (j : n) (s : Finset β) (g : β → Matrix m n α) :
    (∑ c ∈ s, g c) i j = ∑ c ∈ s, g c i j 
Arguments: {m : Type u_2} {n : Type u_3} {α : Type v} {β : Type w} [AddCommMonoid α] (i : m) (j : n) (s : Finset β) (g : β → Matrix m n α)
Goal: (∑ c ∈ s, g c) i j = ∑ c ∈ s, g c i j