ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
-- MvPolynomial.coeff_rename_embDomain
@[simp]
theorem coeff_rename_embDomain (f : σ ↪ τ) (φ : MvPolynomial σ R) (d : σ →₀ ℕ) :
    (rename f φ).coeff (d.embDomain f) = φ.coeff d 
Arguments: {σ : Type u_1} {τ : Type u_2} {R : Type u_4} [CommSemiring R] (f : σ ↪ τ) (φ : MvPolynomial σ R) (d : σ →₀ ℕ)
Goal: MvPolynomial.coeff (Finsupp.embDomain f d) ((MvPolynomial.rename ⇑f) φ) = MvPolynomial.coeff d φ
-- MvPolynomial.coeff_rename_eq_zero
theorem coeff_rename_eq_zero (f : σ → τ) (φ : MvPolynomial σ R) (d : τ →₀ ℕ)
    (h : ∀ u : σ →₀ ℕ, u.mapDomain f = d → φ.coeff u = 0) : (rename f φ).coeff d = 0 
Arguments: {σ : Type u_1} {τ : Type u_2} {R : Type u_4} [CommSemiring R] (f : σ → τ) (φ : MvPolynomial σ R) (d : τ →₀ ℕ) (h : ∀ (u : σ →₀ ℕ), Finsupp.mapDomain f u = d → MvPolynomial.coeff u φ = 0)
Goal: MvPolynomial.coeff d ((MvPolynomial.rename f) φ) = 0
-- MvPolynomial.coeff_rename_ne_zero
theorem coeff_rename_ne_zero (f : σ → τ) (φ : MvPolynomial σ R) (d : τ →₀ ℕ)
    (h : (rename f φ).coeff d ≠ 0) : ∃ u : σ →₀ ℕ, u.mapDomain f = d ∧ φ.coeff u ≠ 0 
Arguments: {σ : Type u_1} {τ : Type u_2} {R : Type u_4} [CommSemiring R] (f : σ → τ) (φ : MvPolynomial σ R) (d : τ →₀ ℕ) (h : MvPolynomial.coeff d ((MvPolynomial.rename f) φ) ≠ 0)
Goal: ∃ u, Finsupp.mapDomain f u = d ∧ MvPolynomial.coeff u φ ≠ 0
-- MvPolynomial.constantCoeff_rename
@[simp]
theorem constantCoeff_rename {τ : Type*} (f : σ → τ) (φ : MvPolynomial σ R) :
    constantCoeff (rename f φ) = constantCoeff φ 
Arguments: {σ : Type u_1} {R : Type u_4} [CommSemiring R] {τ : Type u_6} (f : σ → τ) (φ : MvPolynomial σ R)
Goal: MvPolynomial.constantCoeff ((MvPolynomial.rename f) φ) = MvPolynomial.constantCoeff φ
-- MvPolynomial.support_rename_of_injective
theorem support_rename_of_injective {p : MvPolynomial σ R} {f : σ → τ} [DecidableEq τ]
    (h : Function.Injective f) :
    (rename f p).support = Finset.image (Finsupp.mapDomain f) p.support 
Arguments: {σ : Type u_1} {τ : Type u_2} {R : Type u_4} [CommSemiring R] {p : MvPolynomial σ R} {f : σ → τ} [DecidableEq τ] (h : Function.Injective f)
Goal: ((MvPolynomial.rename f) p).support = Finset.image (Finsupp.mapDomain f) p.support
-- MvPolynomial.mkDerivationₗ_monomial
theorem mkDerivationₗ_monomial (f : σ → A) (s : σ →₀ ℕ) (r : R) :
    mkDerivationₗ R f (monomial s r) =
      r • s.sum fun i k => monomial (s - Finsupp.single i 1) (k : R) • f i 
Arguments: {σ : Type u_1} {R : Type u_2} {A : Type u_3} [CommSemiring R] [AddCommMonoid A] [Module R A] [Module (MvPolynomial σ R) A] (f : σ → A) (s : σ →₀ ℕ) (r : R)
Goal: (MvPolynomial.mkDerivationₗ R f) ((MvPolynomial.monomial s) r) =
  r • s.sum fun i k => (MvPolynomial.monomial (s - Finsupp.single i 1)) ↑k • f i
-- MvPolynomial.mkDerivationₗ_C
theorem mkDerivationₗ_C (f : σ → A) (r : R) : mkDerivationₗ R f (C r) = 0 
Arguments: {σ : Type u_1} {R : Type u_2} {A : Type u_3} [CommSemiring R] [AddCommMonoid A] [Module R A] [Module (MvPolynomial σ R) A] (f : σ → A) (r : R)
Goal: (MvPolynomial.mkDerivationₗ R f) (MvPolynomial.C r) = 0
-- MvPolynomial.mkDerivationₗ_X
theorem mkDerivationₗ_X (f : σ → A) (i : σ) : mkDerivationₗ R f (X i) = f i 
Arguments: {σ : Type u_1} {R : Type u_2} {A : Type u_3} [CommSemiring R] [AddCommMonoid A] [Module R A] [Module (MvPolynomial σ R) A] (f : σ → A) (i : σ)
Goal: (MvPolynomial.mkDerivationₗ R f) (MvPolynomial.X i) = f i
-- MvPolynomial.derivation_C
@[simp]
theorem derivation_C (D : Derivation R (MvPolynomial σ R) A) (a : R) : D (C a) = 0 
Arguments: {σ : Type u_1} {R : Type u_2} {A : Type u_3} [CommSemiring R] [AddCommMonoid A] [Module R A] [Module (MvPolynomial σ R) A] (D : Derivation R (MvPolynomial σ R) A) (a : R)
Goal: D (MvPolynomial.C a) = 0
-- MvPolynomial.derivation_C_mul
@[simp]
theorem derivation_C_mul (D : Derivation R (MvPolynomial σ R) A) (a : R) (f : MvPolynomial σ R) :
    C (σ := σ) a • D f = a • D f 
Arguments: {σ : Type u_1} {R : Type u_2} {A : Type u_3} [CommSemiring R] [AddCommMonoid A] [Module R A] [Module (MvPolynomial σ R) A] (D : Derivation R (MvPolynomial σ R) A) (a : R) (f : MvPolynomial σ R)
Goal: MvPolynomial.C a • D f = a • D f
-- MvPolynomial.derivation_eqOn_supported
theorem derivation_eqOn_supported {D₁ D₂ : Derivation R (MvPolynomial σ R) A} {s : Set σ}
    (h : Set.EqOn (D₁ ∘ X) (D₂ ∘ X) s) {f : MvPolynomial σ R} (hf : f ∈ supported R s) :
    D₁ f = D₂ f 
Arguments: {σ : Type u_1} {R : Type u_2} {A : Type u_3} [CommSemiring R] [AddCommMonoid A] [Module R A] [Module (MvPolynomial σ R) A] {D₁ D₂ : Derivation R (MvPolynomial σ R) A} {s : Set σ} (h : Set.EqOn (⇑D₁ ∘ MvPolynomial.X) (⇑D₂ ∘ MvPolynomial.X) s) {f : MvPolynomial σ R} (hf : f ∈ MvPolynomial.supported R s)
Goal: D₁ f = D₂ f
-- MvPolynomial.derivation_eq_of_forall_mem_vars
theorem derivation_eq_of_forall_mem_vars {D₁ D₂ : Derivation R (MvPolynomial σ R) A}
    {f : MvPolynomial σ R} (h : ∀ i ∈ f.vars, D₁ (X i) = D₂ (X i)) : D₁ f = D₂ f 
Arguments: {σ : Type u_1} {R : Type u_2} {A : Type u_3} [CommSemiring R] [AddCommMonoid A] [Module R A] [Module (MvPolynomial σ R) A] {D₁ D₂ : Derivation R (MvPolynomial σ R) A} {f : MvPolynomial σ R} (h : ∀ i ∈ f.vars, D₁ (MvPolynomial.X i) = D₂ (MvPolynomial.X i))
Goal: D₁ f = D₂ f
-- MvPolynomial.derivation_eq_zero_of_forall_mem_vars
theorem derivation_eq_zero_of_forall_mem_vars {D : Derivation R (MvPolynomial σ R) A}
    {f : MvPolynomial σ R} (h : ∀ i ∈ f.vars, D (X i) = 0) : D f = 0 
Arguments: {σ : Type u_1} {R : Type u_2} {A : Type u_3} [CommSemiring R] [AddCommMonoid A] [Module R A] [Module (MvPolynomial σ R) A] {D : Derivation R (MvPolynomial σ R) A} {f : MvPolynomial σ R} (h : ∀ i ∈ f.vars, D (MvPolynomial.X i) = 0)
Goal: D f = 0
-- MvPolynomial.derivation_ext
@[ext]
theorem derivation_ext {D₁ D₂ : Derivation R (MvPolynomial σ R) A} (h : ∀ i, D₁ (X i) = D₂ (X i)) :
    D₁ = D₂ 
Arguments: {σ : Type u_1} {R : Type u_2} {A : Type u_3} [CommSemiring R] [AddCommMonoid A] [Module R A] [Module (MvPolynomial σ R) A] {D₁ D₂ : Derivation R (MvPolynomial σ R) A} (h : ∀ (i : σ), D₁ (MvPolynomial.X i) = D₂ (MvPolynomial.X i))
Goal: D₁ = D₂
-- MvPolynomial.leibniz_iff_X
theorem leibniz_iff_X (D : MvPolynomial σ R →ₗ[R] A) (h₁ : D 1 = 0) :
    (∀ p q, D (p * q) = p • D q + q • D p) ↔ ∀ s i, D (monomial s 1 * X i) =
    (monomial s 1 : MvPolynomial σ R) • D (X i) + (X i : MvPolynomial σ R) • D (monomial s 1) 
Arguments: {σ : Type u_1} {R : Type u_2} {A : Type u_3} [CommSemiring R] [AddCommMonoid A] [Module R A] [Module (MvPolynomial σ R) A] [IsScalarTower R (MvPolynomial σ R) A] (D : MvPolynomial σ R →ₗ[R] A) (h₁ : D 1 = 0)
Goal: (∀ (p q : MvPolynomial σ R), D (p * q) = p • D q + q • D p) ↔
  ∀ (s : σ →₀ ℕ) (i : σ),
    D ((MvPolynomial.monomial s) 1 * MvPolynomial.X i) =
      (MvPolynomial.monomial s) 1 • D (MvPolynomial.X i) + MvPolynomial.X i • D ((MvPolynomial.monomial s) 1)
-- MvPolynomial.mkDerivation_X
@[simp]
theorem mkDerivation_X (f : σ → A) (i : σ) : mkDerivation R f (X i) = f i 
Arguments: {σ : Type u_1} (R : Type u_2) {A : Type u_3} [CommSemiring R] [AddCommMonoid A] [Module R A] [Module (MvPolynomial σ R) A] [IsScalarTower R (MvPolynomial σ R) A] (f : σ → A) (i : σ)
Goal: (MvPolynomial.mkDerivation R f) (MvPolynomial.X i) = f i
-- MvPolynomial.mkDerivation_monomial
theorem mkDerivation_monomial (f : σ → A) (s : σ →₀ ℕ) (r : R) :
    mkDerivation R f (monomial s r) =
      r • s.sum fun i k => monomial (s - Finsupp.single i 1) (k : R) • f i 
Arguments: {σ : Type u_1} (R : Type u_2) {A : Type u_3} [CommSemiring R] [AddCommMonoid A] [Module R A] [Module (MvPolynomial σ R) A] [IsScalarTower R (MvPolynomial σ R) A] (f : σ → A) (s : σ →₀ ℕ) (r : R)
Goal: (MvPolynomial.mkDerivation R f) ((MvPolynomial.monomial s) r) =
  r • s.sum fun i k => (MvPolynomial.monomial (s - Finsupp.single i 1)) ↑k • f i
-- StarSubsemiring.star_mem'
structure StarSubsemiring (R : Type v) [NonAssocSemiring R] [Star R]
    extends Subsemiring R : Type v where
    star_mem' {a} : a ∈ carrier → star a ∈ carrier
Arguments: {R : Type v} [NonAssocSemiring R] [Star R] (self : StarSubsemiring R) {a : R}
Goal: a ∈ self.carrier → star a ∈ self.carrier
-- StarSubsemiring.mem_carrier
@[simp, nolint simpNF]
theorem mem_carrier {s : StarSubsemiring R} {x : R} : x ∈ s.carrier ↔ x ∈ s 
Arguments: {R : Type v} [NonAssocSemiring R] [StarRing R] {s : StarSubsemiring R} {x : R}
Goal: x ∈ s.carrier ↔ x ∈ s
-- StarSubsemiring.ext
@[ext]
theorem ext {S T : StarSubsemiring R} (h : ∀ x : R, x ∈ S ↔ x ∈ T) : S = T 
Arguments: {R : Type v} [NonAssocSemiring R] [StarRing R] {S T : StarSubsemiring R} (h : ∀ (x : R), x ∈ S ↔ x ∈ T)
Goal: S = T
-- StarSubsemiring.coe_mk
@[simp]
lemma coe_mk (S : Subsemiring R) (h) : ((⟨S, h⟩ : StarSubsemiring R) : Set R) = S 
Arguments: {R : Type v} [NonAssocSemiring R] [StarRing R] (S : Subsemiring R) (h : ∀ {a : R}, a ∈ S.carrier → star a ∈ S.carrier)
Goal: ↑{ toSubsemiring := S, star_mem' := h } = ↑S
-- StarSubsemiring.mem_toSubsemiring
@[simp]
theorem mem_toSubsemiring {S : StarSubsemiring R} {x} : x ∈ S.toSubsemiring ↔ x ∈ S 
Arguments: {R : Type v} [NonAssocSemiring R] [StarRing R] {S : StarSubsemiring R} {x : R}
Goal: x ∈ S.toSubsemiring ↔ x ∈ S
-- StarSubsemiring.coe_toSubsemiring
@[simp]
theorem coe_toSubsemiring (S : StarSubsemiring R) : (S.toSubsemiring : Set R) = S 
Arguments: {R : Type v} [NonAssocSemiring R] [StarRing R] (S : StarSubsemiring R)
Goal: ↑S.toSubsemiring = ↑S
-- StarSubsemiring.toSubsemiring_injective
theorem toSubsemiring_injective :
    Function.Injective (toSubsemiring : StarSubsemiring R → Subsemiring R) 
Arguments: {R : Type v} [NonAssocSemiring R] [StarRing R]
Goal: Function.Injective StarSubsemiring.toSubsemiring
-- StarSubsemiring.toSubsemiring_inj
theorem toSubsemiring_inj {S U : StarSubsemiring R} : S.toSubsemiring = U.toSubsemiring ↔ S = U 
Arguments: {R : Type v} [NonAssocSemiring R] [StarRing R] {S U : StarSubsemiring R}
Goal: S.toSubsemiring = U.toSubsemiring ↔ S = U
-- StarSubsemiring.toSubsemiring_le_iff
theorem toSubsemiring_le_iff {S₁ S₂ : StarSubsemiring R} :
    S₁.toSubsemiring ≤ S₂.toSubsemiring ↔ S₁ ≤ S₂ 
Arguments: {R : Type v} [NonAssocSemiring R] [StarRing R] {S₁ S₂ : StarSubsemiring R}
Goal: S₁.toSubsemiring ≤ S₂.toSubsemiring ↔ S₁ ≤ S₂
-- StarSubsemiring.coe_copy
@[simp]
theorem coe_copy (S : StarSubsemiring R) (s : Set R) (hs : s = ↑S) : (S.copy s hs : Set R) = s 
Arguments: {R : Type v} [NonAssocSemiring R] [StarRing R] (S : StarSubsemiring R) (s : Set R) (hs : s = ↑S)
Goal: ↑(S.copy s hs) = s
-- StarSubsemiring.copy_eq
theorem copy_eq (S : StarSubsemiring R) (s : Set R) (hs : s = ↑S) : S.copy s hs = S 
Arguments: {R : Type v} [NonAssocSemiring R] [StarRing R] (S : StarSubsemiring R) (s : Set R) (hs : s = ↑S)
Goal: S.copy s hs = S
-- Matrix.toMvPolynomial_eval_eq_apply
lemma toMvPolynomial_eval_eq_apply (M : Matrix m n R) (i : m) (c : n → R) :
    eval c (M.toMvPolynomial i) = (M *ᵥ c) i 
Arguments: {m : Type u_1} {n : Type u_2} {R : Type u_4} [Fintype n] [CommSemiring R] (M : Matrix m n R) (i : m) (c : n → R)
Goal: (MvPolynomial.eval c) (M.toMvPolynomial i) = (M *ᵥ c) i
-- Matrix.toMvPolynomial_map
lemma toMvPolynomial_map (f : R →+* S) (M : Matrix m n R) (i : m) :
    (M.map f).toMvPolynomial i = MvPolynomial.map f (M.toMvPolynomial i) 
Arguments: {m : Type u_1} {n : Type u_2} {R : Type u_4} {S : Type u_5} [Fintype n] [CommSemiring R] [CommSemiring S] (f : R →+* S) (M : Matrix m n R) (i : m)
Goal: (M.map ⇑f).toMvPolynomial i = (MvPolynomial.map f) (M.toMvPolynomial i)
-- Matrix.toMvPolynomial_isHomogeneous
lemma toMvPolynomial_isHomogeneous (M : Matrix m n R) (i : m) :
    (M.toMvPolynomial i).IsHomogeneous 1 
Arguments: {m : Type u_1} {n : Type u_2} {R : Type u_4} [Fintype n] [CommSemiring R] (M : Matrix m n R) (i : m)
Goal: (M.toMvPolynomial i).IsHomogeneous 1
-- Matrix.toMvPolynomial_totalDegree_le
lemma toMvPolynomial_totalDegree_le (M : Matrix m n R) (i : m) :
    (M.toMvPolynomial i).totalDegree ≤ 1 
Arguments: {m : Type u_1} {n : Type u_2} {R : Type u_4} [Fintype n] [CommSemiring R] (M : Matrix m n R) (i : m)
Goal: (M.toMvPolynomial i).totalDegree ≤ 1
-- Matrix.toMvPolynomial_constantCoeff
@[simp]
lemma toMvPolynomial_constantCoeff (M : Matrix m n R) (i : m) :
    constantCoeff (M.toMvPolynomial i) = 0 
Arguments: {m : Type u_1} {n : Type u_2} {R : Type u_4} [Fintype n] [CommSemiring R] (M : Matrix m n R) (i : m)
Goal: MvPolynomial.constantCoeff (M.toMvPolynomial i) = 0
-- Matrix.toMvPolynomial_zero
@[simp]
lemma toMvPolynomial_zero : (0 : Matrix m n R).toMvPolynomial = 0 
Arguments: {m : Type u_1} {n : Type u_2} {R : Type u_4} [Fintype n] [CommSemiring R]
Goal: Matrix.toMvPolynomial 0 = 0
-- Matrix.toMvPolynomial_one
@[simp]
lemma toMvPolynomial_one [DecidableEq n] : (1 : Matrix n n R).toMvPolynomial = X 
Arguments: {n : Type u_2} {R : Type u_4} [Fintype n] [CommSemiring R] [DecidableEq n]
Goal: Matrix.toMvPolynomial 1 = MvPolynomial.X
-- Matrix.toMvPolynomial_add
lemma toMvPolynomial_add (M N : Matrix m n R) :
    (M + N).toMvPolynomial = M.toMvPolynomial + N.toMvPolynomial 
Arguments: {m : Type u_1} {n : Type u_2} {R : Type u_4} [Fintype n] [CommSemiring R] (M N : Matrix m n R)
Goal: (M + N).toMvPolynomial = M.toMvPolynomial + N.toMvPolynomial
-- Matrix.toMvPolynomial_mul
lemma toMvPolynomial_mul (M : Matrix m n R) (N : Matrix n o R) (i : m) :
    (M * N).toMvPolynomial i = bind₁ N.toMvPolynomial (M.toMvPolynomial i) 
Arguments: {m : Type u_1} {n : Type u_2} {o : Type u_3} {R : Type u_4} [Fintype n] [Fintype o] [CommSemiring R] (M : Matrix m n R) (N : Matrix n o R) (i : m)
Goal: (M * N).toMvPolynomial i = (MvPolynomial.bind₁ N.toMvPolynomial) (M.toMvPolynomial i)
-- LinearMap.toMvPolynomial_eval_eq_apply
lemma toMvPolynomial_eval_eq_apply (f : M₁ →ₗ[R] M₂) (i : ι₂) (c : ι₁ →₀ R) :
    eval c (f.toMvPolynomial b₁ b₂ i) = b₂.repr (f (b₁.repr.symm c)) i 
Arguments: {R : Type u_1} {M₁ : Type u_2} {M₂ : Type u_3} {ι₁ : Type u_4} {ι₂ : Type u_5} [CommRing R] [AddCommGroup M₁] [AddCommGroup M₂] [Module R M₁] [Module R M₂] [Fintype ι₁] [Finite ι₂] [DecidableEq ι₁] (b₁ : Basis ι₁ R M₁) (b₂ : Basis ι₂ R M₂) (f : M₁ →ₗ[R] M₂) (i : ι₂) (c : ι₁ →₀ R)
Goal: (MvPolynomial.eval ⇑c) (LinearMap.toMvPolynomial b₁ b₂ f i) = (b₂.repr (f (b₁.repr.symm c))) i
-- LinearMap.toMvPolynomial_baseChange
lemma toMvPolynomial_baseChange (f : M₁ →ₗ[R] M₂) (i : ι₂) (A : Type*) [CommRing A] [Algebra R A] :
    (f.baseChange A).toMvPolynomial (basis A b₁) (basis A b₂) i =
      MvPolynomial.map (algebraMap R A) (f.toMvPolynomial b₁ b₂ i) 
Arguments: {R : Type u_1} {M₁ : Type u_2} {M₂ : Type u_3} {ι₁ : Type u_4} {ι₂ : Type u_5} [CommRing R] [AddCommGroup M₁] [AddCommGroup M₂] [Module R M₁] [Module R M₂] [Fintype ι₁] [Finite ι₂] [DecidableEq ι₁] (b₁ : Basis ι₁ R M₁) (b₂ : Basis ι₂ R M₂) (f : M₁ →ₗ[R] M₂) (i : ι₂) (A : Type u_6) [CommRing A] [Algebra R A]
Goal: LinearMap.toMvPolynomial (Algebra.TensorProduct.basis A b₁) (Algebra.TensorProduct.basis A b₂)
    (LinearMap.baseChange A f) i =
  (MvPolynomial.map (algebraMap R A)) (LinearMap.toMvPolynomial b₁ b₂ f i)
-- LinearMap.toMvPolynomial_isHomogeneous
lemma toMvPolynomial_isHomogeneous (f : M₁ →ₗ[R] M₂) (i : ι₂) :
    (f.toMvPolynomial b₁ b₂ i).IsHomogeneous 1 
Arguments: {R : Type u_1} {M₁ : Type u_2} {M₂ : Type u_3} {ι₁ : Type u_4} {ι₂ : Type u_5} [CommRing R] [AddCommGroup M₁] [AddCommGroup M₂] [Module R M₁] [Module R M₂] [Fintype ι₁] [Finite ι₂] [DecidableEq ι₁] (b₁ : Basis ι₁ R M₁) (b₂ : Basis ι₂ R M₂) (f : M₁ →ₗ[R] M₂) (i : ι₂)
Goal: (LinearMap.toMvPolynomial b₁ b₂ f i).IsHomogeneous 1
-- LinearMap.toMvPolynomial_totalDegree_le
lemma toMvPolynomial_totalDegree_le (f : M₁ →ₗ[R] M₂) (i : ι₂) :
    (f.toMvPolynomial b₁ b₂ i).totalDegree ≤ 1 
Arguments: {R : Type u_1} {M₁ : Type u_2} {M₂ : Type u_3} {ι₁ : Type u_4} {ι₂ : Type u_5} [CommRing R] [AddCommGroup M₁] [AddCommGroup M₂] [Module R M₁] [Module R M₂] [Fintype ι₁] [Finite ι₂] [DecidableEq ι₁] (b₁ : Basis ι₁ R M₁) (b₂ : Basis ι₂ R M₂) (f : M₁ →ₗ[R] M₂) (i : ι₂)
Goal: (LinearMap.toMvPolynomial b₁ b₂ f i).totalDegree ≤ 1
-- LinearMap.toMvPolynomial_constantCoeff
@[simp]
lemma toMvPolynomial_constantCoeff (f : M₁ →ₗ[R] M₂) (i : ι₂) :
    constantCoeff (f.toMvPolynomial b₁ b₂ i) = 0 
Arguments: {R : Type u_1} {M₁ : Type u_2} {M₂ : Type u_3} {ι₁ : Type u_4} {ι₂ : Type u_5} [CommRing R] [AddCommGroup M₁] [AddCommGroup M₂] [Module R M₁] [Module R M₂] [Fintype ι₁] [Finite ι₂] [DecidableEq ι₁] (b₁ : Basis ι₁ R M₁) (b₂ : Basis ι₂ R M₂) (f : M₁ →ₗ[R] M₂) (i : ι₂)
Goal: MvPolynomial.constantCoeff (LinearMap.toMvPolynomial b₁ b₂ f i) = 0
-- LinearMap.toMvPolynomial_zero
@[simp]
lemma toMvPolynomial_zero : (0 : M₁ →ₗ[R] M₂).toMvPolynomial b₁ b₂ = 0 
Arguments: {R : Type u_1} {M₁ : Type u_2} {M₂ : Type u_3} {ι₁ : Type u_4} {ι₂ : Type u_5} [CommRing R] [AddCommGroup M₁] [AddCommGroup M₂] [Module R M₁] [Module R M₂] [Fintype ι₁] [Finite ι₂] [DecidableEq ι₁] (b₁ : Basis ι₁ R M₁) (b₂ : Basis ι₂ R M₂)
Goal: LinearMap.toMvPolynomial b₁ b₂ 0 = 0
-- LinearMap.toMvPolynomial_id
@[simp]
lemma toMvPolynomial_id : (id : M₁ →ₗ[R] M₁).toMvPolynomial b₁ b₁ = X 
Arguments: {R : Type u_1} {M₁ : Type u_2} {ι₁ : Type u_4} [CommRing R] [AddCommGroup M₁] [Module R M₁] [Fintype ι₁] [DecidableEq ι₁] (b₁ : Basis ι₁ R M₁)
Goal: LinearMap.toMvPolynomial b₁ b₁ LinearMap.id = MvPolynomial.X
-- LinearMap.toMvPolynomial_add
lemma toMvPolynomial_add (f g : M₁ →ₗ[R] M₂) :
    (f + g).toMvPolynomial b₁ b₂ = f.toMvPolynomial b₁ b₂ + g.toMvPolynomial b₁ b₂ 
Arguments: {R : Type u_1} {M₁ : Type u_2} {M₂ : Type u_3} {ι₁ : Type u_4} {ι₂ : Type u_5} [CommRing R] [AddCommGroup M₁] [AddCommGroup M₂] [Module R M₁] [Module R M₂] [Fintype ι₁] [Finite ι₂] [DecidableEq ι₁] (b₁ : Basis ι₁ R M₁) (b₂ : Basis ι₂ R M₂) (f g : M₁ →ₗ[R] M₂)
Goal: LinearMap.toMvPolynomial b₁ b₂ (f + g) = LinearMap.toMvPolynomial b₁ b₂ f + LinearMap.toMvPolynomial b₁ b₂ g
-- LinearMap.toMvPolynomial_comp
lemma toMvPolynomial_comp (g : M₂ →ₗ[R] M₃) (f : M₁ →ₗ[R] M₂) (i : ι₃) :
    (g ∘ₗ f).toMvPolynomial b₁ b₃ i =
      bind₁ (f.toMvPolynomial b₁ b₂) (g.toMvPolynomial b₂ b₃ i) 
Arguments: {R : Type u_1} {M₁ : Type u_2} {M₂ : Type u_3} {M₃ : Type u_4} {ι₁ : Type u_5} {ι₂ : Type u_6} {ι₃ : Type u_7} [CommRing R] [AddCommGroup M₁] [AddCommGroup M₂] [AddCommGroup M₃] [Module R M₁] [Module R M₂] [Module R M₃] [Fintype ι₁] [Fintype ι₂] [Finite ι₃] [DecidableEq ι₁] [DecidableEq ι₂] (b₁ : Basis ι₁ R M₁) (b₂ : Basis ι₂ R M₂) (b₃ : Basis ι₃ R M₃) (g : M₂ →ₗ[R] M₃) (f : M₁ →ₗ[R] M₂) (i : ι₃)
Goal: LinearMap.toMvPolynomial b₁ b₃ (g ∘ₗ f) i =
  (MvPolynomial.bind₁ (LinearMap.toMvPolynomial b₁ b₂ f)) (LinearMap.toMvPolynomial b₂ b₃ g i)
-- LinearMap.polyCharpolyAux_baseChange
lemma polyCharpolyAux_baseChange (A : Type*) [CommRing A] [Algebra R A] :
    polyCharpolyAux (tensorProduct _ _ _ _ ∘ₗ φ.baseChange A) (basis A b) (basis A bₘ) =
      (polyCharpolyAux φ b bₘ).map (MvPolynomial.map (algebraMap R A)) 
Arguments: {R : Type u_1} {L : Type u_2} {M : Type u_3} {ι : Type u_5} {ιM : Type u_7} [CommRing R] [AddCommGroup L] [Module R L] [AddCommGroup M] [Module R M] (φ : L →ₗ[R] Module.End R M) [Fintype ι] [Fintype ιM] [DecidableEq ι] [DecidableEq ιM] (b : Basis ι R L) (bₘ : Basis ιM R M) (A : Type u_8) [CommRing A] [Algebra R A]
Goal: (LinearMap.tensorProduct R A M M ∘ₗ LinearMap.baseChange A φ).polyCharpolyAux (Algebra.TensorProduct.basis A b)
    (Algebra.TensorProduct.basis A bₘ) =
  Polynomial.map (MvPolynomial.map (algebraMap R A)) (φ.polyCharpolyAux b bₘ)
-- LinearMap.polyCharpolyAux_map_eq_toMatrix_charpoly
lemma polyCharpolyAux_map_eq_toMatrix_charpoly (x : L) :
    (polyCharpolyAux φ b bₘ).map (MvPolynomial.eval (b.repr x)) =
      (toMatrix bₘ bₘ (φ x)).charpoly 
Arguments: {R : Type u_1} {L : Type u_2} {M : Type u_3} {ι : Type u_5} {ιM : Type u_7} [CommRing R] [AddCommGroup L] [Module R L] [AddCommGroup M] [Module R M] (φ : L →ₗ[R] Module.End R M) [Fintype ι] [Fintype ιM] [DecidableEq ι] [DecidableEq ιM] (b : Basis ι R L) (bₘ : Basis ιM R M) (x : L)
Goal: Polynomial.map (MvPolynomial.eval ⇑(b.repr x)) (φ.polyCharpolyAux b bₘ) = ((LinearMap.toMatrix bₘ bₘ) (φ x)).charpoly
-- LinearMap.polyCharpolyAux_eval_eq_toMatrix_charpoly_coeff
lemma polyCharpolyAux_eval_eq_toMatrix_charpoly_coeff (x : L) (i : ℕ) :
    MvPolynomial.eval (b.repr x) ((polyCharpolyAux φ b bₘ).coeff i) =
      (toMatrix bₘ bₘ (φ x)).charpoly.coeff i 
Arguments: {R : Type u_1} {L : Type u_2} {M : Type u_3} {ι : Type u_5} {ιM : Type u_7} [CommRing R] [AddCommGroup L] [Module R L] [AddCommGroup M] [Module R M] (φ : L →ₗ[R] Module.End R M) [Fintype ι] [Fintype ιM] [DecidableEq ι] [DecidableEq ιM] (b : Basis ι R L) (bₘ : Basis ιM R M) (x : L) (i : ℕ)
Goal: (MvPolynomial.eval ⇑(b.repr x)) ((φ.polyCharpolyAux b bₘ).coeff i) = ((LinearMap.toMatrix bₘ bₘ) (φ x)).charpoly.coeff i
-- LinearMap.polyCharpolyAux_map_eq_charpoly
@[simp]
lemma polyCharpolyAux_map_eq_charpoly [Module.Finite R M] [Module.Free R M]
    (x : L) :
    (polyCharpolyAux φ b bₘ).map (MvPolynomial.eval (b.repr x)) = (φ x).charpoly 
Arguments: {R : Type u_1} {L : Type u_2} {M : Type u_3} {ι : Type u_5} {ιM : Type u_7} [CommRing R] [AddCommGroup L] [Module R L] [AddCommGroup M] [Module R M] (φ : L →ₗ[R] Module.End R M) [Fintype ι] [Fintype ιM] [DecidableEq ι] [DecidableEq ιM] (b : Basis ι R L) (bₘ : Basis ιM R M) [Module.Finite R M] [Module.Free R M] (x : L)
Goal: Polynomial.map (MvPolynomial.eval ⇑(b.repr x)) (φ.polyCharpolyAux b bₘ) = LinearMap.charpoly (φ x)
-- LinearMap.polyCharpolyAux_coeff_eval
@[simp]
lemma polyCharpolyAux_coeff_eval [Module.Finite R M] [Module.Free R M] (x : L) (i : ℕ) :
    MvPolynomial.eval (b.repr x) ((polyCharpolyAux φ b bₘ).coeff i) = (φ x).charpoly.coeff i 
Arguments: {R : Type u_1} {L : Type u_2} {M : Type u_3} {ι : Type u_5} {ιM : Type u_7} [CommRing R] [AddCommGroup L] [Module R L] [AddCommGroup M] [Module R M] (φ : L →ₗ[R] Module.End R M) [Fintype ι] [Fintype ιM] [DecidableEq ι] [DecidableEq ιM] (b : Basis ι R L) (bₘ : Basis ιM R M) [Module.Finite R M] [Module.Free R M] (x : L) (i : ℕ)
Goal: (MvPolynomial.eval ⇑(b.repr x)) ((φ.polyCharpolyAux b bₘ).coeff i) = (LinearMap.charpoly (φ x)).coeff i
-- LinearMap.polyCharpolyAux_map_eval
lemma polyCharpolyAux_map_eval [Module.Finite R M] [Module.Free R M]
    (x : ι → R) :
    (polyCharpolyAux φ b bₘ).map (MvPolynomial.eval x) =
      (φ (b.repr.symm (Finsupp.equivFunOnFinite.symm x))).charpoly 
Arguments: {R : Type u_1} {L : Type u_2} {M : Type u_3} {ι : Type u_5} {ιM : Type u_7} [CommRing R] [AddCommGroup L] [Module R L] [AddCommGroup M] [Module R M] (φ : L →ₗ[R] Module.End R M) [Fintype ι] [Fintype ιM] [DecidableEq ι] [DecidableEq ιM] (b : Basis ι R L) (bₘ : Basis ιM R M) [Module.Finite R M] [Module.Free R M] (x : ι → R)
Goal: Polynomial.map (MvPolynomial.eval x) (φ.polyCharpolyAux b bₘ) =
  LinearMap.charpoly (φ (b.repr.symm (Finsupp.equivFunOnFinite.symm x)))
-- LinearMap.polyCharpolyAux_map_aeval
lemma polyCharpolyAux_map_aeval
    (A : Type*) [CommRing A] [Algebra R A] [Module.Finite A (A ⊗[R] M)] [Module.Free A (A ⊗[R] M)]
    (x : ι → A) :
    (polyCharpolyAux φ b bₘ).map (MvPolynomial.aeval x).toRingHom =
      LinearMap.charpoly ((tensorProduct R A M M).comp (baseChange A φ)
        ((basis A b).repr.symm (Finsupp.equivFunOnFinite.symm x))) 
Arguments: {R : Type u_1} {L : Type u_2} {M : Type u_3} {ι : Type u_5} {ιM : Type u_7} [CommRing R] [AddCommGroup L] [Module R L] [AddCommGroup M] [Module R M] (φ : L →ₗ[R] Module.End R M) [Fintype ι] [Fintype ιM] [DecidableEq ι] [DecidableEq ιM] (b : Basis ι R L) (bₘ : Basis ιM R M) (A : Type u_8) [CommRing A] [Algebra R A] [Module.Finite A (TensorProduct R A M)] [Module.Free A (TensorProduct R A M)] (x : ι → A)
Goal: Polynomial.map (MvPolynomial.aeval x).toRingHom (φ.polyCharpolyAux b bₘ) =
  ((LinearMap.tensorProduct R A M M ∘ₗ LinearMap.baseChange A φ)
      ((Algebra.TensorProduct.basis A b).repr.symm (Finsupp.equivFunOnFinite.symm x))).charpoly
-- LinearMap.polyCharpolyAux_basisIndep
lemma polyCharpolyAux_basisIndep {ιM' : Type*} [Fintype ιM'] [DecidableEq ιM']
    (bₘ' : Basis ιM' R M) :
    polyCharpolyAux φ b bₘ = polyCharpolyAux φ b bₘ' 
Arguments: {R : Type u_1} {L : Type u_2} {M : Type u_3} {ι : Type u_5} {ιM : Type u_7} [CommRing R] [AddCommGroup L] [Module R L] [AddCommGroup M] [Module R M] (φ : L →ₗ[R] Module.End R M) [Fintype ι] [Fintype ιM] [DecidableEq ι] [DecidableEq ιM] (b : Basis ι R L) (bₘ : Basis ιM R M) {ιM' : Type u_8} [Fintype ιM'] [DecidableEq ιM'] (bₘ' : Basis ιM' R M)
Goal: φ.polyCharpolyAux b bₘ = φ.polyCharpolyAux b bₘ'