ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
-- Matrix.toLin_finTwoProd
theorem Matrix.toLin_finTwoProd (a b c d : R) :
    Matrix.toLin (Basis.finTwoProd R) (Basis.finTwoProd R) !![a, b; c, d] =
      (a • LinearMap.fst R R R + b • LinearMap.snd R R R).prod
        (c • LinearMap.fst R R R + d • LinearMap.snd R R R) 
Arguments: {R : Type u_1} [CommSemiring R] (a b c d : R)
Goal: (Matrix.toLin (Basis.finTwoProd R) (Basis.finTwoProd R)) !![a, b; c, d] =
  (a • LinearMap.fst R R R + b • LinearMap.snd R R R).prod (c • LinearMap.fst R R R + d • LinearMap.snd R R R)
-- toMatrix_distrib_mul_action_toLinearMap
@[simp]
theorem toMatrix_distrib_mul_action_toLinearMap (x : R) :
    LinearMap.toMatrix v₁ v₁ (DistribMulAction.toLinearMap R M₁ x) =
    Matrix.diagonal fun _ ↦ x 
Arguments: {R : Type u_1} [CommSemiring R] {n : Type u_4} [Fintype n] [DecidableEq n] {M₁ : Type u_5} [AddCommMonoid M₁] [Module R M₁] (v₁ : Basis n R M₁) (x : R)
Goal: (LinearMap.toMatrix v₁ v₁) (DistribMulAction.toLinearMap R M₁ x) = Matrix.diagonal fun x_1 => x
-- LinearMap.toMatrix_prodMap
lemma LinearMap.toMatrix_prodMap [DecidableEq n] [DecidableEq m] [DecidableEq (n ⊕ m)]
    (φ₁ : Module.End R M₁) (φ₂ : Module.End R M₂) :
    toMatrix (v₁.prod v₂) (v₁.prod v₂) (φ₁.prodMap φ₂) =
      Matrix.fromBlocks (toMatrix v₁ v₁ φ₁) 0 0 (toMatrix v₂ v₂ φ₂) 
Arguments: {R : Type u_1} [CommSemiring R] {m : Type u_3} {n : Type u_4} [Fintype n] [Fintype m] {M₁ : Type u_5} {M₂ : Type u_6} [AddCommMonoid M₁] [AddCommMonoid M₂] [Module R M₁] [Module R M₂] (v₁ : Basis n R M₁) (v₂ : Basis m R M₂) [DecidableEq n] [DecidableEq m] [DecidableEq (n ⊕ m)] (φ₁ : Module.End R M₁) (φ₂ : Module.End R M₂)
Goal: (LinearMap.toMatrix (v₁.prod v₂) (v₁.prod v₂)) (LinearMap.prodMap φ₁ φ₂) =
  Matrix.fromBlocks ((LinearMap.toMatrix v₁ v₁) φ₁) 0 0 ((LinearMap.toMatrix v₂ v₂) φ₂)
-- Algebra.toMatrix_lmul'
theorem toMatrix_lmul' (x : S) (i j) :
    LinearMap.toMatrix b b (lmul R S x) i j = b.repr (x * b j) i 
Arguments: {R : Type u_1} {S : Type u_2} [CommRing R] [Ring S] [Algebra R S] {m : Type u_3} [Fintype m] [DecidableEq m] (b : Basis m R S) (x : S) (i j : m)
Goal: (LinearMap.toMatrix b b) ((Algebra.lmul R S) x) i j = (b.repr (x * b j)) i
-- Algebra.toMatrix_lsmul
@[simp]
theorem toMatrix_lsmul (x : R) :
    LinearMap.toMatrix b b (Algebra.lsmul R R S x) = Matrix.diagonal fun _ ↦ x 
Arguments: {R : Type u_1} {S : Type u_2} [CommRing R] [Ring S] [Algebra R S] {m : Type u_3} [Fintype m] [DecidableEq m] (b : Basis m R S) (x : R)
Goal: (LinearMap.toMatrix b b) ((Algebra.lsmul R R S) x) = Matrix.diagonal fun x_1 => x
-- Algebra.leftMulMatrix_apply
theorem leftMulMatrix_apply (x : S) : leftMulMatrix b x = LinearMap.toMatrix b b (lmul R S x) 
Arguments: {R : Type u_1} {S : Type u_2} [CommRing R] [Ring S] [Algebra R S] {m : Type u_3} [Fintype m] [DecidableEq m] (b : Basis m R S) (x : S)
Goal: (Algebra.leftMulMatrix b) x = (LinearMap.toMatrix b b) ((Algebra.lmul R S) x)
-- Algebra.leftMulMatrix_eq_repr_mul
theorem leftMulMatrix_eq_repr_mul (x : S) (i j) : leftMulMatrix b x i j = b.repr (x * b j) i 
Arguments: {R : Type u_1} {S : Type u_2} [CommRing R] [Ring S] [Algebra R S] {m : Type u_3} [Fintype m] [DecidableEq m] (b : Basis m R S) (x : S) (i j : m)
Goal: (Algebra.leftMulMatrix b) x i j = (b.repr (x * b j)) i
-- Algebra.leftMulMatrix_mulVec_repr
theorem leftMulMatrix_mulVec_repr (x y : S) :
    leftMulMatrix b x *ᵥ b.repr y = b.repr (x * y) 
Arguments: {R : Type u_1} {S : Type u_2} [CommRing R] [Ring S] [Algebra R S] {m : Type u_3} [Fintype m] [DecidableEq m] (b : Basis m R S) (x y : S)
Goal: (Algebra.leftMulMatrix b) x *ᵥ ⇑(b.repr y) = ⇑(b.repr (x * y))
-- Algebra.toMatrix_lmul_eq
@[simp]
theorem toMatrix_lmul_eq (x : S) :
    LinearMap.toMatrix b b (LinearMap.mulLeft R x) = leftMulMatrix b x 
Arguments: {R : Type u_1} {S : Type u_2} [CommRing R] [Ring S] [Algebra R S] {m : Type u_3} [Fintype m] [DecidableEq m] (b : Basis m R S) (x : S)
Goal: (LinearMap.toMatrix b b) (LinearMap.mulLeft R x) = (Algebra.leftMulMatrix b) x
-- Algebra.leftMulMatrix_injective
theorem leftMulMatrix_injective : Function.Injective (leftMulMatrix b) 
Arguments: {R : Type u_1} {S : Type u_2} [CommRing R] [Ring S] [Algebra R S] {m : Type u_3} [Fintype m] [DecidableEq m] (b : Basis m R S)
Goal: Function.Injective ⇑(Algebra.leftMulMatrix b)
-- Algebra.smul_leftMulMatrix
@[simp]
theorem smul_leftMulMatrix {G} [Group G] [DistribMulAction G S]
    [SMulCommClass G R S] [SMulCommClass G S S] (g : G) (x) :
    leftMulMatrix (g • b) x = leftMulMatrix b x 
Arguments: {R : Type u_1} {S : Type u_2} [CommRing R] [Ring S] [Algebra R S] {m : Type u_3} [Fintype m] [DecidableEq m] (b : Basis m R S) {G : Type u_4} [Group G] [DistribMulAction G S] [SMulCommClass G R S] [SMulCommClass G S S] (g : G) (x : S)
Goal: (Algebra.leftMulMatrix (g • b)) x = (Algebra.leftMulMatrix b) x
-- Algebra.smulTower_leftMulMatrix
theorem smulTower_leftMulMatrix (x) (ik jk) :
    leftMulMatrix (b.smulTower c) x ik jk =
      leftMulMatrix b (leftMulMatrix c x ik.2 jk.2) ik.1 jk.1 
Arguments: {R : Type u_1} {S : Type u_2} {T : Type u_3} [CommRing R] [CommRing S] [Ring T] [Algebra R S] [Algebra S T] [Algebra R T] [IsScalarTower R S T] {m : Type u_4} {n : Type u_5} [Fintype m] [Fintype n] [DecidableEq m] [DecidableEq n] (b : Basis m R S) (c : Basis n S T) (x : T) (ik jk : m × n)
Goal: (Algebra.leftMulMatrix (b.smulTower c)) x ik jk =
  (Algebra.leftMulMatrix b) ((Algebra.leftMulMatrix c) x ik.2 jk.2) ik.1 jk.1
-- Algebra.smulTower_leftMulMatrix_algebraMap
theorem smulTower_leftMulMatrix_algebraMap (x : S) :
    leftMulMatrix (b.smulTower c) (algebraMap _ _ x) = blockDiagonal fun _ ↦ leftMulMatrix b x 
Arguments: {R : Type u_1} {S : Type u_2} {T : Type u_3} [CommRing R] [CommRing S] [Ring T] [Algebra R S] [Algebra S T] [Algebra R T] [IsScalarTower R S T] {m : Type u_4} {n : Type u_5} [Fintype m] [Fintype n] [DecidableEq m] [DecidableEq n] (b : Basis m R S) (c : Basis n S T) (x : S)
Goal: (Algebra.leftMulMatrix (b.smulTower c)) ((algebraMap S T) x) =
  Matrix.blockDiagonal fun x_1 => (Algebra.leftMulMatrix b) x
-- Algebra.smulTower_leftMulMatrix_algebraMap_eq
theorem smulTower_leftMulMatrix_algebraMap_eq (x : S) (i j k) :
    leftMulMatrix (b.smulTower c) (algebraMap _ _ x) (i, k) (j, k) = leftMulMatrix b x i j 
Arguments: {R : Type u_1} {S : Type u_2} {T : Type u_3} [CommRing R] [CommRing S] [Ring T] [Algebra R S] [Algebra S T] [Algebra R T] [IsScalarTower R S T] {m : Type u_4} {n : Type u_5} [Fintype m] [Fintype n] [DecidableEq m] [DecidableEq n] (b : Basis m R S) (c : Basis n S T) (x : S) (i j : m) (k : n)
Goal: (Algebra.leftMulMatrix (b.smulTower c)) ((algebraMap S T) x) (i, k) (j, k) = (Algebra.leftMulMatrix b) x i j
-- Algebra.smulTower_leftMulMatrix_algebraMap_ne
theorem smulTower_leftMulMatrix_algebraMap_ne (x : S) (i j) {k k'} (h : k ≠ k') :
    leftMulMatrix (b.smulTower c) (algebraMap _ _ x) (i, k) (j, k') = 0 
Arguments: {R : Type u_1} {S : Type u_2} {T : Type u_3} [CommRing R] [CommRing S] [Ring T] [Algebra R S] [Algebra S T] [Algebra R T] [IsScalarTower R S T] {m : Type u_4} {n : Type u_5} [Fintype m] [Fintype n] [DecidableEq m] [DecidableEq n] (b : Basis m R S) (c : Basis n S T) (x : S) (i j : m) {k k' : n} (h : k ≠ k')
Goal: (Algebra.leftMulMatrix (b.smulTower c)) ((algebraMap S T) x) (i, k) (j, k') = 0
-- Basis.linearMap_repr_symm_apply
@[simps! (config := .lemmasOnly) repr_apply repr_symm_apply]
noncomputable
def linearMap (b₁ : Basis ι₁ R M₁) (b₂ : Basis ι₂ R M₂) :
    Basis (ι₂ × ι₁) R (M₁ →ₗ[R] M₂) 
Arguments: {R : Type u_1} {M₁ : Type u_3} {M₂ : Type u_4} {ι₁ : Type u_6} {ι₂ : Type u_7} [CommSemiring R] [AddCommMonoid M₁] [AddCommMonoid M₂] [Module R M₁] [Module R M₂] [Fintype ι₁] [Fintype ι₂] [DecidableEq ι₁] (b₁ : Basis ι₁ R M₁) (b₂ : Basis ι₂ R M₂)
Goal: ∀ (a : ι₂ × ι₁ →₀ R),
  (b₁.linearMap b₂).repr.symm a =
    (Matrix.toLin b₁ b₂) ((Finsupp.total (ι₂ × ι₁) (Matrix ι₂ ι₁ R) R ⇑(Matrix.stdBasis R ι₂ ι₁)) a)
-- Basis.linearMap_repr_apply
@[simps! (config := .lemmasOnly) repr_apply repr_symm_apply]
noncomputable
def linearMap (b₁ : Basis ι₁ R M₁) (b₂ : Basis ι₂ R M₂) :
    Basis (ι₂ × ι₁) R (M₁ →ₗ[R] M₂) 
Arguments: {R : Type u_1} {M₁ : Type u_3} {M₂ : Type u_4} {ι₁ : Type u_6} {ι₂ : Type u_7} [CommSemiring R] [AddCommMonoid M₁] [AddCommMonoid M₂] [Module R M₁] [Module R M₂] [Fintype ι₁] [Fintype ι₂] [DecidableEq ι₁] (b₁ : Basis ι₁ R M₁) (b₂ : Basis ι₂ R M₂)
Goal: ∀ (a : M₁ →ₗ[R] M₂), (b₁.linearMap b₂).repr a = (Matrix.stdBasis R ι₂ ι₁).repr ((LinearMap.toMatrix b₁ b₂) a)
-- Basis.linearMap_apply
lemma linearMap_apply (ij : ι₂ × ι₁) :
    (b₁.linearMap b₂ ij) = (Matrix.toLin b₁ b₂) (Matrix.stdBasis R ι₂ ι₁ ij) 
Arguments: {R : Type u_1} {M₁ : Type u_3} {M₂ : Type u_4} {ι₁ : Type u_6} {ι₂ : Type u_7} [CommSemiring R] [AddCommMonoid M₁] [AddCommMonoid M₂] [Module R M₁] [Module R M₂] [Fintype ι₁] [Fintype ι₂] [DecidableEq ι₁] (b₁ : Basis ι₁ R M₁) (b₂ : Basis ι₂ R M₂) (ij : ι₂ × ι₁)
Goal: (b₁.linearMap b₂) ij = (Matrix.toLin b₁ b₂) ((Matrix.stdBasis R ι₂ ι₁) ij)
-- Basis.linearMap_apply_apply
lemma linearMap_apply_apply (ij : ι₂ × ι₁) (k : ι₁) :
    (b₁.linearMap b₂ ij) (b₁ k) = if ij.2 = k then b₂ ij.1 else 0 
Arguments: {R : Type u_1} {M₁ : Type u_3} {M₂ : Type u_4} {ι₁ : Type u_6} {ι₂ : Type u_7} [CommSemiring R] [AddCommMonoid M₁] [AddCommMonoid M₂] [Module R M₁] [Module R M₂] [Fintype ι₁] [Fintype ι₂] [DecidableEq ι₁] (b₁ : Basis ι₁ R M₁) (b₂ : Basis ι₂ R M₂) (ij : ι₂ × ι₁) (k : ι₁)
Goal: ((b₁.linearMap b₂) ij) (b₁ k) = if ij.2 = k then b₂ ij.1 else 0
-- Basis.end_repr_apply
@[simps! (config := .lemmasOnly) repr_apply repr_symm_apply]
noncomputable
abbrev _root_.Basis.end (b : Basis ι R M) : Basis (ι × ι) R (Module.End R M) 
Arguments: {R : Type u_1} {M : Type u_2} {ι : Type u_5} [CommSemiring R] [AddCommMonoid M] [Module R M] [Fintype ι] [DecidableEq ι] (b : Basis ι R M)
Goal: ∀ (a : M →ₗ[R] M), b.end.repr a = (Matrix.stdBasis R ι ι).repr ((LinearMap.toMatrix b b) a)
-- Basis.end_repr_symm_apply
@[simps! (config := .lemmasOnly) repr_apply repr_symm_apply]
noncomputable
abbrev _root_.Basis.end (b : Basis ι R M) : Basis (ι × ι) R (Module.End R M) 
Arguments: {R : Type u_1} {M : Type u_2} {ι : Type u_5} [CommSemiring R] [AddCommMonoid M] [Module R M] [Fintype ι] [DecidableEq ι] (b : Basis ι R M)
Goal: ∀ (a : ι × ι →₀ R),
  b.end.repr.symm a = (Matrix.toLin b b) ((Finsupp.total (ι × ι) (Matrix ι ι R) R ⇑(Matrix.stdBasis R ι ι)) a)
-- Basis.end_apply
lemma end_apply (ij : ι × ι) : (b.end ij) = (Matrix.toLin b b) (Matrix.stdBasis R ι ι ij) 
Arguments: {R : Type u_1} {M : Type u_2} {ι : Type u_5} [CommSemiring R] [AddCommMonoid M] [Module R M] [Fintype ι] [DecidableEq ι] (b : Basis ι R M) (ij : ι × ι)
Goal: b.end ij = (Matrix.toLin b b) ((Matrix.stdBasis R ι ι) ij)
-- Basis.end_apply_apply
lemma end_apply_apply (ij : ι × ι) (k : ι) : (b.end ij) (b k) = if ij.2 = k then b ij.1 else 0 
Arguments: {R : Type u_1} {M : Type u_2} {ι : Type u_5} [CommSemiring R] [AddCommMonoid M] [Module R M] [Fintype ι] [DecidableEq ι] (b : Basis ι R M) (ij : ι × ι) (k : ι)
Goal: (b.end ij) (b k) = if ij.2 = k then b ij.1 else 0
-- AlternatingMap.domCoprod.summand_mk''
theorem domCoprod.summand_mk'' (a : Mᵢ [⋀^ιa]→ₗ[R'] N₁) (b : Mᵢ [⋀^ιb]→ₗ[R'] N₂)
    (σ : Equiv.Perm (ιa ⊕ ιb)) :
    domCoprod.summand a b (Quotient.mk'' σ) =
      Equiv.Perm.sign σ •
        (MultilinearMap.domCoprod ↑a ↑b : MultilinearMap R' (fun _ => Mᵢ) (N₁ ⊗ N₂)).domDomCongr
          σ 
Arguments: {ιa : Type u_1} {ιb : Type u_2} [Fintype ιa] [Fintype ιb] {R' : Type u_3} {Mᵢ : Type u_4} {N₁ : Type u_5} {N₂ : Type u_6} [CommSemiring R'] [AddCommGroup N₁] [Module R' N₁] [AddCommGroup N₂] [Module R' N₂] [AddCommMonoid Mᵢ] [Module R' Mᵢ] [DecidableEq ιa] [DecidableEq ιb] (a : Mᵢ [⋀^ιa]→ₗ[R'] N₁) (b : Mᵢ [⋀^ιb]→ₗ[R'] N₂) (σ : Equiv.Perm (ιa ⊕ ιb))
Goal: AlternatingMap.domCoprod.summand a b (Quotient.mk'' σ) =
  Equiv.Perm.sign σ • MultilinearMap.domDomCongr σ ((↑a).domCoprod ↑b)
-- AlternatingMap.domCoprod.summand_add_swap_smul_eq_zero
theorem domCoprod.summand_add_swap_smul_eq_zero (a : Mᵢ [⋀^ιa]→ₗ[R'] N₁)
    (b : Mᵢ [⋀^ιb]→ₗ[R'] N₂) (σ : Perm.ModSumCongr ιa ιb) {v : ιa ⊕ ιb → Mᵢ}
    {i j : ιa ⊕ ιb} (hv : v i = v j) (hij : i ≠ j) :
    domCoprod.summand a b σ v + domCoprod.summand a b (swap i j • σ) v = 0 
Arguments: {ιa : Type u_1} {ιb : Type u_2} [Fintype ιa] [Fintype ιb] {R' : Type u_3} {Mᵢ : Type u_4} {N₁ : Type u_5} {N₂ : Type u_6} [CommSemiring R'] [AddCommGroup N₁] [Module R' N₁] [AddCommGroup N₂] [Module R' N₂] [AddCommMonoid Mᵢ] [Module R' Mᵢ] [DecidableEq ιa] [DecidableEq ιb] (a : Mᵢ [⋀^ιa]→ₗ[R'] N₁) (b : Mᵢ [⋀^ιb]→ₗ[R'] N₂) (σ : Equiv.Perm.ModSumCongr ιa ιb) {v : ιa ⊕ ιb → Mᵢ} {i j : ιa ⊕ ιb} (hv : v i = v j) (hij : i ≠ j)
Goal: (AlternatingMap.domCoprod.summand a b σ) v + (AlternatingMap.domCoprod.summand a b (Equiv.swap i j • σ)) v = 0
-- AlternatingMap.domCoprod.summand_eq_zero_of_smul_invariant
theorem domCoprod.summand_eq_zero_of_smul_invariant (a : Mᵢ [⋀^ιa]→ₗ[R'] N₁)
    (b : Mᵢ [⋀^ιb]→ₗ[R'] N₂) (σ : Perm.ModSumCongr ιa ιb) {v : ιa ⊕ ιb → Mᵢ}
    {i j : ιa ⊕ ιb} (hv : v i = v j) (hij : i ≠ j) :
    swap i j • σ = σ → domCoprod.summand a b σ v = 0 
Arguments: {ιa : Type u_1} {ιb : Type u_2} [Fintype ιa] [Fintype ιb] {R' : Type u_3} {Mᵢ : Type u_4} {N₁ : Type u_5} {N₂ : Type u_6} [CommSemiring R'] [AddCommGroup N₁] [Module R' N₁] [AddCommGroup N₂] [Module R' N₂] [AddCommMonoid Mᵢ] [Module R' Mᵢ] [DecidableEq ιa] [DecidableEq ιb] (a : Mᵢ [⋀^ιa]→ₗ[R'] N₁) (b : Mᵢ [⋀^ιb]→ₗ[R'] N₂) (σ : Equiv.Perm.ModSumCongr ιa ιb) {v : ιa ⊕ ιb → Mᵢ} {i j : ιa ⊕ ιb} (hv : v i = v j) (hij : i ≠ j)
Goal: Equiv.swap i j • σ = σ → (AlternatingMap.domCoprod.summand a b σ) v = 0
-- AlternatingMap.domCoprod_apply
@[simps]
def domCoprod (a : Mᵢ [⋀^ιa]→ₗ[R'] N₁) (b : Mᵢ [⋀^ιb]→ₗ[R'] N₂) :
    Mᵢ [⋀^ιa ⊕ ιb]→ₗ[R'] (N₁ ⊗[R'] N₂) 
Arguments: {ιa : Type u_1} {ιb : Type u_2} [Fintype ιa] [Fintype ιb] {R' : Type u_3} {Mᵢ : Type u_4} {N₁ : Type u_5} {N₂ : Type u_6} [CommSemiring R'] [AddCommGroup N₁] [Module R' N₁] [AddCommGroup N₂] [Module R' N₂] [AddCommMonoid Mᵢ] [Module R' Mᵢ] [DecidableEq ιa] [DecidableEq ιb] (a : Mᵢ [⋀^ιa]→ₗ[R'] N₁) (b : Mᵢ [⋀^ιb]→ₗ[R'] N₂) (v : ιa ⊕ ιb → Mᵢ)
Goal: (a.domCoprod b) v = (∑ σ : Equiv.Perm.ModSumCongr ιa ιb, AlternatingMap.domCoprod.summand a b σ) v
-- AlternatingMap.domCoprod_coe
theorem domCoprod_coe (a : Mᵢ [⋀^ιa]→ₗ[R'] N₁) (b : Mᵢ [⋀^ιb]→ₗ[R'] N₂) :
    (↑(a.domCoprod b) : MultilinearMap R' (fun _ => Mᵢ) _) =
      ∑ σ : Perm.ModSumCongr ιa ιb, domCoprod.summand a b σ 
Arguments: {ιa : Type u_1} {ιb : Type u_2} [Fintype ιa] [Fintype ιb] {R' : Type u_3} {Mᵢ : Type u_4} {N₁ : Type u_5} {N₂ : Type u_6} [CommSemiring R'] [AddCommGroup N₁] [Module R' N₁] [AddCommGroup N₂] [Module R' N₂] [AddCommMonoid Mᵢ] [Module R' Mᵢ] [DecidableEq ιa] [DecidableEq ιb] (a : Mᵢ [⋀^ιa]→ₗ[R'] N₁) (b : Mᵢ [⋀^ιb]→ₗ[R'] N₂)
Goal: ↑(a.domCoprod b) = ∑ σ : Equiv.Perm.ModSumCongr ιa ιb, AlternatingMap.domCoprod.summand a b σ
-- AlternatingMap.domCoprod'_apply
@[simp]
theorem domCoprod'_apply (a : Mᵢ [⋀^ιa]→ₗ[R'] N₁) (b : Mᵢ [⋀^ιb]→ₗ[R'] N₂) :
    domCoprod' (a ⊗ₜ[R'] b) = domCoprod a b 
Arguments: {ιa : Type u_1} {ιb : Type u_2} [Fintype ιa] [Fintype ιb] {R' : Type u_3} {Mᵢ : Type u_4} {N₁ : Type u_5} {N₂ : Type u_6} [CommSemiring R'] [AddCommGroup N₁] [Module R' N₁] [AddCommGroup N₂] [Module R' N₂] [AddCommMonoid Mᵢ] [Module R' Mᵢ] [DecidableEq ιa] [DecidableEq ιb] (a : Mᵢ [⋀^ιa]→ₗ[R'] N₁) (b : Mᵢ [⋀^ιb]→ₗ[R'] N₂)
Goal: AlternatingMap.domCoprod' (a ⊗ₜ[R'] b) = a.domCoprod b
-- MultilinearMap.domCoprod_alternization_coe
theorem MultilinearMap.domCoprod_alternization_coe [DecidableEq ιa] [DecidableEq ιb]
    (a : MultilinearMap R' (fun _ : ιa => Mᵢ) N₁) (b : MultilinearMap R' (fun _ : ιb => Mᵢ) N₂) :
    MultilinearMap.domCoprod (MultilinearMap.alternatization a)
      (MultilinearMap.alternatization b) =
      ∑ σa : Perm ιa, ∑ σb : Perm ιb,
        Equiv.Perm.sign σa • Equiv.Perm.sign σb •
          MultilinearMap.domCoprod (a.domDomCongr σa) (b.domDomCongr σb) 
Arguments: {ιa : Type u_1} {ιb : Type u_2} [Fintype ιa] [Fintype ιb] {R' : Type u_3} {Mᵢ : Type u_4} {N₁ : Type u_5} {N₂ : Type u_6} [CommSemiring R'] [AddCommGroup N₁] [Module R' N₁] [AddCommGroup N₂] [Module R' N₂] [AddCommMonoid Mᵢ] [Module R' Mᵢ] [DecidableEq ιa] [DecidableEq ιb] (a : MultilinearMap R' (fun x => Mᵢ) N₁) (b : MultilinearMap R' (fun x => Mᵢ) N₂)
Goal: (↑(MultilinearMap.alternatization a)).domCoprod ↑(MultilinearMap.alternatization b) =
  ∑ σa : Equiv.Perm ιa,
    ∑ σb : Equiv.Perm ιb,
      Equiv.Perm.sign σa •
        Equiv.Perm.sign σb • (MultilinearMap.domDomCongr σa a).domCoprod (MultilinearMap.domDomCongr σb b)
-- MultilinearMap.domCoprod_alternization
theorem MultilinearMap.domCoprod_alternization [DecidableEq ιa] [DecidableEq ιb]
    (a : MultilinearMap R' (fun _ : ιa => Mᵢ) N₁) (b : MultilinearMap R' (fun _ : ιb => Mᵢ) N₂) :
    MultilinearMap.alternatization (MultilinearMap.domCoprod a b) =
      a.alternatization.domCoprod (MultilinearMap.alternatization b) 
Arguments: {ιa : Type u_1} {ιb : Type u_2} [Fintype ιa] [Fintype ιb] {R' : Type u_3} {Mᵢ : Type u_4} {N₁ : Type u_5} {N₂ : Type u_6} [CommSemiring R'] [AddCommGroup N₁] [Module R' N₁] [AddCommGroup N₂] [Module R' N₂] [AddCommMonoid Mᵢ] [Module R' Mᵢ] [DecidableEq ιa] [DecidableEq ιb] (a : MultilinearMap R' (fun x => Mᵢ) N₁) (b : MultilinearMap R' (fun x => Mᵢ) N₂)
Goal: MultilinearMap.alternatization (a.domCoprod b) =
  (MultilinearMap.alternatization a).domCoprod (MultilinearMap.alternatization b)
-- MultilinearMap.domCoprod_alternization_eq
theorem MultilinearMap.domCoprod_alternization_eq [DecidableEq ιa] [DecidableEq ιb]
    (a : Mᵢ [⋀^ιa]→ₗ[R'] N₁) (b : Mᵢ [⋀^ιb]→ₗ[R'] N₂) :
    MultilinearMap.alternatization
      (MultilinearMap.domCoprod a b : MultilinearMap R' (fun _ : ιa ⊕ ιb => Mᵢ) (N₁ ⊗ N₂)) =
      ((Fintype.card ιa).factorial * (Fintype.card ιb).factorial) • a.domCoprod b 
Arguments: {ιa : Type u_1} {ιb : Type u_2} [Fintype ιa] [Fintype ιb] {R' : Type u_3} {Mᵢ : Type u_4} {N₁ : Type u_5} {N₂ : Type u_6} [CommSemiring R'] [AddCommGroup N₁] [Module R' N₁] [AddCommGroup N₂] [Module R' N₂] [AddCommMonoid Mᵢ] [Module R' Mᵢ] [DecidableEq ιa] [DecidableEq ιb] (a : Mᵢ [⋀^ιa]→ₗ[R'] N₁) (b : Mᵢ [⋀^ιb]→ₗ[R'] N₂)
Goal: MultilinearMap.alternatization ((↑a).domCoprod ↑b) =
  ((Fintype.card ιa).factorial * (Fintype.card ιb).factorial) • a.domCoprod b
-- spectrum.exists_mem_of_not_isUnit_aeval_prod
theorem exists_mem_of_not_isUnit_aeval_prod [IsDomain R] {p : R[X]} {a : A}
    (h : ¬IsUnit (aeval a (Multiset.map (fun x : R => X - C x) p.roots).prod)) :
    ∃ k : R, k ∈ σ a ∧ eval k p = 0 
Arguments: {R : Type u} {A : Type v} [CommRing R] [Ring A] [Algebra R A] [IsDomain R] {p : Polynomial R} {a : A} (h : ¬IsUnit ((Polynomial.aeval a) (Multiset.map (fun x => Polynomial.X - Polynomial.C x) p.roots).prod))
Goal: ∃ k ∈ spectrum R a, Polynomial.eval k p = 0
-- spectrum.subset_polynomial_aeval
theorem subset_polynomial_aeval (a : A) (p : 𝕜[X]) : (eval · p) '' σ a ⊆ σ (aeval a p) 
Arguments: {𝕜 : Type u} {A : Type v} [Field 𝕜] [Ring A] [Algebra 𝕜 A] (a : A) (p : Polynomial 𝕜)
Goal: (fun x => Polynomial.eval x p) '' spectrum 𝕜 a ⊆ spectrum 𝕜 ((Polynomial.aeval a) p)
-- spectrum.map_polynomial_aeval_of_degree_pos
theorem map_polynomial_aeval_of_degree_pos [IsAlgClosed 𝕜] (a : A) (p : 𝕜[X])
    (hdeg : 0 < degree p) : σ (aeval a p) = (eval · p) '' σ a 
Arguments: {𝕜 : Type u} {A : Type v} [Field 𝕜] [Ring A] [Algebra 𝕜 A] [IsAlgClosed 𝕜] (a : A) (p : Polynomial 𝕜) (hdeg : 0 < p.degree)
Goal: spectrum 𝕜 ((Polynomial.aeval a) p) = (fun x => Polynomial.eval x p) '' spectrum 𝕜 a
-- spectrum.map_polynomial_aeval_of_nonempty
theorem map_polynomial_aeval_of_nonempty [IsAlgClosed 𝕜] (a : A) (p : 𝕜[X])
    (hnon : (σ a).Nonempty) : σ (aeval a p) = (fun k => eval k p) '' σ a 
Arguments: {𝕜 : Type u} {A : Type v} [Field 𝕜] [Ring A] [Algebra 𝕜 A] [IsAlgClosed 𝕜] (a : A) (p : Polynomial 𝕜) (hnon : (spectrum 𝕜 a).Nonempty)
Goal: spectrum 𝕜 ((Polynomial.aeval a) p) = (fun k => Polynomial.eval k p) '' spectrum 𝕜 a
-- spectrum.pow_image_subset
theorem pow_image_subset (a : A) (n : ℕ) : (fun x => x ^ n) '' σ a ⊆ σ (a ^ n) 
Arguments: {𝕜 : Type u} {A : Type v} [Field 𝕜] [Ring A] [Algebra 𝕜 A] (a : A) (n : ℕ)
Goal: (fun x => x ^ n) '' spectrum 𝕜 a ⊆ spectrum 𝕜 (a ^ n)
-- spectrum.map_pow_of_pos
theorem map_pow_of_pos [IsAlgClosed 𝕜] (a : A) {n : ℕ} (hn : 0 < n) :
    σ (a ^ n) = (· ^ n) '' σ a 
Arguments: {𝕜 : Type u} {A : Type v} [Field 𝕜] [Ring A] [Algebra 𝕜 A] [IsAlgClosed 𝕜] (a : A) {n : ℕ} (hn : 0 < n)
Goal: spectrum 𝕜 (a ^ n) = (fun x => x ^ n) '' spectrum 𝕜 a
-- spectrum.map_pow_of_nonempty
theorem map_pow_of_nonempty [IsAlgClosed 𝕜] {a : A} (ha : (σ a).Nonempty) (n : ℕ) :
    σ (a ^ n) = (· ^ n) '' σ a 
Arguments: {𝕜 : Type u} {A : Type v} [Field 𝕜] [Ring A] [Algebra 𝕜 A] [IsAlgClosed 𝕜] {a : A} (ha : (spectrum 𝕜 a).Nonempty) (n : ℕ)
Goal: spectrum 𝕜 (a ^ n) = (fun x => x ^ n) '' spectrum 𝕜 a
-- spectrum.nonempty_of_isAlgClosed_of_finiteDimensional
theorem nonempty_of_isAlgClosed_of_finiteDimensional [IsAlgClosed 𝕜] [Nontrivial A]
    [I : FiniteDimensional 𝕜 A] (a : A) : (σ a).Nonempty 
Arguments: (𝕜 : Type u) {A : Type v} [Field 𝕜] [Ring A] [Algebra 𝕜 A] [IsAlgClosed 𝕜] [Nontrivial A] [I : FiniteDimensional 𝕜 A] (a : A)
Goal: (spectrum 𝕜 a).Nonempty
-- Algebra.IsAlgebraic.cardinal_mk_le_sigma_polynomial
theorem cardinal_mk_le_sigma_polynomial :
    #L ≤ #(Σ p : R[X], { x : L // x ∈ p.aroots L }) 
Arguments: (R L : Type u) [CommRing R] [CommRing L] [IsDomain L] [Algebra R L] [NoZeroSMulDivisors R L] [Algebra.IsAlgebraic R L]
Goal: #L ≤ #((p : R[X]) × { x // x ∈ p.aroots L })
-- Algebra.IsAlgebraic.cardinal_mk_le_max
theorem cardinal_mk_le_max : #L ≤ max #R ℵ₀ 
Arguments: (R L : Type u) [CommRing R] [CommRing L] [IsDomain L] [Algebra R L] [NoZeroSMulDivisors R L] [Algebra.IsAlgebraic R L]
Goal: #L ≤ max #R ℵ₀
-- IsAlgClosed.isAlgClosure_of_transcendence_basis
theorem isAlgClosure_of_transcendence_basis [IsAlgClosed K] (hv : IsTranscendenceBasis R v) :
    IsAlgClosure (Algebra.adjoin R (Set.range v)) K 
Arguments: {R : Type u_1} {K : Type u_3} [CommRing R] [Field K] [Algebra R K] {ι : Type u_4} (v : ι → K) [IsAlgClosed K] (hv : IsTranscendenceBasis R v)
Goal: IsAlgClosure (↥(Algebra.adjoin R (Set.range v))) K
-- IsAlgClosed.cardinal_le_max_transcendence_basis
theorem cardinal_le_max_transcendence_basis (hv : IsTranscendenceBasis R v) :
    #K ≤ max (max #R #ι) ℵ₀ 
Arguments: {R K : Type u} [CommRing R] [Field K] [Algebra R K] [IsAlgClosed K] {ι : Type u} (v : ι → K) (hv : IsTranscendenceBasis R v)
Goal: #K ≤ max (max #R #ι) ℵ₀
-- IsAlgClosed.cardinal_eq_cardinal_transcendence_basis_of_aleph0_lt
theorem cardinal_eq_cardinal_transcendence_basis_of_aleph0_lt [Nontrivial R]
    (hv : IsTranscendenceBasis R v) (hR : #R ≤ ℵ₀) (hK : ℵ₀ < #K) : #K = #ι 
Arguments: {R K : Type u} [CommRing R] [Field K] [Algebra R K] [IsAlgClosed K] {ι : Type u} (v : ι → K) [Nontrivial R] (hv : IsTranscendenceBasis R v) (hR : #R ≤ ℵ₀) (hK : ℵ₀ < #K)
Goal: #K = #ι
-- IsAlgClosed.ringEquivOfCardinalEqOfCharZero
theorem ringEquivOfCardinalEqOfCharZero [CharZero K] [CharZero L] (hK : ℵ₀ < #K)
    (hKL : #K = #L) : Nonempty (K ≃+* L) 
Arguments: {K L : Type} [Field K] [Field L] [IsAlgClosed K] [IsAlgClosed L] [CharZero K] [CharZero L] (hK : ℵ₀ < #K) (hKL : #K = #L)
Goal: Nonempty (K ≃+* L)
-- _private.Mathlib.FieldTheory.IsAlgClosed.Classification.0.IsAlgClosed.ringEquivOfCardinalEqOfCharP
private theorem ringEquivOfCardinalEqOfCharP (p : ℕ) [Fact p.Prime] [CharP K p] [CharP L p]
    (hK : ℵ₀ < #K) (hKL : #K = #L) : Nonempty (K ≃+* L) 
Arguments: {K L : Type} [Field K] [Field L] [IsAlgClosed K] [IsAlgClosed L] (p : ℕ) [Fact (Nat.Prime p)] [CharP K p] [CharP L p] (hK : ℵ₀ < #K) (hKL : #K = #L)
Goal: Nonempty (K ≃+* L)
-- IsAlgClosed.ringEquivOfCardinalEqOfCharEq
theorem ringEquivOfCardinalEqOfCharEq (p : ℕ) [CharP K p] [CharP L p] (hK : ℵ₀ < #K)
    (hKL : #K = #L) : Nonempty (K ≃+* L) 
Arguments: {K L : Type} [Field K] [Field L] [IsAlgClosed K] [IsAlgClosed L] (p : ℕ) [CharP K p] [CharP L p] (hK : ℵ₀ < #K) (hKL : #K = #L)
Goal: Nonempty (K ≃+* L)
-- RatFunc.ofFractionRing_injective
theorem ofFractionRing_injective : Function.Injective (ofFractionRing : _ → RatFunc K) 
Arguments: {K : Type u} [CommRing K]
Goal: Function.Injective RatFunc.ofFractionRing