ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
-- CliffordAlgebra.foldr'_algebraMap
theorem foldr'_algebraMap (f : M →ₗ[R] CliffordAlgebra Q × N →ₗ[R] N)
    (hf : ∀ m x fx, f m (ι Q m * x, f m (x, fx)) = Q m • fx) (n r) :
    foldr' Q f hf n (algebraMap R _ r) = r • n 
Arguments: {R : Type u_1} {M : Type u_2} {N : Type u_3} [CommRing R] [AddCommGroup M] [AddCommGroup N] [Module R M] [Module R N] (Q : QuadraticForm R M) (f : M →ₗ[R] CliffordAlgebra Q × N →ₗ[R] N) (hf : ∀ (m : M) (x : CliffordAlgebra Q) (fx : N), (f m) ((CliffordAlgebra.ι Q) m * x, (f m) (x, fx)) = Q m • fx) (n : N) (r : R)
Goal: (CliffordAlgebra.foldr' Q f hf n) ((algebraMap R (CliffordAlgebra Q)) r) = r • n
-- CliffordAlgebra.foldr'_ι
theorem foldr'_ι (f : M →ₗ[R] CliffordAlgebra Q × N →ₗ[R] N)
    (hf : ∀ m x fx, f m (ι Q m * x, f m (x, fx)) = Q m • fx) (n m) :
    foldr' Q f hf n (ι Q m) = f m (1, n) 
Arguments: {R : Type u_1} {M : Type u_2} {N : Type u_3} [CommRing R] [AddCommGroup M] [AddCommGroup N] [Module R M] [Module R N] (Q : QuadraticForm R M) (f : M →ₗ[R] CliffordAlgebra Q × N →ₗ[R] N) (hf : ∀ (m : M) (x : CliffordAlgebra Q) (fx : N), (f m) ((CliffordAlgebra.ι Q) m * x, (f m) (x, fx)) = Q m • fx) (n : N) (m : M)
Goal: (CliffordAlgebra.foldr' Q f hf n) ((CliffordAlgebra.ι Q) m) = (f m) (1, n)
-- CliffordAlgebra.foldr'_ι_mul
theorem foldr'_ι_mul (f : M →ₗ[R] CliffordAlgebra Q × N →ₗ[R] N)
    (hf : ∀ m x fx, f m (ι Q m * x, f m (x, fx)) = Q m • fx) (n m) (x) :
    foldr' Q f hf n (ι Q m * x) = f m (x, foldr' Q f hf n x) 
Arguments: {R : Type u_1} {M : Type u_2} {N : Type u_3} [CommRing R] [AddCommGroup M] [AddCommGroup N] [Module R M] [Module R N] (Q : QuadraticForm R M) (f : M →ₗ[R] CliffordAlgebra Q × N →ₗ[R] N) (hf : ∀ (m : M) (x : CliffordAlgebra Q) (fx : N), (f m) ((CliffordAlgebra.ι Q) m * x, (f m) (x, fx)) = Q m • fx) (n : N) (m : M) (x : CliffordAlgebra Q)
Goal: (CliffordAlgebra.foldr' Q f hf n) ((CliffordAlgebra.ι Q) m * x) = (f m) (x, (CliffordAlgebra.foldr' Q f hf n) x)
-- LinearMap.mk₂'ₛₗ_apply
@[simp]
theorem mk₂'ₛₗ_apply (f : M → N → P) {H1 H2 H3 H4} (m : M) (n : N) :
    (mk₂'ₛₗ ρ₁₂ σ₁₂ f H1 H2 H3 H4 : M →ₛₗ[ρ₁₂] N →ₛₗ[σ₁₂] P) m n = f m n 
Arguments: {R : Type u_1} [Semiring R] {S : Type u_2} [Semiring S] {R₂ : Type u_3} [Semiring R₂] {S₂ : Type u_4} [Semiring S₂] {M : Type u_5} {N : Type u_6} {P : Type u_7} [AddCommMonoid M] [AddCommMonoid N] [AddCommMonoid P] [Module R M] [Module S N] [Module R₂ P] [Module S₂ P] [SMulCommClass S₂ R₂ P] {ρ₁₂ : R →+* R₂} {σ₁₂ : S →+* S₂} (f : M → N → P) {H1 : ∀ (m₁ m₂ : M) (n : N), f (m₁ + m₂) n = f m₁ n + f m₂ n} {H2 : ∀ (c : R) (m : M) (n : N), f (c • m) n = ρ₁₂ c • f m n} {H3 : ∀ (m : M) (n₁ n₂ : N), f m (n₁ + n₂) = f m n₁ + f m n₂} {H4 : ∀ (c : S) (m : M) (n : N), f m (c • n) = σ₁₂ c • f m n} (m : M) (n : N)
Goal: ((LinearMap.mk₂'ₛₗ ρ₁₂ σ₁₂ f H1 H2 H3 H4) m) n = f m n
-- LinearMap.mk₂'_apply
@[simp]
theorem mk₂'_apply (f : M → N → Pₗ) {H1 H2 H3 H4} (m : M) (n : N) :
    (mk₂' R S f H1 H2 H3 H4 : M →ₗ[R] N →ₗ[S] Pₗ) m n = f m n 
Arguments: {R : Type u_1} [Semiring R] {S : Type u_2} [Semiring S] {M : Type u_5} {N : Type u_6} {Pₗ : Type u_12} [AddCommMonoid M] [AddCommMonoid N] [AddCommMonoid Pₗ] [Module R M] [Module S N] [Module R Pₗ] [Module S Pₗ] [SMulCommClass S R Pₗ] (f : M → N → Pₗ) {H1 : ∀ (m₁ m₂ : M) (n : N), f (m₁ + m₂) n = f m₁ n + f m₂ n} {H2 : ∀ (c : R) (m : M) (n : N), f (c • m) n = c • f m n} {H3 : ∀ (m : M) (n₁ n₂ : N), f m (n₁ + n₂) = f m n₁ + f m n₂} {H4 : ∀ (c : S) (m : M) (n : N), f m (c • n) = c • f m n} (m : M) (n : N)
Goal: ((LinearMap.mk₂' R S f H1 H2 H3 H4) m) n = f m n
-- LinearMap.ext₂
theorem ext₂ {f g : M →ₛₗ[ρ₁₂] N →ₛₗ[σ₁₂] P} (H : ∀ m n, f m n = g m n) : f = g 
Arguments: {R : Type u_1} [Semiring R] {S : Type u_2} [Semiring S] {R₂ : Type u_3} [Semiring R₂] {S₂ : Type u_4} [Semiring S₂] {M : Type u_5} {N : Type u_6} {P : Type u_7} [AddCommMonoid M] [AddCommMonoid N] [AddCommMonoid P] [Module R M] [Module S N] [Module R₂ P] [Module S₂ P] [SMulCommClass S₂ R₂ P] {ρ₁₂ : R →+* R₂} {σ₁₂ : S →+* S₂} {f g : M →ₛₗ[ρ₁₂] N →ₛₗ[σ₁₂] P} (H : ∀ (m : M) (n : N), (f m) n = (g m) n)
Goal: f = g
-- LinearMap.congr_fun₂
theorem congr_fun₂ {f g : M →ₛₗ[ρ₁₂] N →ₛₗ[σ₁₂] P} (h : f = g) (x y) : f x y = g x y 
Arguments: {R : Type u_1} [Semiring R] {S : Type u_2} [Semiring S] {R₂ : Type u_3} [Semiring R₂] {S₂ : Type u_4} [Semiring S₂] {M : Type u_5} {N : Type u_6} {P : Type u_7} [AddCommMonoid M] [AddCommMonoid N] [AddCommMonoid P] [Module R M] [Module S N] [Module R₂ P] [Module S₂ P] [SMulCommClass S₂ R₂ P] {ρ₁₂ : R →+* R₂} {σ₁₂ : S →+* S₂} {f g : M →ₛₗ[ρ₁₂] N →ₛₗ[σ₁₂] P} (h : f = g) (x : M) (y : N)
Goal: (f x) y = (g x) y
-- LinearMap.ext_iff₂
theorem ext_iff₂ {f g : M →ₛₗ[ρ₁₂] N →ₛₗ[σ₁₂] P} : f = g ↔ ∀ m n, f m n = g m n 
Arguments: {R : Type u_1} [Semiring R] {S : Type u_2} [Semiring S] {R₂ : Type u_3} [Semiring R₂] {S₂ : Type u_4} [Semiring S₂] {M : Type u_5} {N : Type u_6} {P : Type u_7} [AddCommMonoid M] [AddCommMonoid N] [AddCommMonoid P] [Module R M] [Module S N] [Module R₂ P] [Module S₂ P] [SMulCommClass S₂ R₂ P] {ρ₁₂ : R →+* R₂} {σ₁₂ : S →+* S₂} {f g : M →ₛₗ[ρ₁₂] N →ₛₗ[σ₁₂] P}
Goal: f = g ↔ ∀ (m : M) (n : N), (f m) n = (g m) n
-- LinearMap.flip_apply
@[simp]
theorem flip_apply (f : M →ₛₗ[ρ₁₂] N →ₛₗ[σ₁₂] P) (m : M) (n : N) : flip f n m = f m n 
Arguments: {R : Type u_1} [Semiring R] {S : Type u_2} [Semiring S] {R₂ : Type u_3} [Semiring R₂] {S₂ : Type u_4} [Semiring S₂] {M : Type u_5} {N : Type u_6} {P : Type u_7} [AddCommMonoid M] [AddCommMonoid N] [AddCommMonoid P] [Module R M] [Module S N] [Module R₂ P] [Module S₂ P] [SMulCommClass S₂ R₂ P] {ρ₁₂ : R →+* R₂} {σ₁₂ : S →+* S₂} (f : M →ₛₗ[ρ₁₂] N →ₛₗ[σ₁₂] P) (m : M) (n : N)
Goal: (f.flip n) m = (f m) n
-- LinearMap.flip_flip
@[simp]
theorem flip_flip (f : M →ₛₗ[ρ₁₂] N →ₛₗ[σ₁₂] P) : f.flip.flip = f 
Arguments: {R : Type u_1} [Semiring R] {S : Type u_2} [Semiring S] {R₂ : Type u_3} [Semiring R₂] {S₂ : Type u_4} [Semiring S₂] {M : Type u_5} {N : Type u_6} {P : Type u_7} [AddCommMonoid M] [AddCommMonoid N] [AddCommMonoid P] [Module R M] [Module S N] [Module R₂ P] [Module S₂ P] [SMulCommClass S₂ R₂ P] {ρ₁₂ : R →+* R₂} {σ₁₂ : S →+* S₂} (f : M →ₛₗ[ρ₁₂] N →ₛₗ[σ₁₂] P)
Goal: f.flip.flip = f
-- LinearMap.flip_inj
theorem flip_inj {f g : M →ₛₗ[ρ₁₂] N →ₛₗ[σ₁₂] P} (H : flip f = flip g) : f = g 
Arguments: {R : Type u_1} [Semiring R] {S : Type u_2} [Semiring S] {R₂ : Type u_3} [Semiring R₂] {S₂ : Type u_4} [Semiring S₂] {M : Type u_5} {N : Type u_6} {P : Type u_7} [AddCommMonoid M] [AddCommMonoid N] [AddCommMonoid P] [Module R M] [Module S N] [Module R₂ P] [Module S₂ P] [SMulCommClass S₂ R₂ P] {ρ₁₂ : R →+* R₂} {σ₁₂ : S →+* S₂} {f g : M →ₛₗ[ρ₁₂] N →ₛₗ[σ₁₂] P} (H : f.flip = g.flip)
Goal: f = g
-- LinearMap.map_zero₂
theorem map_zero₂ (f : M →ₛₗ[ρ₁₂] N →ₛₗ[σ₁₂] P) (y) : f 0 y = 0 
Arguments: {R : Type u_1} [Semiring R] {S : Type u_2} [Semiring S] {R₂ : Type u_3} [Semiring R₂] {S₂ : Type u_4} [Semiring S₂] {M : Type u_5} {N : Type u_6} {P : Type u_7} [AddCommMonoid M] [AddCommMonoid N] [AddCommMonoid P] [Module R M] [Module S N] [Module R₂ P] [Module S₂ P] [SMulCommClass S₂ R₂ P] {ρ₁₂ : R →+* R₂} {σ₁₂ : S →+* S₂} (f : M →ₛₗ[ρ₁₂] N →ₛₗ[σ₁₂] P) (y : N)
Goal: (f 0) y = 0
-- LinearMap.map_neg₂
theorem map_neg₂ (f : M' →ₛₗ[ρ₁₂] N →ₛₗ[σ₁₂] P') (x y) : f (-x) y = -f x y 
Arguments: {R : Type u_1} [Semiring R] {S : Type u_2} [Semiring S] {R₂ : Type u_3} [Semiring R₂] {S₂ : Type u_4} [Semiring S₂] {N : Type u_6} {M' : Type u_13} {P' : Type u_15} [AddCommMonoid N] [AddCommGroup M'] [AddCommGroup P'] [Module S N] [Module R M'] [Module R₂ P'] [Module S₂ P'] [SMulCommClass S₂ R₂ P'] {ρ₁₂ : R →+* R₂} {σ₁₂ : S →+* S₂} (f : M' →ₛₗ[ρ₁₂] N →ₛₗ[σ₁₂] P') (x : M') (y : N)
Goal: (f (-x)) y = -(f x) y
-- LinearMap.map_sub₂
theorem map_sub₂ (f : M' →ₛₗ[ρ₁₂] N →ₛₗ[σ₁₂] P') (x y z) : f (x - y) z = f x z - f y z 
Arguments: {R : Type u_1} [Semiring R] {S : Type u_2} [Semiring S] {R₂ : Type u_3} [Semiring R₂] {S₂ : Type u_4} [Semiring S₂] {N : Type u_6} {M' : Type u_13} {P' : Type u_15} [AddCommMonoid N] [AddCommGroup M'] [AddCommGroup P'] [Module S N] [Module R M'] [Module R₂ P'] [Module S₂ P'] [SMulCommClass S₂ R₂ P'] {ρ₁₂ : R →+* R₂} {σ₁₂ : S →+* S₂} (f : M' →ₛₗ[ρ₁₂] N →ₛₗ[σ₁₂] P') (x y : M') (z : N)
Goal: (f (x - y)) z = (f x) z - (f y) z
-- LinearMap.map_add₂
theorem map_add₂ (f : M →ₛₗ[ρ₁₂] N →ₛₗ[σ₁₂] P) (x₁ x₂ y) : f (x₁ + x₂) y = f x₁ y + f x₂ y 
Arguments: {R : Type u_1} [Semiring R] {S : Type u_2} [Semiring S] {R₂ : Type u_3} [Semiring R₂] {S₂ : Type u_4} [Semiring S₂] {M : Type u_5} {N : Type u_6} {P : Type u_7} [AddCommMonoid M] [AddCommMonoid N] [AddCommMonoid P] [Module R M] [Module S N] [Module R₂ P] [Module S₂ P] [SMulCommClass S₂ R₂ P] {ρ₁₂ : R →+* R₂} {σ₁₂ : S →+* S₂} (f : M →ₛₗ[ρ₁₂] N →ₛₗ[σ₁₂] P) (x₁ x₂ : M) (y : N)
Goal: (f (x₁ + x₂)) y = (f x₁) y + (f x₂) y
-- LinearMap.map_smul₂
theorem map_smul₂ (f : M₂ →ₗ[R] N₂ →ₛₗ[σ₁₂] P₂) (r : R) (x y) : f (r • x) y = r • f x y 
Arguments: {R : Type u_1} [Semiring R] {S : Type u_2} [Semiring S] {S₂ : Type u_4} [Semiring S₂] {M₂ : Type u_8} {N₂ : Type u_9} {P₂ : Type u_10} [AddCommMonoid M₂] [AddCommMonoid N₂] [AddCommMonoid P₂] [Module R M₂] [Module S N₂] [Module R P₂] [Module S₂ P₂] [SMulCommClass S₂ R P₂] {σ₁₂ : S →+* S₂} (f : M₂ →ₗ[R] N₂ →ₛₗ[σ₁₂] P₂) (r : R) (x : M₂) (y : N₂)
Goal: (f (r • x)) y = r • (f x) y
-- LinearMap.map_smulₛₗ₂
theorem map_smulₛₗ₂ (f : M →ₛₗ[ρ₁₂] N →ₛₗ[σ₁₂] P) (r : R) (x y) : f (r • x) y = ρ₁₂ r • f x y 
Arguments: {R : Type u_1} [Semiring R] {S : Type u_2} [Semiring S] {R₂ : Type u_3} [Semiring R₂] {S₂ : Type u_4} [Semiring S₂] {M : Type u_5} {N : Type u_6} {P : Type u_7} [AddCommMonoid M] [AddCommMonoid N] [AddCommMonoid P] [Module R M] [Module S N] [Module R₂ P] [Module S₂ P] [SMulCommClass S₂ R₂ P] {ρ₁₂ : R →+* R₂} {σ₁₂ : S →+* S₂} (f : M →ₛₗ[ρ₁₂] N →ₛₗ[σ₁₂] P) (r : R) (x : M) (y : N)
Goal: (f (r • x)) y = ρ₁₂ r • (f x) y
-- LinearMap.map_sum₂
theorem map_sum₂ {ι : Type*} (f : M →ₛₗ[ρ₁₂] N →ₛₗ[σ₁₂] P) (t : Finset ι) (x : ι → M) (y) :
    f (∑ i ∈ t, x i) y = ∑ i ∈ t, f (x i) y 
Arguments: {R : Type u_1} [Semiring R] {S : Type u_2} [Semiring S] {R₂ : Type u_3} [Semiring R₂] {S₂ : Type u_4} [Semiring S₂] {M : Type u_5} {N : Type u_6} {P : Type u_7} [AddCommMonoid M] [AddCommMonoid N] [AddCommMonoid P] [Module R M] [Module S N] [Module R₂ P] [Module S₂ P] [SMulCommClass S₂ R₂ P] {ρ₁₂ : R →+* R₂} {σ₁₂ : S →+* S₂} {ι : Type u_16} (f : M →ₛₗ[ρ₁₂] N →ₛₗ[σ₁₂] P) (t : Finset ι) (x : ι → M) (y : N)
Goal: (f (∑ i ∈ t, x i)) y = ∑ i ∈ t, (f (x i)) y
-- LinearMap.domRestrict₂_apply
theorem domRestrict₂_apply (f : M →ₛₗ[ρ₁₂] N →ₛₗ[σ₁₂] P) (q : Submodule S N) (x : M) (y : q) :
    f.domRestrict₂ q x y = f x y 
Arguments: {R : Type u_1} [Semiring R] {S : Type u_2} [Semiring S] {R₂ : Type u_3} [Semiring R₂] {S₂ : Type u_4} [Semiring S₂] {M : Type u_5} {N : Type u_6} {P : Type u_7} [AddCommMonoid M] [AddCommMonoid N] [AddCommMonoid P] [Module R M] [Module S N] [Module R₂ P] [Module S₂ P] [SMulCommClass S₂ R₂ P] {ρ₁₂ : R →+* R₂} {σ₁₂ : S →+* S₂} (f : M →ₛₗ[ρ₁₂] N →ₛₗ[σ₁₂] P) (q : Submodule S N) (x : M) (y : ↥q)
Goal: ((f.domRestrict₂ q) x) y = (f x) ↑y
-- LinearMap.domRestrict₁₂_apply
theorem domRestrict₁₂_apply (f : M →ₛₗ[ρ₁₂] N →ₛₗ[σ₁₂] P) (p : Submodule R M) (q : Submodule S N)
    (x : p) (y : q) : f.domRestrict₁₂ p q x y = f x y 
Arguments: {R : Type u_1} [Semiring R] {S : Type u_2} [Semiring S] {R₂ : Type u_3} [Semiring R₂] {S₂ : Type u_4} [Semiring S₂] {M : Type u_5} {N : Type u_6} {P : Type u_7} [AddCommMonoid M] [AddCommMonoid N] [AddCommMonoid P] [Module R M] [Module S N] [Module R₂ P] [Module S₂ P] [SMulCommClass S₂ R₂ P] {ρ₁₂ : R →+* R₂} {σ₁₂ : S →+* S₂} (f : M →ₛₗ[ρ₁₂] N →ₛₗ[σ₁₂] P) (p : Submodule R M) (q : Submodule S N) (x : ↥p) (y : ↥q)
Goal: ((f.domRestrict₁₂ p q) x) y = (f ↑x) ↑y
-- LinearMap.restrictScalars₁₂_apply_apply
@[simps!]
def restrictScalars₁₂ (B : M →ₗ[R] N →ₗ[S] Pₗ) : M →ₗ[R'] N →ₗ[S'] Pₗ 
Arguments: {R : Type u_1} [Semiring R] {S : Type u_2} [Semiring S] {M : Type u_5} {N : Type u_6} {Pₗ : Type u_12} [AddCommMonoid M] [AddCommMonoid N] [AddCommMonoid Pₗ] [Module R M] [Module S N] [Module R Pₗ] [Module S Pₗ] [SMulCommClass S R Pₗ] (R' : Type u_16) (S' : Type u_17) [Semiring R'] [Semiring S'] [Module R' M] [Module S' N] [Module R' Pₗ] [Module S' Pₗ] [SMulCommClass S' R' Pₗ] [SMul S' S] [IsScalarTower S' S N] [IsScalarTower S' S Pₗ] [SMul R' R] [IsScalarTower R' R M] [IsScalarTower R' R Pₗ] (B : M →ₗ[R] N →ₗ[S] Pₗ) (m : M)
Goal: ∀ (x : N), ((LinearMap.restrictScalars₁₂ R' S' B) m) x = (B m) x
-- LinearMap.restrictScalars₁₂_injective
theorem restrictScalars₁₂_injective : Function.Injective
    (LinearMap.restrictScalars₁₂ R' S' : (M →ₗ[R] N →ₗ[S] Pₗ) → (M →ₗ[R'] N →ₗ[S'] Pₗ)) 
Arguments: {R : Type u_1} [Semiring R] {S : Type u_2} [Semiring S] {M : Type u_5} {N : Type u_6} {Pₗ : Type u_12} [AddCommMonoid M] [AddCommMonoid N] [AddCommMonoid Pₗ] [Module R M] [Module S N] [Module R Pₗ] [Module S Pₗ] [SMulCommClass S R Pₗ] (R' : Type u_16) (S' : Type u_17) [Semiring R'] [Semiring S'] [Module R' M] [Module S' N] [Module R' Pₗ] [Module S' Pₗ] [SMulCommClass S' R' Pₗ] [SMul S' S] [IsScalarTower S' S N] [IsScalarTower S' S Pₗ] [SMul R' R] [IsScalarTower R' R M] [IsScalarTower R' R Pₗ]
Goal: Function.Injective (LinearMap.restrictScalars₁₂ R' S')
-- LinearMap.restrictScalars₁₂_inj
@[simp]
theorem restrictScalars₁₂_inj {B B' : M →ₗ[R] N →ₗ[S] Pₗ} :
    B.restrictScalars₁₂ R' S' = B'.restrictScalars₁₂ R' S' ↔ B = B' 
Arguments: {R : Type u_1} [Semiring R] {S : Type u_2} [Semiring S] {M : Type u_5} {N : Type u_6} {Pₗ : Type u_12} [AddCommMonoid M] [AddCommMonoid N] [AddCommMonoid Pₗ] [Module R M] [Module S N] [Module R Pₗ] [Module S Pₗ] [SMulCommClass S R Pₗ] (R' : Type u_16) (S' : Type u_17) [Semiring R'] [Semiring S'] [Module R' M] [Module S' N] [Module R' Pₗ] [Module S' Pₗ] [SMulCommClass S' R' Pₗ] [SMul S' S] [IsScalarTower S' S N] [IsScalarTower S' S Pₗ] [SMul R' R] [IsScalarTower R' R M] [IsScalarTower R' R Pₗ] {B B' : M →ₗ[R] N →ₗ[S] Pₗ}
Goal: LinearMap.restrictScalars₁₂ R' S' B = LinearMap.restrictScalars₁₂ R' S' B' ↔ B = B'
-- LinearMap.mk₂_apply
@[simp]
theorem mk₂_apply (f : M → Nₗ → Pₗ) {H1 H2 H3 H4} (m : M) (n : Nₗ) :
    (mk₂ R f H1 H2 H3 H4 : M →ₗ[R] Nₗ →ₗ[R] Pₗ) m n = f m n 
Arguments: (R : Type u_1) [CommSemiring R] {M : Type u_5} {Nₗ : Type u_10} {Pₗ : Type u_11} [AddCommMonoid M] [AddCommMonoid Nₗ] [AddCommMonoid Pₗ] [Module R M] [Module R Nₗ] [Module R Pₗ] (f : M → Nₗ → Pₗ) {H1 : ∀ (m₁ m₂ : M) (n : Nₗ), f (m₁ + m₂) n = f m₁ n + f m₂ n} {H2 : ∀ (c : R) (m : M) (n : Nₗ), f (c • m) n = c • f m n} {H3 : ∀ (m : M) (n₁ n₂ : Nₗ), f m (n₁ + n₂) = f m n₁ + f m n₂} {H4 : ∀ (c : R) (m : M) (n : Nₗ), f m (c • n) = c • f m n} (m : M) (n : Nₗ)
Goal: ((LinearMap.mk₂ R f H1 H2 H3 H4) m) n = f m n
-- LinearMap.lflip_apply
@[simp]
theorem lflip_apply (m : M) (n : N) : lflip f n m = f m n 
Arguments: {R : Type u_1} [CommSemiring R] {R₂ : Type u_2} [CommSemiring R₂] {R₃ : Type u_3} [CommSemiring R₃] {M : Type u_5} {N : Type u_6} {P : Type u_7} [AddCommMonoid M] [AddCommMonoid N] [AddCommMonoid P] [Module R M] [Module R₂ N] [Module R₃ P] {σ₂₃ : R₂ →+* R₃} {σ₁₃ : R →+* R₃} (f : M →ₛₗ[σ₁₃] N →ₛₗ[σ₂₃] P) (m : M) (n : N)
Goal: ((LinearMap.lflip f) n) m = (f m) n
-- LinearMap.lcomp_apply
@[simp]
theorem lcomp_apply (f : M →ₗ[R] Nₗ) (g : Nₗ →ₗ[R] Pₗ) (x : M) : lcomp _ _ f g x = g (f x) 
Arguments: {R : Type u_1} [CommSemiring R] {M : Type u_5} {Nₗ : Type u_10} {Pₗ : Type u_11} [AddCommMonoid M] [AddCommMonoid Nₗ] [AddCommMonoid Pₗ] [Module R M] [Module R Nₗ] [Module R Pₗ] (f : M →ₗ[R] Nₗ) (g : Nₗ →ₗ[R] Pₗ) (x : M)
Goal: ((LinearMap.lcomp R Pₗ f) g) x = g (f x)
-- LinearMap.lcomp_apply'
theorem lcomp_apply' (f : M →ₗ[R] Nₗ) (g : Nₗ →ₗ[R] Pₗ) : lcomp R Pₗ f g = g ∘ₗ f 
Arguments: {R : Type u_1} [CommSemiring R] {M : Type u_5} {Nₗ : Type u_10} {Pₗ : Type u_11} [AddCommMonoid M] [AddCommMonoid Nₗ] [AddCommMonoid Pₗ] [Module R M] [Module R Nₗ] [Module R Pₗ] (f : M →ₗ[R] Nₗ) (g : Nₗ →ₗ[R] Pₗ)
Goal: (LinearMap.lcomp R Pₗ f) g = g ∘ₗ f
-- LinearMap.lcompₛₗ_apply
@[simp]
theorem lcompₛₗ_apply (f : M →ₛₗ[σ₁₂] N) (g : N →ₛₗ[σ₂₃] P) (x : M) :
    lcompₛₗ P σ₂₃ f g x = g (f x) 
Arguments: {R : Type u_1} [CommSemiring R] {R₂ : Type u_2} [CommSemiring R₂] {R₃ : Type u_3} [CommSemiring R₃] {M : Type u_5} {N : Type u_6} {P : Type u_7} [AddCommMonoid M] [AddCommMonoid N] [AddCommMonoid P] [Module R M] [Module R₂ N] [Module R₃ P] {σ₁₂ : R →+* R₂} {σ₂₃ : R₂ →+* R₃} {σ₁₃ : R →+* R₃} [RingHomCompTriple σ₁₂ σ₂₃ σ₁₃] (f : M →ₛₗ[σ₁₂] N) (g : N →ₛₗ[σ₂₃] P) (x : M)
Goal: ((LinearMap.lcompₛₗ P σ₂₃ f) g) x = g (f x)
-- LinearMap.llcomp_apply
@[simp]
theorem llcomp_apply (f : Nₗ →ₗ[R] Pₗ) (g : M →ₗ[R] Nₗ) (x : M) :
    llcomp R M Nₗ Pₗ f g x = f (g x) 
Arguments: {R : Type u_1} [CommSemiring R] {M : Type u_5} {Nₗ : Type u_10} {Pₗ : Type u_11} [AddCommMonoid M] [AddCommMonoid Nₗ] [AddCommMonoid Pₗ] [Module R M] [Module R Nₗ] [Module R Pₗ] (f : Nₗ →ₗ[R] Pₗ) (g : M →ₗ[R] Nₗ) (x : M)
Goal: (((LinearMap.llcomp R M Nₗ Pₗ) f) g) x = f (g x)
-- LinearMap.llcomp_apply'
theorem llcomp_apply' (f : Nₗ →ₗ[R] Pₗ) (g : M →ₗ[R] Nₗ) : llcomp R M Nₗ Pₗ f g = f ∘ₗ g 
Arguments: {R : Type u_1} [CommSemiring R] {M : Type u_5} {Nₗ : Type u_10} {Pₗ : Type u_11} [AddCommMonoid M] [AddCommMonoid Nₗ] [AddCommMonoid Pₗ] [Module R M] [Module R Nₗ] [Module R Pₗ] (f : Nₗ →ₗ[R] Pₗ) (g : M →ₗ[R] Nₗ)
Goal: ((LinearMap.llcomp R M Nₗ Pₗ) f) g = f ∘ₗ g
-- LinearMap.compl₂_apply
@[simp]
theorem compl₂_apply (g : Q →ₛₗ[σ₄₂] N) (m : M) (q : Q) : f.compl₂ g m q = f m (g q) 
Arguments: {R : Type u_1} [CommSemiring R] {R₂ : Type u_2} [CommSemiring R₂] {R₃ : Type u_3} [CommSemiring R₃] {R₄ : Type u_4} [CommSemiring R₄] {M : Type u_5} {N : Type u_6} {P : Type u_7} {Q : Type u_8} [AddCommMonoid M] [AddCommMonoid N] [AddCommMonoid P] [AddCommMonoid Q] [Module R M] [Module R₂ N] [Module R₃ P] [Module R₄ Q] {σ₂₃ : R₂ →+* R₃} {σ₁₃ : R →+* R₃} {σ₄₂ : R₄ →+* R₂} {σ₄₃ : R₄ →+* R₃} [RingHomCompTriple σ₄₂ σ₂₃ σ₄₃] (f : M →ₛₗ[σ₁₃] N →ₛₗ[σ₂₃] P) (g : Q →ₛₗ[σ₄₂] N) (m : M) (q : Q)
Goal: ((f.compl₂ g) m) q = (f m) (g q)
-- LinearMap.compl₂_id
@[simp]
theorem compl₂_id : f.compl₂ LinearMap.id = f 
Arguments: {R : Type u_1} [CommSemiring R] {R₂ : Type u_2} [CommSemiring R₂] {R₃ : Type u_3} [CommSemiring R₃] {M : Type u_5} {N : Type u_6} {P : Type u_7} [AddCommMonoid M] [AddCommMonoid N] [AddCommMonoid P] [Module R M] [Module R₂ N] [Module R₃ P] {σ₂₃ : R₂ →+* R₃} {σ₁₃ : R →+* R₃} (f : M →ₛₗ[σ₁₃] N →ₛₗ[σ₂₃] P)
Goal: f.compl₂ LinearMap.id = f
-- LinearMap.compl₁₂_apply
@[simp]
theorem compl₁₂_apply (f : Mₗ →ₗ[R] Nₗ →ₗ[R] Pₗ) (g : Qₗ →ₗ[R] Mₗ) (g' : Qₗ' →ₗ[R] Nₗ) (x : Qₗ)
    (y : Qₗ') : f.compl₁₂ g g' x y = f (g x) (g' y) 
Arguments: {R : Type u_1} [CommSemiring R] {Mₗ : Type u_9} {Nₗ : Type u_10} {Pₗ : Type u_11} {Qₗ : Type u_12} {Qₗ' : Type u_13} [AddCommMonoid Mₗ] [AddCommMonoid Nₗ] [AddCommMonoid Pₗ] [AddCommMonoid Qₗ] [AddCommMonoid Qₗ'] [Module R Mₗ] [Module R Nₗ] [Module R Pₗ] [Module R Qₗ] [Module R Qₗ'] (f : Mₗ →ₗ[R] Nₗ →ₗ[R] Pₗ) (g : Qₗ →ₗ[R] Mₗ) (g' : Qₗ' →ₗ[R] Nₗ) (x : Qₗ) (y : Qₗ')
Goal: ((f.compl₁₂ g g') x) y = (f (g x)) (g' y)
-- LinearMap.compl₁₂_id_id
@[simp]
theorem compl₁₂_id_id (f : Mₗ →ₗ[R] Nₗ →ₗ[R] Pₗ) : f.compl₁₂ LinearMap.id LinearMap.id = f 
Arguments: {R : Type u_1} [CommSemiring R] {Mₗ : Type u_9} {Nₗ : Type u_10} {Pₗ : Type u_11} [AddCommMonoid Mₗ] [AddCommMonoid Nₗ] [AddCommMonoid Pₗ] [Module R Mₗ] [Module R Nₗ] [Module R Pₗ] (f : Mₗ →ₗ[R] Nₗ →ₗ[R] Pₗ)
Goal: f.compl₁₂ LinearMap.id LinearMap.id = f
-- LinearMap.compl₁₂_inj
theorem compl₁₂_inj {f₁ f₂ : Mₗ →ₗ[R] Nₗ →ₗ[R] Pₗ} {g : Qₗ →ₗ[R] Mₗ} {g' : Qₗ' →ₗ[R] Nₗ}
    (hₗ : Function.Surjective g) (hᵣ : Function.Surjective g') :
    f₁.compl₁₂ g g' = f₂.compl₁₂ g g' ↔ f₁ = f₂ 
Arguments: {R : Type u_1} [CommSemiring R] {Mₗ : Type u_9} {Nₗ : Type u_10} {Pₗ : Type u_11} {Qₗ : Type u_12} {Qₗ' : Type u_13} [AddCommMonoid Mₗ] [AddCommMonoid Nₗ] [AddCommMonoid Pₗ] [AddCommMonoid Qₗ] [AddCommMonoid Qₗ'] [Module R Mₗ] [Module R Nₗ] [Module R Pₗ] [Module R Qₗ] [Module R Qₗ'] {f₁ f₂ : Mₗ →ₗ[R] Nₗ →ₗ[R] Pₗ} {g : Qₗ →ₗ[R] Mₗ} {g' : Qₗ' →ₗ[R] Nₗ} (hₗ : Function.Surjective ⇑g) (hᵣ : Function.Surjective ⇑g')
Goal: f₁.compl₁₂ g g' = f₂.compl₁₂ g g' ↔ f₁ = f₂
-- LinearMap.compr₂_apply
@[simp]
theorem compr₂_apply (f : M →ₗ[R] Nₗ →ₗ[R] Pₗ) (g : Pₗ →ₗ[R] Qₗ) (m : M) (n : Nₗ) :
    f.compr₂ g m n = g (f m n) 
Arguments: {R : Type u_1} [CommSemiring R] {M : Type u_5} {Nₗ : Type u_10} {Pₗ : Type u_11} {Qₗ : Type u_12} [AddCommMonoid M] [AddCommMonoid Nₗ] [AddCommMonoid Pₗ] [AddCommMonoid Qₗ] [Module R M] [Module R Nₗ] [Module R Pₗ] [Module R Qₗ] (f : M →ₗ[R] Nₗ →ₗ[R] Pₗ) (g : Pₗ →ₗ[R] Qₗ) (m : M) (n : Nₗ)
Goal: ((f.compr₂ g) m) n = g ((f m) n)
-- LinearMap.lsmul_eq_DistribMulAction_toLinearMap
lemma lsmul_eq_DistribMulAction_toLinearMap (r : R) :
    lsmul R M r = DistribMulAction.toLinearMap R M r 
Arguments: {R : Type u_1} [CommSemiring R] (M : Type u_5) [AddCommMonoid M] [Module R M] (r : R)
Goal: (LinearMap.lsmul R M) r = DistribMulAction.toLinearMap R M r
-- LinearMap.lsmul_apply
@[simp]
theorem lsmul_apply (r : R) (m : M) : lsmul R M r m = r • m 
Arguments: {R : Type u_1} [CommSemiring R] {M : Type u_5} [AddCommMonoid M] [Module R M] (r : R) (m : M)
Goal: ((LinearMap.lsmul R M) r) m = r • m
-- LinearMap.lsmul_injective
theorem lsmul_injective [NoZeroSMulDivisors R M] {x : R} (hx : x ≠ 0) :
    Function.Injective (lsmul R M x) 
Arguments: {R : Type u_1} {M : Type u_5} [CommRing R] [AddCommGroup M] [Module R M] [NoZeroSMulDivisors R M] {x : R} (hx : x ≠ 0)
Goal: Function.Injective ⇑((LinearMap.lsmul R M) x)
-- LinearMap.ker_lsmul
theorem ker_lsmul [NoZeroSMulDivisors R M] {a : R} (ha : a ≠ 0) :
    LinearMap.ker (LinearMap.lsmul R M a) = ⊥ 
Arguments: {R : Type u_1} {M : Type u_5} [CommRing R] [AddCommGroup M] [Module R M] [NoZeroSMulDivisors R M] {a : R} (ha : a ≠ 0)
Goal: LinearMap.ker ((LinearMap.lsmul R M) a) = ⊥
-- LinearMap.traceAux_def
theorem traceAux_def (b : Basis ι R M) (f : M →ₗ[R] M) :
    traceAux R b f = Matrix.trace (LinearMap.toMatrix b b f) 
Arguments: (R : Type u) [CommSemiring R] {M : Type v} [AddCommMonoid M] [Module R M] {ι : Type w} [DecidableEq ι] [Fintype ι] (b : Basis ι R M) (f : M →ₗ[R] M)
Goal: (LinearMap.traceAux R b) f = ((LinearMap.toMatrix b b) f).trace
-- LinearMap.traceAux_eq
theorem traceAux_eq : traceAux R b = traceAux R c 
Arguments: (R : Type u) [CommSemiring R] {M : Type v} [AddCommMonoid M] [Module R M] {ι : Type w} [DecidableEq ι] [Fintype ι] {κ : Type u_1} [DecidableEq κ] [Fintype κ] (b : Basis ι R M) (c : Basis κ R M)
Goal: LinearMap.traceAux R b = LinearMap.traceAux R c
-- LinearMap.trace_eq_matrix_trace_of_finset
theorem trace_eq_matrix_trace_of_finset {s : Finset M} (b : Basis s R M) (f : M →ₗ[R] M) :
    trace R M f = Matrix.trace (LinearMap.toMatrix b b f) 
Arguments: (R : Type u) [CommSemiring R] {M : Type v} [AddCommMonoid M] [Module R M] {s : Finset M} (b : Basis { x // x ∈ s } R M) (f : M →ₗ[R] M)
Goal: (LinearMap.trace R M) f = ((LinearMap.toMatrix b b) f).trace
-- LinearMap.trace_eq_matrix_trace
theorem trace_eq_matrix_trace (f : M →ₗ[R] M) :
    trace R M f = Matrix.trace (LinearMap.toMatrix b b f) 
Arguments: (R : Type u) [CommSemiring R] {M : Type v} [AddCommMonoid M] [Module R M] {ι : Type w} [DecidableEq ι] [Fintype ι] (b : Basis ι R M) (f : M →ₗ[R] M)
Goal: (LinearMap.trace R M) f = ((LinearMap.toMatrix b b) f).trace
-- LinearMap.trace_mul_comm
theorem trace_mul_comm (f g : M →ₗ[R] M) : trace R M (f * g) = trace R M (g * f) 
Arguments: (R : Type u) [CommSemiring R] {M : Type v} [AddCommMonoid M] [Module R M] (f g : M →ₗ[R] M)
Goal: (LinearMap.trace R M) (f * g) = (LinearMap.trace R M) (g * f)
-- LinearMap.trace_mul_cycle
lemma trace_mul_cycle (f g h : M →ₗ[R] M) :
    trace R M (f * g * h) = trace R M (h * f * g) 
Arguments: (R : Type u) [CommSemiring R] {M : Type v} [AddCommMonoid M] [Module R M] (f g h : M →ₗ[R] M)
Goal: (LinearMap.trace R M) (f * g * h) = (LinearMap.trace R M) (h * f * g)
-- LinearMap.trace_mul_cycle'
lemma trace_mul_cycle' (f g h : M →ₗ[R] M) :
    trace R M (f * (g * h)) = trace R M (h * (f * g)) 
Arguments: (R : Type u) [CommSemiring R] {M : Type v} [AddCommMonoid M] [Module R M] (f g h : M →ₗ[R] M)
Goal: (LinearMap.trace R M) (f * (g * h)) = (LinearMap.trace R M) (h * (f * g))