ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
-- Matrix.two_mul_expl
theorem two_mul_expl {R : Type*} [CommRing R] (A B : Matrix (Fin 2) (Fin 2) R) :
    (A * B) 0 0 = A 0 0 * B 0 0 + A 0 1 * B 1 0 ∧
    (A * B) 0 1 = A 0 0 * B 0 1 + A 0 1 * B 1 1 ∧
    (A * B) 1 0 = A 1 0 * B 0 0 + A 1 1 * B 1 0 ∧
    (A * B) 1 1 = A 1 0 * B 0 1 + A 1 1 * B 1 1 
Arguments: {R : Type u_10} [CommRing R] (A B : Matrix (Fin 2) (Fin 2) R)
Goal: (A * B) 0 0 = A 0 0 * B 0 0 + A 0 1 * B 1 0 ∧
  (A * B) 0 1 = A 0 0 * B 0 1 + A 0 1 * B 1 1 ∧
    (A * B) 1 0 = A 1 0 * B 0 0 + A 1 1 * B 1 0 ∧ (A * B) 1 1 = A 1 0 * B 0 1 + A 1 1 * B 1 1
-- Matrix.smul_mul
@[simp]
theorem smul_mul [Fintype n] [Monoid R] [DistribMulAction R α] [IsScalarTower R α α] (a : R)
    (M : Matrix m n α) (N : Matrix n l α) : (a • M) * N = a • (M * N) 
Arguments: {l : Type u_1} {m : Type u_2} {n : Type u_3} {R : Type u_7} {α : Type v} [AddCommMonoid α] [Mul α] [Fintype n] [Monoid R] [DistribMulAction R α] [IsScalarTower R α α] (a : R) (M : Matrix m n α) (N : Matrix n l α)
Goal: a • M * N = a • (M * N)
-- Matrix.mul_smul
@[simp]
theorem mul_smul [Fintype n] [Monoid R] [DistribMulAction R α] [SMulCommClass R α α]
    (M : Matrix m n α) (a : R) (N : Matrix n l α) : M * (a • N) = a • (M * N) 
Arguments: {l : Type u_1} {m : Type u_2} {n : Type u_3} {R : Type u_7} {α : Type v} [AddCommMonoid α] [Mul α] [Fintype n] [Monoid R] [DistribMulAction R α] [SMulCommClass R α α] (M : Matrix m n α) (a : R) (N : Matrix n l α)
Goal: M * a • N = a • (M * N)
-- Matrix.mul_zero
@[simp]
protected theorem mul_zero [Fintype n] (M : Matrix m n α) : M * (0 : Matrix n o α) = 0 
Arguments: {m : Type u_2} {n : Type u_3} {o : Type u_4} {α : Type v} [NonUnitalNonAssocSemiring α] [Fintype n] (M : Matrix m n α)
Goal: M * 0 = 0
-- Matrix.zero_mul
@[simp]
protected theorem zero_mul [Fintype m] (M : Matrix m n α) : (0 : Matrix l m α) * M = 0 
Arguments: {l : Type u_1} {m : Type u_2} {n : Type u_3} {α : Type v} [NonUnitalNonAssocSemiring α] [Fintype m] (M : Matrix m n α)
Goal: 0 * M = 0
-- Matrix.mul_add
protected theorem mul_add [Fintype n] (L : Matrix m n α) (M N : Matrix n o α) :
    L * (M + N) = L * M + L * N 
Arguments: {m : Type u_2} {n : Type u_3} {o : Type u_4} {α : Type v} [NonUnitalNonAssocSemiring α] [Fintype n] (L : Matrix m n α) (M N : Matrix n o α)
Goal: L * (M + N) = L * M + L * N
-- Matrix.add_mul
protected theorem add_mul [Fintype m] (L M : Matrix l m α) (N : Matrix m n α) :
    (L + M) * N = L * N + M * N 
Arguments: {l : Type u_1} {m : Type u_2} {n : Type u_3} {α : Type v} [NonUnitalNonAssocSemiring α] [Fintype m] (L M : Matrix l m α) (N : Matrix m n α)
Goal: (L + M) * N = L * N + M * N
-- Matrix.diagonal_mul
@[simp]
theorem diagonal_mul [Fintype m] [DecidableEq m] (d : m → α) (M : Matrix m n α) (i j) :
    (diagonal d * M) i j = d i * M i j 
Arguments: {m : Type u_2} {n : Type u_3} {α : Type v} [NonUnitalNonAssocSemiring α] [Fintype m] [DecidableEq m] (d : m → α) (M : Matrix m n α) (i : m) (j : n)
Goal: (Matrix.diagonal d * M) i j = d i * M i j
-- Matrix.mul_diagonal
@[simp]
theorem mul_diagonal [Fintype n] [DecidableEq n] (d : n → α) (M : Matrix m n α) (i j) :
    (M * diagonal d) i j = M i j * d j 
Arguments: {m : Type u_2} {n : Type u_3} {α : Type v} [NonUnitalNonAssocSemiring α] [Fintype n] [DecidableEq n] (d : n → α) (M : Matrix m n α) (i : m) (j : n)
Goal: (M * Matrix.diagonal d) i j = M i j * d j
-- Matrix.diagonal_mul_diagonal
@[simp]
theorem diagonal_mul_diagonal [Fintype n] [DecidableEq n] (d₁ d₂ : n → α) :
    diagonal d₁ * diagonal d₂ = diagonal fun i => d₁ i * d₂ i 
Arguments: {n : Type u_3} {α : Type v} [NonUnitalNonAssocSemiring α] [Fintype n] [DecidableEq n] (d₁ d₂ : n → α)
Goal: Matrix.diagonal d₁ * Matrix.diagonal d₂ = Matrix.diagonal fun i => d₁ i * d₂ i
-- Matrix.diagonal_mul_diagonal'
theorem diagonal_mul_diagonal' [Fintype n] [DecidableEq n] (d₁ d₂ : n → α) :
    diagonal d₁ * diagonal d₂ = diagonal fun i => d₁ i * d₂ i 
Arguments: {n : Type u_3} {α : Type v} [NonUnitalNonAssocSemiring α] [Fintype n] [DecidableEq n] (d₁ d₂ : n → α)
Goal: Matrix.diagonal d₁ * Matrix.diagonal d₂ = Matrix.diagonal fun i => d₁ i * d₂ i
-- Matrix.smul_eq_diagonal_mul
theorem smul_eq_diagonal_mul [Fintype m] [DecidableEq m] (M : Matrix m n α) (a : α) :
    a • M = (diagonal fun _ => a) * M 
Arguments: {m : Type u_2} {n : Type u_3} {α : Type v} [NonUnitalNonAssocSemiring α] [Fintype m] [DecidableEq m] (M : Matrix m n α) (a : α)
Goal: a • M = (Matrix.diagonal fun x => a) * M
-- Matrix.op_smul_eq_mul_diagonal
theorem op_smul_eq_mul_diagonal [Fintype n] [DecidableEq n] (M : Matrix m n α) (a : α) :
    MulOpposite.op a • M = M * (diagonal fun _ : n => a) 
Arguments: {m : Type u_2} {n : Type u_3} {α : Type v} [NonUnitalNonAssocSemiring α] [Fintype n] [DecidableEq n] (M : Matrix m n α) (a : α)
Goal: MulOpposite.op a • M = M * Matrix.diagonal fun x => a
-- Matrix.addMonoidHomMulLeft_apply
@[simps]
def addMonoidHomMulLeft [Fintype m] (M : Matrix l m α) : Matrix m n α →+ Matrix l n α 
Arguments: {l : Type u_1} {m : Type u_2} {n : Type u_3} {α : Type v} [NonUnitalNonAssocSemiring α] [Fintype m] (M : Matrix l m α) (x : Matrix m n α)
Goal: M.addMonoidHomMulLeft x = M * x
-- Matrix.addMonoidHomMulRight_apply
@[simps]
def addMonoidHomMulRight [Fintype m] (M : Matrix m n α) : Matrix l m α →+ Matrix l n α 
Arguments: {l : Type u_1} {m : Type u_2} {n : Type u_3} {α : Type v} [NonUnitalNonAssocSemiring α] [Fintype m] (M : Matrix m n α) (x : Matrix l m α)
Goal: M.addMonoidHomMulRight x = x * M
-- Matrix.sum_mul
protected theorem sum_mul [Fintype m] (s : Finset β) (f : β → Matrix l m α) (M : Matrix m n α) :
    (∑ a ∈ s, f a) * M = ∑ a ∈ s, f a * M 
Arguments: {l : Type u_1} {m : Type u_2} {n : Type u_3} {α : Type v} {β : Type w} [NonUnitalNonAssocSemiring α] [Fintype m] (s : Finset β) (f : β → Matrix l m α) (M : Matrix m n α)
Goal: (∑ a ∈ s, f a) * M = ∑ a ∈ s, f a * M
-- Matrix.mul_sum
protected theorem mul_sum [Fintype m] (s : Finset β) (f : β → Matrix m n α) (M : Matrix l m α) :
    (M * ∑ a ∈ s, f a) = ∑ a ∈ s, M * f a 
Arguments: {l : Type u_1} {m : Type u_2} {n : Type u_3} {α : Type v} {β : Type w} [NonUnitalNonAssocSemiring α] [Fintype m] (s : Finset β) (f : β → Matrix m n α) (M : Matrix l m α)
Goal: M * ∑ a ∈ s, f a = ∑ a ∈ s, M * f a
-- Matrix.one_mul
@[simp]
protected theorem one_mul [Fintype m] [DecidableEq m] (M : Matrix m n α) :
    (1 : Matrix m m α) * M = M 
Arguments: {m : Type u_2} {n : Type u_3} {α : Type v} [NonAssocSemiring α] [Fintype m] [DecidableEq m] (M : Matrix m n α)
Goal: 1 * M = M
-- Matrix.mul_one
@[simp]
protected theorem mul_one [Fintype n] [DecidableEq n] (M : Matrix m n α) :
    M * (1 : Matrix n n α) = M 
Arguments: {m : Type u_2} {n : Type u_3} {α : Type v} [NonAssocSemiring α] [Fintype n] [DecidableEq n] (M : Matrix m n α)
Goal: M * 1 = M
-- Matrix.map_mul
@[simp]
theorem map_mul [Fintype n] {L : Matrix m n α} {M : Matrix n o α} [NonAssocSemiring β]
    {f : α →+* β} : (L * M).map f = L.map f * M.map f 
Arguments: {m : Type u_2} {n : Type u_3} {o : Type u_4} {α : Type v} {β : Type w} [NonAssocSemiring α] [Fintype n] {L : Matrix m n α} {M : Matrix n o α} [NonAssocSemiring β] {f : α →+* β}
Goal: (L * M).map ⇑f = L.map ⇑f * M.map ⇑f
-- Matrix.smul_one_eq_diagonal
theorem smul_one_eq_diagonal [DecidableEq m] (a : α) :
    a • (1 : Matrix m m α) = diagonal fun _ => a 
Arguments: {m : Type u_2} {α : Type v} [NonAssocSemiring α] [DecidableEq m] (a : α)
Goal: a • 1 = Matrix.diagonal fun x => a
-- Matrix.op_smul_one_eq_diagonal
theorem op_smul_one_eq_diagonal [DecidableEq m] (a : α) :
    MulOpposite.op a • (1 : Matrix m m α) = diagonal fun _ => a 
Arguments: {m : Type u_2} {α : Type v} [NonAssocSemiring α] [DecidableEq m] (a : α)
Goal: MulOpposite.op a • 1 = Matrix.diagonal fun x => a
-- Matrix.diagonalRingHom_apply
@[simps]
def diagonalRingHom [Fintype n] [DecidableEq n] : (n → α) →+* Matrix n n α 
Arguments: (n : Type u_3) (α : Type v) [NonAssocSemiring α] [Fintype n] [DecidableEq n] (d : n → α)
Goal: (Matrix.diagonalRingHom n α) d = Matrix.diagonal d
-- Matrix.mul_assoc
protected theorem mul_assoc (L : Matrix l m α) (M : Matrix m n α) (N : Matrix n o α) :
    L * M * N = L * (M * N) 
Arguments: {l : Type u_1} {m : Type u_2} {n : Type u_3} {o : Type u_4} {α : Type v} [NonUnitalSemiring α] [Fintype m] [Fintype n] (L : Matrix l m α) (M : Matrix m n α) (N : Matrix n o α)
Goal: L * M * N = L * (M * N)
-- Matrix.neg_mul
@[simp]
protected theorem neg_mul (M : Matrix m n α) (N : Matrix n o α) : (-M) * N = -(M * N) 
Arguments: {m : Type u_2} {n : Type u_3} {o : Type u_4} {α : Type v} [NonUnitalNonAssocRing α] [Fintype n] (M : Matrix m n α) (N : Matrix n o α)
Goal: -M * N = -(M * N)
-- Matrix.mul_neg
@[simp]
protected theorem mul_neg (M : Matrix m n α) (N : Matrix n o α) : M * (-N) = -(M * N) 
Arguments: {m : Type u_2} {n : Type u_3} {o : Type u_4} {α : Type v} [NonUnitalNonAssocRing α] [Fintype n] (M : Matrix m n α) (N : Matrix n o α)
Goal: M * -N = -(M * N)
-- Matrix.sub_mul
protected theorem sub_mul (M M' : Matrix m n α) (N : Matrix n o α) :
    (M - M') * N = M * N - M' * N 
Arguments: {m : Type u_2} {n : Type u_3} {o : Type u_4} {α : Type v} [NonUnitalNonAssocRing α] [Fintype n] (M M' : Matrix m n α) (N : Matrix n o α)
Goal: (M - M') * N = M * N - M' * N
-- Matrix.mul_sub
protected theorem mul_sub (M : Matrix m n α) (N N' : Matrix n o α) :
    M * (N - N') = M * N - M * N' 
Arguments: {m : Type u_2} {n : Type u_3} {o : Type u_4} {α : Type v} [NonUnitalNonAssocRing α] [Fintype n] (M : Matrix m n α) (N N' : Matrix n o α)
Goal: M * (N - N') = M * N - M * N'
-- Matrix.diagonal_pow
theorem diagonal_pow [Fintype n] [DecidableEq n] (v : n → α) (k : ℕ) :
    diagonal v ^ k = diagonal (v ^ k) 
Arguments: {n : Type u_3} {α : Type v} [Semiring α] [Fintype n] [DecidableEq n] (v : n → α) (k : ℕ)
Goal: Matrix.diagonal v ^ k = Matrix.diagonal (v ^ k)
-- Matrix.mul_mul_left
@[simp]
theorem mul_mul_left [Fintype n] (M : Matrix m n α) (N : Matrix n o α) (a : α) :
    (of fun i j => a * M i j) * N = a • (M * N) 
Arguments: {m : Type u_2} {n : Type u_3} {o : Type u_4} {α : Type v} [Semiring α] [Fintype n] (M : Matrix m n α) (N : Matrix n o α) (a : α)
Goal: (Matrix.of fun i j => a * M i j) * N = a • (M * N)
-- Matrix.scalar_apply
@[simp]
theorem scalar_apply (a : α) : scalar n a = diagonal fun _ => a 
Arguments: {n : Type u_3} {α : Type v} [Semiring α] [DecidableEq n] [Fintype n] (a : α)
Goal: (Matrix.scalar n) a = Matrix.diagonal fun x => a
-- Matrix.scalar_inj
theorem scalar_inj [Nonempty n] {r s : α} : scalar n r = scalar n s ↔ r = s 
Arguments: {n : Type u_3} {α : Type v} [Semiring α] [DecidableEq n] [Fintype n] [Nonempty n] {r s : α}
Goal: (Matrix.scalar n) r = (Matrix.scalar n) s ↔ r = s
-- Matrix.scalar_commute_iff
theorem scalar_commute_iff {r : α} {M : Matrix n n α} :
    Commute (scalar n r) M ↔ r • M = MulOpposite.op r • M 
Arguments: {n : Type u_3} {α : Type v} [Semiring α] [DecidableEq n] [Fintype n] {r : α} {M : Matrix n n α}
Goal: Commute ((Matrix.scalar n) r) M ↔ r • M = MulOpposite.op r • M
-- Matrix.scalar_commute
theorem scalar_commute (r : α) (hr : ∀ r', Commute r r') (M : Matrix n n α) :
    Commute (scalar n r) M 
Arguments: {n : Type u_3} {α : Type v} [Semiring α] [DecidableEq n] [Fintype n] (r : α) (hr : ∀ (r' : α), Commute r r') (M : Matrix n n α)
Goal: Commute ((Matrix.scalar n) r) M
-- Matrix.smul_eq_mul_diagonal
theorem smul_eq_mul_diagonal [Fintype n] [DecidableEq n] (M : Matrix m n α) (a : α) :
    a • M = M * diagonal fun _ => a 
Arguments: {m : Type u_2} {n : Type u_3} {α : Type v} [CommSemiring α] [Fintype n] [DecidableEq n] (M : Matrix m n α) (a : α)
Goal: a • M = M * Matrix.diagonal fun x => a
-- Matrix.mul_mul_right
@[simp]
theorem mul_mul_right [Fintype n] (M : Matrix m n α) (N : Matrix n o α) (a : α) :
    (M * of fun i j => a * N i j) = a • (M * N) 
Arguments: {m : Type u_2} {n : Type u_3} {o : Type u_4} {α : Type v} [CommSemiring α] [Fintype n] (M : Matrix m n α) (N : Matrix n o α) (a : α)
Goal: (M * Matrix.of fun i j => a * N i j) = a • (M * N)
-- Matrix.algebraMap_matrix_apply
theorem algebraMap_matrix_apply {r : R} {i j : n} :
    algebraMap R (Matrix n n α) r i j = if i = j then algebraMap R α r else 0 
Arguments: {n : Type u_3} {R : Type u_7} {α : Type v} [Fintype n] [DecidableEq n] [CommSemiring R] [Semiring α] [Algebra R α] {r : R} {i j : n}
Goal: (algebraMap R (Matrix n n α)) r i j = if i = j then (algebraMap R α) r else 0
-- Matrix.algebraMap_eq_diagonal
theorem algebraMap_eq_diagonal (r : R) :
    algebraMap R (Matrix n n α) r = diagonal (algebraMap R (n → α) r) 
Arguments: {n : Type u_3} {R : Type u_7} {α : Type v} [Fintype n] [DecidableEq n] [CommSemiring R] [Semiring α] [Algebra R α] (r : R)
Goal: (algebraMap R (Matrix n n α)) r = Matrix.diagonal ((algebraMap R (n → α)) r)
-- Matrix.algebraMap_eq_diagonalRingHom
theorem algebraMap_eq_diagonalRingHom :
    algebraMap R (Matrix n n α) = (diagonalRingHom n α).comp (algebraMap R _) 
Arguments: {n : Type u_3} {R : Type u_7} {α : Type v} [Fintype n] [DecidableEq n] [CommSemiring R] [Semiring α] [Algebra R α]
Goal: algebraMap R (Matrix n n α) = (Matrix.diagonalRingHom n α).comp (algebraMap R (n → α))
-- Matrix.map_algebraMap
@[simp]
theorem map_algebraMap (r : R) (f : α → β) (hf : f 0 = 0)
    (hf₂ : f (algebraMap R α r) = algebraMap R β r) :
    (algebraMap R (Matrix n n α) r).map f = algebraMap R (Matrix n n β) r 
Arguments: {n : Type u_3} {R : Type u_7} {α : Type v} {β : Type w} [Fintype n] [DecidableEq n] [CommSemiring R] [Semiring α] [Semiring β] [Algebra R α] [Algebra R β] (r : R) (f : α → β) (hf : f 0 = 0) (hf₂ : f ((algebraMap R α) r) = (algebraMap R β) r)
Goal: ((algebraMap R (Matrix n n α)) r).map f = (algebraMap R (Matrix n n β)) r
-- Matrix.diagonalAlgHom_apply
@[simps]
def diagonalAlgHom : (n → α) →ₐ[R] Matrix n n α 
Arguments: {n : Type u_3} (R : Type u_7) {α : Type v} [Fintype n] [DecidableEq n] [CommSemiring R] [Semiring α] [Algebra R α] (d : n → α)
Goal: (Matrix.diagonalAlgHom R) d = Matrix.diagonal d
-- Equiv.mapMatrix_apply
@[simps apply]
def mapMatrix (f : α ≃ β) : Matrix m n α ≃ Matrix m n β 
Arguments: {m : Type u_2} {n : Type u_3} {α : Type v} {β : Type w} (f : α ≃ β) (M : Matrix m n α)
Goal: f.mapMatrix M = M.map ⇑f
-- Equiv.mapMatrix_refl
@[simp]
theorem mapMatrix_refl : (Equiv.refl α).mapMatrix = Equiv.refl (Matrix m n α) 
Arguments: {m : Type u_2} {n : Type u_3} {α : Type v}
Goal: (Equiv.refl α).mapMatrix = Equiv.refl (Matrix m n α)
-- Equiv.mapMatrix_symm
@[simp]
theorem mapMatrix_symm (f : α ≃ β) : f.mapMatrix.symm = (f.symm.mapMatrix : Matrix m n β ≃ _) 
Arguments: {m : Type u_2} {n : Type u_3} {α : Type v} {β : Type w} (f : α ≃ β)
Goal: f.mapMatrix.symm = f.symm.mapMatrix
-- Equiv.mapMatrix_trans
@[simp]
theorem mapMatrix_trans (f : α ≃ β) (g : β ≃ γ) :
    f.mapMatrix.trans g.mapMatrix = ((f.trans g).mapMatrix : Matrix m n α ≃ _) 
Arguments: {m : Type u_2} {n : Type u_3} {α : Type v} {β : Type w} {γ : Type u_9} (f : α ≃ β) (g : β ≃ γ)
Goal: f.mapMatrix.trans g.mapMatrix = (f.trans g).mapMatrix
-- AddMonoidHom.mapMatrix_apply
@[simps]
def mapMatrix (f : α →+ β) : Matrix m n α →+ Matrix m n β 
Arguments: {m : Type u_2} {n : Type u_3} {α : Type v} {β : Type w} [AddZeroClass α] [AddZeroClass β] (f : α →+ β) (M : Matrix m n α)
Goal: f.mapMatrix M = M.map ⇑f
-- AddMonoidHom.mapMatrix_id
@[simp]
theorem mapMatrix_id : (AddMonoidHom.id α).mapMatrix = AddMonoidHom.id (Matrix m n α) 
Arguments: {m : Type u_2} {n : Type u_3} {α : Type v} [AddZeroClass α]
Goal: (AddMonoidHom.id α).mapMatrix = AddMonoidHom.id (Matrix m n α)
-- AddMonoidHom.mapMatrix_comp
@[simp]
theorem mapMatrix_comp (f : β →+ γ) (g : α →+ β) :
    f.mapMatrix.comp g.mapMatrix = ((f.comp g).mapMatrix : Matrix m n α →+ _) 
Arguments: {m : Type u_2} {n : Type u_3} {α : Type v} {β : Type w} {γ : Type u_9} [AddZeroClass α] [AddZeroClass β] [AddZeroClass γ] (f : β →+ γ) (g : α →+ β)
Goal: f.mapMatrix.comp g.mapMatrix = (f.comp g).mapMatrix
-- AddEquiv.mapMatrix_apply
@[simps apply]
def mapMatrix (f : α ≃+ β) : Matrix m n α ≃+ Matrix m n β 
Arguments: {m : Type u_2} {n : Type u_3} {α : Type v} {β : Type w} [Add α] [Add β] (f : α ≃+ β) (M : Matrix m n α)
Goal: f.mapMatrix M = M.map ⇑f
-- AddEquiv.mapMatrix_refl
@[simp]
theorem mapMatrix_refl : (AddEquiv.refl α).mapMatrix = AddEquiv.refl (Matrix m n α) 
Arguments: {m : Type u_2} {n : Type u_3} {α : Type v} [Add α]
Goal: (AddEquiv.refl α).mapMatrix = AddEquiv.refl (Matrix m n α)
-- AddEquiv.mapMatrix_symm
@[simp]
theorem mapMatrix_symm (f : α ≃+ β) : f.mapMatrix.symm = (f.symm.mapMatrix : Matrix m n β ≃+ _) 
Arguments: {m : Type u_2} {n : Type u_3} {α : Type v} {β : Type w} [Add α] [Add β] (f : α ≃+ β)
Goal: f.mapMatrix.symm = f.symm.mapMatrix
-- AddEquiv.mapMatrix_trans
@[simp]
theorem mapMatrix_trans (f : α ≃+ β) (g : β ≃+ γ) :
    f.mapMatrix.trans g.mapMatrix = ((f.trans g).mapMatrix : Matrix m n α ≃+ _) 
Arguments: {m : Type u_2} {n : Type u_3} {α : Type v} {β : Type w} {γ : Type u_9} [Add α] [Add β] [Add γ] (f : α ≃+ β) (g : β ≃+ γ)
Goal: f.mapMatrix.trans g.mapMatrix = (f.trans g).mapMatrix
-- LinearMap.mapMatrix_apply
@[simps]
def mapMatrix (f : α →ₗ[R] β) : Matrix m n α →ₗ[R] Matrix m n β 
Arguments: {m : Type u_2} {n : Type u_3} {R : Type u_7} {α : Type v} {β : Type w} [Semiring R] [AddCommMonoid α] [AddCommMonoid β] [Module R α] [Module R β] (f : α →ₗ[R] β) (M : Matrix m n α)
Goal: f.mapMatrix M = M.map ⇑f
-- LinearMap.mapMatrix_id
@[simp]
theorem mapMatrix_id : LinearMap.id.mapMatrix = (LinearMap.id : Matrix m n α →ₗ[R] _) 
Arguments: {m : Type u_2} {n : Type u_3} {R : Type u_7} {α : Type v} [Semiring R] [AddCommMonoid α] [Module R α]
Goal: LinearMap.id.mapMatrix = LinearMap.id
-- LinearMap.mapMatrix_comp
@[simp]
theorem mapMatrix_comp (f : β →ₗ[R] γ) (g : α →ₗ[R] β) :
    f.mapMatrix.comp g.mapMatrix = ((f.comp g).mapMatrix : Matrix m n α →ₗ[R] _) 
Arguments: {m : Type u_2} {n : Type u_3} {R : Type u_7} {α : Type v} {β : Type w} {γ : Type u_9} [Semiring R] [AddCommMonoid α] [AddCommMonoid β] [AddCommMonoid γ] [Module R α] [Module R β] [Module R γ] (f : β →ₗ[R] γ) (g : α →ₗ[R] β)
Goal: f.mapMatrix ∘ₗ g.mapMatrix = (f ∘ₗ g).mapMatrix
-- LinearEquiv.mapMatrix_apply
@[simps apply]
def mapMatrix (f : α ≃ₗ[R] β) : Matrix m n α ≃ₗ[R] Matrix m n β 
Arguments: {m : Type u_2} {n : Type u_3} {R : Type u_7} {α : Type v} {β : Type w} [Semiring R] [AddCommMonoid α] [AddCommMonoid β] [Module R α] [Module R β] (f : α ≃ₗ[R] β) (M : Matrix m n α)
Goal: f.mapMatrix M = M.map ⇑f
-- LinearEquiv.mapMatrix_refl
@[simp]
theorem mapMatrix_refl : (LinearEquiv.refl R α).mapMatrix = LinearEquiv.refl R (Matrix m n α) 
Arguments: {m : Type u_2} {n : Type u_3} {R : Type u_7} {α : Type v} [Semiring R] [AddCommMonoid α] [Module R α]
Goal: (LinearEquiv.refl R α).mapMatrix = LinearEquiv.refl R (Matrix m n α)
-- LinearEquiv.mapMatrix_symm
@[simp]
theorem mapMatrix_symm (f : α ≃ₗ[R] β) :
    f.mapMatrix.symm = (f.symm.mapMatrix : Matrix m n β ≃ₗ[R] _) 
Arguments: {m : Type u_2} {n : Type u_3} {R : Type u_7} {α : Type v} {β : Type w} [Semiring R] [AddCommMonoid α] [AddCommMonoid β] [Module R α] [Module R β] (f : α ≃ₗ[R] β)
Goal: f.mapMatrix.symm = f.symm.mapMatrix
-- LinearEquiv.mapMatrix_trans
@[simp]
theorem mapMatrix_trans (f : α ≃ₗ[R] β) (g : β ≃ₗ[R] γ) :
    f.mapMatrix.trans g.mapMatrix = ((f.trans g).mapMatrix : Matrix m n α ≃ₗ[R] _) 
Arguments: {m : Type u_2} {n : Type u_3} {R : Type u_7} {α : Type v} {β : Type w} {γ : Type u_9} [Semiring R] [AddCommMonoid α] [AddCommMonoid β] [AddCommMonoid γ] [Module R α] [Module R β] [Module R γ] (f : α ≃ₗ[R] β) (g : β ≃ₗ[R] γ)
Goal: f.mapMatrix ≪≫ₗ g.mapMatrix = (f ≪≫ₗ g).mapMatrix
-- RingHom.mapMatrix_apply
@[simps]
def mapMatrix (f : α →+* β) : Matrix m m α →+* Matrix m m β 
Arguments: {m : Type u_2} {α : Type v} {β : Type w} [Fintype m] [DecidableEq m] [NonAssocSemiring α] [NonAssocSemiring β] (f : α →+* β) (M : Matrix m m α)
Goal: f.mapMatrix M = M.map ⇑f
-- RingHom.mapMatrix_id
@[simp]
theorem mapMatrix_id : (RingHom.id α).mapMatrix = RingHom.id (Matrix m m α) 
Arguments: {m : Type u_2} {α : Type v} [Fintype m] [DecidableEq m] [NonAssocSemiring α]
Goal: (RingHom.id α).mapMatrix = RingHom.id (Matrix m m α)
-- RingHom.mapMatrix_comp
@[simp]
theorem mapMatrix_comp (f : β →+* γ) (g : α →+* β) :
    f.mapMatrix.comp g.mapMatrix = ((f.comp g).mapMatrix : Matrix m m α →+* _) 
Arguments: {m : Type u_2} {α : Type v} {β : Type w} {γ : Type u_9} [Fintype m] [DecidableEq m] [NonAssocSemiring α] [NonAssocSemiring β] [NonAssocSemiring γ] (f : β →+* γ) (g : α →+* β)
Goal: f.mapMatrix.comp g.mapMatrix = (f.comp g).mapMatrix
-- RingEquiv.mapMatrix_apply
@[simps apply]
def mapMatrix (f : α ≃+* β) : Matrix m m α ≃+* Matrix m m β 
Arguments: {m : Type u_2} {α : Type v} {β : Type w} [Fintype m] [DecidableEq m] [NonAssocSemiring α] [NonAssocSemiring β] (f : α ≃+* β) (M : Matrix m m α)
Goal: f.mapMatrix M = M.map ⇑f
-- RingEquiv.mapMatrix_refl
@[simp]
theorem mapMatrix_refl : (RingEquiv.refl α).mapMatrix = RingEquiv.refl (Matrix m m α) 
Arguments: {m : Type u_2} {α : Type v} [Fintype m] [DecidableEq m] [NonAssocSemiring α]
Goal: (RingEquiv.refl α).mapMatrix = RingEquiv.refl (Matrix m m α)
-- RingEquiv.mapMatrix_symm
@[simp]
theorem mapMatrix_symm (f : α ≃+* β) : f.mapMatrix.symm = (f.symm.mapMatrix : Matrix m m β ≃+* _) 
Arguments: {m : Type u_2} {α : Type v} {β : Type w} [Fintype m] [DecidableEq m] [NonAssocSemiring α] [NonAssocSemiring β] (f : α ≃+* β)
Goal: f.mapMatrix.symm = f.symm.mapMatrix
-- RingEquiv.mapMatrix_trans
@[simp]
theorem mapMatrix_trans (f : α ≃+* β) (g : β ≃+* γ) :
    f.mapMatrix.trans g.mapMatrix = ((f.trans g).mapMatrix : Matrix m m α ≃+* _) 
Arguments: {m : Type u_2} {α : Type v} {β : Type w} {γ : Type u_9} [Fintype m] [DecidableEq m] [NonAssocSemiring α] [NonAssocSemiring β] [NonAssocSemiring γ] (f : α ≃+* β) (g : β ≃+* γ)
Goal: f.mapMatrix.trans g.mapMatrix = (f.trans g).mapMatrix
-- AlgHom.mapMatrix_apply
@[simps]
def mapMatrix (f : α →ₐ[R] β) : Matrix m m α →ₐ[R] Matrix m m β 
Arguments: {m : Type u_2} {R : Type u_7} {α : Type v} {β : Type w} [Fintype m] [DecidableEq m] [CommSemiring R] [Semiring α] [Semiring β] [Algebra R α] [Algebra R β] (f : α →ₐ[R] β) (M : Matrix m m α)
Goal: f.mapMatrix M = M.map ⇑f
-- AlgHom.mapMatrix_id
@[simp]
theorem mapMatrix_id : (AlgHom.id R α).mapMatrix = AlgHom.id R (Matrix m m α) 
Arguments: {m : Type u_2} {R : Type u_7} {α : Type v} [Fintype m] [DecidableEq m] [CommSemiring R] [Semiring α] [Algebra R α]
Goal: (AlgHom.id R α).mapMatrix = AlgHom.id R (Matrix m m α)
-- AlgHom.mapMatrix_comp
@[simp]
theorem mapMatrix_comp (f : β →ₐ[R] γ) (g : α →ₐ[R] β) :
    f.mapMatrix.comp g.mapMatrix = ((f.comp g).mapMatrix : Matrix m m α →ₐ[R] _) 
Arguments: {m : Type u_2} {R : Type u_7} {α : Type v} {β : Type w} {γ : Type u_9} [Fintype m] [DecidableEq m] [CommSemiring R] [Semiring α] [Semiring β] [Semiring γ] [Algebra R α] [Algebra R β] [Algebra R γ] (f : β →ₐ[R] γ) (g : α →ₐ[R] β)
Goal: f.mapMatrix.comp g.mapMatrix = (f.comp g).mapMatrix
-- AlgEquiv.mapMatrix_apply
@[simps apply]
def mapMatrix (f : α ≃ₐ[R] β) : Matrix m m α ≃ₐ[R] Matrix m m β 
Arguments: {m : Type u_2} {R : Type u_7} {α : Type v} {β : Type w} [Fintype m] [DecidableEq m] [CommSemiring R] [Semiring α] [Semiring β] [Algebra R α] [Algebra R β] (f : α ≃ₐ[R] β) (M : Matrix m m α)
Goal: f.mapMatrix M = M.map ⇑f
-- AlgEquiv.mapMatrix_refl
@[simp]
theorem mapMatrix_refl : AlgEquiv.refl.mapMatrix = (AlgEquiv.refl : Matrix m m α ≃ₐ[R] _) 
Arguments: {m : Type u_2} {R : Type u_7} {α : Type v} [Fintype m] [DecidableEq m] [CommSemiring R] [Semiring α] [Algebra R α]
Goal: AlgEquiv.refl.mapMatrix = AlgEquiv.refl
-- AlgEquiv.mapMatrix_symm
@[simp]
theorem mapMatrix_symm (f : α ≃ₐ[R] β) :
    f.mapMatrix.symm = (f.symm.mapMatrix : Matrix m m β ≃ₐ[R] _) 
Arguments: {m : Type u_2} {R : Type u_7} {α : Type v} {β : Type w} [Fintype m] [DecidableEq m] [CommSemiring R] [Semiring α] [Semiring β] [Algebra R α] [Algebra R β] (f : α ≃ₐ[R] β)
Goal: f.mapMatrix.symm = f.symm.mapMatrix
-- AlgEquiv.mapMatrix_trans
@[simp]
theorem mapMatrix_trans (f : α ≃ₐ[R] β) (g : β ≃ₐ[R] γ) :
    f.mapMatrix.trans g.mapMatrix = ((f.trans g).mapMatrix : Matrix m m α ≃ₐ[R] _) 
Arguments: {m : Type u_2} {R : Type u_7} {α : Type v} {β : Type w} {γ : Type u_9} [Fintype m] [DecidableEq m] [CommSemiring R] [Semiring α] [Semiring β] [Semiring γ] [Algebra R α] [Algebra R β] [Algebra R γ] (f : α ≃ₐ[R] β) (g : β ≃ₐ[R] γ)
Goal: f.mapMatrix.trans g.mapMatrix = (f.trans g).mapMatrix