ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
-- Polynomial.rootsExpandPowToRoots_apply
@[simp]
theorem rootsExpandPowToRoots_apply (x) : (rootsExpandPowToRoots p n f x : R) = x ^ p ^ n 
Arguments: {R : Type u_1} [CommRing R] [IsDomain R] (p n : ℕ) [ExpChar R p] (f : R[X]) [DecidableEq R] (x : { x // x ∈ ((Polynomial.expand R (p ^ n)) f).roots.toFinset })
Goal: ↑((Polynomial.rootsExpandPowToRoots p n f) x) = ↑x ^ p ^ n
-- Polynomial.rootsExpandEquivRoots_apply
@[simp]
theorem rootsExpandEquivRoots_apply (x) : (rootsExpandEquivRoots p f x : R) = x ^ p 
Arguments: {R : Type u_1} [CommRing R] [IsDomain R] (p : ℕ) [ExpChar R p] (f : R[X]) [PerfectRing R p] [DecidableEq R] (x : { x // x ∈ ((Polynomial.expand R p) f).roots.toFinset })
Goal: ↑((Polynomial.rootsExpandEquivRoots p f) x) = ↑x ^ p
-- Polynomial.rootsExpandPowEquivRoots_apply
@[simp]
theorem rootsExpandPowEquivRoots_apply (n : ℕ) (x) :
    (rootsExpandPowEquivRoots p f n x : R) = x ^ p ^ n 
Arguments: {R : Type u_1} [CommRing R] [IsDomain R] (p : ℕ) [ExpChar R p] (f : R[X]) [PerfectRing R p] [DecidableEq R] (n : ℕ) (x : { x // x ∈ ((Polynomial.expand R (p ^ n)) f).roots.toFinset })
Goal: ↑((Polynomial.rootsExpandPowEquivRoots p f n) x) = ↑x ^ p ^ n
-- Module.End.exists_hasEigenvalue_of_iSup_genEigenspace_eq_top
theorem exists_hasEigenvalue_of_iSup_genEigenspace_eq_top [Nontrivial M] {f : End R M}
    (hf : ⨆ μ, ⨆ k, f.genEigenspace μ k = ⊤) :
    ∃ μ, f.HasEigenvalue μ 
Arguments: {R : Type u_3} {M : Type u_4} [CommRing R] [AddCommGroup M] [Module R M] [Nontrivial M] {f : Module.End R M} (hf : ⨆ μ, ⨆ k, (f.genEigenspace μ) k = ⊤)
Goal: ∃ μ, f.HasEigenvalue μ
-- Module.End.exists_eigenvalue
theorem exists_eigenvalue [IsAlgClosed K] [FiniteDimensional K V] [Nontrivial V] (f : End K V) :
    ∃ c : K, f.HasEigenvalue c 
Arguments: {K : Type u_1} {V : Type u_2} [Field K] [AddCommGroup V] [Module K V] [IsAlgClosed K] [FiniteDimensional K V] [Nontrivial V] (f : Module.End K V)
Goal: ∃ c, f.HasEigenvalue c
-- Module.End.iSup_genEigenspace_eq_top
theorem iSup_genEigenspace_eq_top [IsAlgClosed K] [FiniteDimensional K V] (f : End K V) :
    ⨆ (μ : K) (k : ℕ), f.genEigenspace μ k = ⊤ 
Arguments: {K : Type u_1} {V : Type u_2} [Field K] [AddCommGroup V] [Module K V] [IsAlgClosed K] [FiniteDimensional K V] (f : Module.End K V)
Goal: ⨆ μ, ⨆ k, (f.genEigenspace μ) k = ⊤
-- Submodule.inf_iSup_genEigenspace
theorem inf_iSup_genEigenspace [FiniteDimensional K V] (h : ∀ x ∈ p, f x ∈ p) :
    p ⊓ ⨆ μ, ⨆ k, f.genEigenspace μ k = ⨆ μ, ⨆ k, p ⊓ f.genEigenspace μ k 
Arguments: {K : Type u_1} {V : Type u_2} [Field K] [AddCommGroup V] [Module K V] {p : Submodule K V} {f : Module.End K V} [FiniteDimensional K V] (h : ∀ x ∈ p, f x ∈ p)
Goal: p ⊓ ⨆ μ, ⨆ k, (f.genEigenspace μ) k = ⨆ μ, ⨆ k, p ⊓ (f.genEigenspace μ) k
-- Submodule.eq_iSup_inf_genEigenspace
theorem eq_iSup_inf_genEigenspace [FiniteDimensional K V]
    (h : ∀ x ∈ p, f x ∈ p) (h' : ⨆ μ, ⨆ k, f.genEigenspace μ k = ⊤) :
    p = ⨆ μ, ⨆ k, p ⊓ f.genEigenspace μ k 
Arguments: {K : Type u_1} {V : Type u_2} [Field K] [AddCommGroup V] [Module K V] {p : Submodule K V} {f : Module.End K V} [FiniteDimensional K V] (h : ∀ x ∈ p, f x ∈ p) (h' : ⨆ μ, ⨆ k, (f.genEigenspace μ) k = ⊤)
Goal: p = ⨆ μ, ⨆ k, p ⊓ (f.genEigenspace μ) k
-- Module.End.iSup_genEigenspace_restrict_eq_top
theorem Module.End.iSup_genEigenspace_restrict_eq_top
    {p : Submodule K V} {f : Module.End K V} [FiniteDimensional K V]
    (h : ∀ x ∈ p, f x ∈ p) (h' : ⨆ μ, ⨆ k, f.genEigenspace μ k = ⊤) :
    ⨆ μ, ⨆ k, Module.End.genEigenspace (LinearMap.restrict f h) μ k = ⊤ 
Arguments: {K : Type u_1} {V : Type u_2} [Field K] [AddCommGroup V] [Module K V] {p : Submodule K V} {f : Module.End K V} [FiniteDimensional K V] (h : ∀ x ∈ p, f x ∈ p) (h' : ⨆ μ, ⨆ k, (f.genEigenspace μ) k = ⊤)
Goal: ⨆ μ, ⨆ k, (Module.End.genEigenspace (LinearMap.restrict f h) μ) k = ⊤
-- IsNilpotent.charpoly_eq_X_pow_finrank
lemma IsNilpotent.charpoly_eq_X_pow_finrank (φ : Module.End R M) (h : IsNilpotent φ) :
    φ.charpoly = X ^ finrank R M 
Arguments: {R : Type u_1} {M : Type u_3} [CommRing R] [IsDomain R] [AddCommGroup M] [Module R M] [Module.Finite R M] [Module.Free R M] (φ : Module.End R M) (h : IsNilpotent φ)
Goal: LinearMap.charpoly φ = Polynomial.X ^ FiniteDimensional.finrank R M
-- LinearMap.charpoly_nilpotent_tfae
lemma charpoly_nilpotent_tfae [IsNoetherian R M] (φ : Module.End R M) :
    List.TFAE [
      IsNilpotent φ,
      φ.charpoly = X ^ finrank R M,
      ∀ m : M, ∃ (n : ℕ), (φ ^ n) m = 0,
      natTrailingDegree φ.charpoly = finrank R M ] 
Arguments: {R : Type u_1} {M : Type u_3} [CommRing R] [IsDomain R] [AddCommGroup M] [Module R M] [Module.Finite R M] [Module.Free R M] [IsNoetherian R M] (φ : Module.End R M)
Goal: [IsNilpotent φ, LinearMap.charpoly φ = Polynomial.X ^ FiniteDimensional.finrank R M, ∀ (m : M), ∃ n, (φ ^ n) m = 0,
    (LinearMap.charpoly φ).natTrailingDegree = FiniteDimensional.finrank R M].TFAE
-- LinearMap.charpoly_eq_X_pow_iff
lemma charpoly_eq_X_pow_iff [IsNoetherian R M] (φ : Module.End R M) :
    φ.charpoly = X ^ finrank R M ↔ ∀ m : M, ∃ (n : ℕ), (φ ^ n) m = 0 
Arguments: {R : Type u_1} {M : Type u_3} [CommRing R] [IsDomain R] [AddCommGroup M] [Module R M] [Module.Finite R M] [Module.Free R M] [IsNoetherian R M] (φ : Module.End R M)
Goal: LinearMap.charpoly φ = Polynomial.X ^ FiniteDimensional.finrank R M ↔ ∀ (m : M), ∃ n, (φ ^ n) m = 0
-- LinearMap.hasEigenvalue_zero_tfae
lemma hasEigenvalue_zero_tfae (φ : Module.End K M) :
    List.TFAE [
      Module.End.HasEigenvalue φ 0,
      IsRoot (minpoly K φ) 0,
      constantCoeff φ.charpoly = 0,
      LinearMap.det φ = 0,
      ⊥ < ker φ,
      ∃ (m : M), m ≠ 0 ∧ φ m = 0 ] 
Arguments: {K : Type u_2} {M : Type u_3} [Field K] [AddCommGroup M] [Module K M] [Module.Finite K M] (φ : Module.End K M)
Goal: [φ.HasEigenvalue 0, (minpoly K φ).IsRoot 0, Polynomial.constantCoeff (LinearMap.charpoly φ) = 0, LinearMap.det φ = 0,
    ⊥ < LinearMap.ker φ, ∃ m, m ≠ 0 ∧ φ m = 0].TFAE
-- LinearMap.charpoly_constantCoeff_eq_zero_iff
lemma charpoly_constantCoeff_eq_zero_iff (φ : Module.End K M) :
    constantCoeff φ.charpoly = 0 ↔ ∃ (m : M), m ≠ 0 ∧ φ m = 0 
Arguments: {K : Type u_2} {M : Type u_3} [Field K] [AddCommGroup M] [Module K M] [Module.Finite K M] (φ : Module.End K M)
Goal: Polynomial.constantCoeff (LinearMap.charpoly φ) = 0 ↔ ∃ m, m ≠ 0 ∧ φ m = 0
-- LinearMap.not_hasEigenvalue_zero_tfae
lemma not_hasEigenvalue_zero_tfae (φ : Module.End K M) :
    List.TFAE [
      ¬ Module.End.HasEigenvalue φ 0,
      ¬ IsRoot (minpoly K φ) 0,
      constantCoeff φ.charpoly ≠ 0,
      LinearMap.det φ ≠ 0,
      ker φ = ⊥,
      ∀ (m : M), φ m = 0 → m = 0 ] 
Arguments: {K : Type u_2} {M : Type u_3} [Field K] [AddCommGroup M] [Module K M] [Module.Finite K M] (φ : Module.End K M)
Goal: [¬φ.HasEigenvalue 0, ¬(minpoly K φ).IsRoot 0, Polynomial.constantCoeff (LinearMap.charpoly φ) ≠ 0, LinearMap.det φ ≠ 0,
    LinearMap.ker φ = ⊥, ∀ (m : M), φ m = 0 → m = 0].TFAE
-- LinearMap.finrank_maxGenEigenspace
lemma finrank_maxGenEigenspace (φ : Module.End K M) :
    finrank K (φ.maxGenEigenspace 0) = natTrailingDegree (φ.charpoly) 
Arguments: {K : Type u_2} {M : Type u_3} [Field K] [AddCommGroup M] [Module K M] [Module.Finite K M] (φ : Module.End K M)
Goal: FiniteDimensional.finrank K ↥(φ.maxGenEigenspace 0) = (LinearMap.charpoly φ).natTrailingDegree
-- RatFunc.algebraMap_eq_C
@[simp]
theorem algebraMap_eq_C : algebraMap K (RatFunc K) = C 
Arguments: {K : Type u} [CommRing K] [IsDomain K]
Goal: algebraMap K (RatFunc K) = RatFunc.C
-- RatFunc.algebraMap_C
@[simp]
theorem algebraMap_C (a : K) : algebraMap K[X] (RatFunc K) (Polynomial.C a) = C a 
Arguments: {K : Type u} [CommRing K] [IsDomain K] (a : K)
Goal: (algebraMap (Polynomial K) (RatFunc K)) (Polynomial.C a) = RatFunc.C a
-- RatFunc.algebraMap_comp_C
@[simp]
theorem algebraMap_comp_C : (algebraMap K[X] (RatFunc K)).comp Polynomial.C = C 
Arguments: {K : Type u} [CommRing K] [IsDomain K]
Goal: (algebraMap (Polynomial K) (RatFunc K)).comp Polynomial.C = RatFunc.C
-- RatFunc.smul_eq_C_mul
theorem smul_eq_C_mul (r : K) (x : RatFunc K) : r • x = C r * x 
Arguments: {K : Type u} [CommRing K] [IsDomain K] (r : K) (x : RatFunc K)
Goal: r • x = RatFunc.C r * x
-- RatFunc.algebraMap_X
@[simp]
theorem algebraMap_X : algebraMap K[X] (RatFunc K) Polynomial.X = X 
Arguments: {K : Type u} [CommRing K] [IsDomain K]
Goal: (algebraMap (Polynomial K) (RatFunc K)) Polynomial.X = RatFunc.X
-- RatFunc.num_C
@[simp]
theorem num_C (c : K) : num (C c) = Polynomial.C c 
Arguments: {K : Type u} [Field K] (c : K)
Goal: (RatFunc.C c).num = Polynomial.C c
-- RatFunc.denom_C
@[simp]
theorem denom_C (c : K) : denom (C c) = 1 
Arguments: {K : Type u} [Field K] (c : K)
Goal: (RatFunc.C c).denom = 1
-- RatFunc.num_X
@[simp]
theorem num_X : num (X : RatFunc K) = Polynomial.X 
Arguments: {K : Type u} [Field K]
Goal: RatFunc.X.num = Polynomial.X
-- RatFunc.denom_X
@[simp]
theorem denom_X : denom (X : RatFunc K) = 1 
Arguments: {K : Type u} [Field K]
Goal: RatFunc.X.denom = 1
-- RatFunc.X_ne_zero
theorem X_ne_zero : (X : RatFunc K) ≠ 0 
Arguments: {K : Type u} [Field K]
Goal: RatFunc.X ≠ 0
-- RatFunc.eval_eq_zero_of_eval₂_denom_eq_zero
theorem eval_eq_zero_of_eval₂_denom_eq_zero {x : RatFunc K}
    (h : Polynomial.eval₂ f a (denom x) = 0) : eval f a x = 0 
Arguments: {K : Type u} [Field K] {L : Type u} [Field L] {f : K →+* L} {a : L} {x : RatFunc K} (h : Polynomial.eval₂ f a x.denom = 0)
Goal: RatFunc.eval f a x = 0
-- RatFunc.eval₂_denom_ne_zero
theorem eval₂_denom_ne_zero {x : RatFunc K} (h : eval f a x ≠ 0) :
    Polynomial.eval₂ f a (denom x) ≠ 0 
Arguments: {K : Type u} [Field K] {L : Type u} [Field L] {f : K →+* L} {a : L} {x : RatFunc K} (h : RatFunc.eval f a x ≠ 0)
Goal: Polynomial.eval₂ f a x.denom ≠ 0
-- RatFunc.eval_C
@[simp]
theorem eval_C {c : K} : eval f a (C c) = f c 
Arguments: {K : Type u} [Field K] {L : Type u} [Field L] (f : K →+* L) (a : L) {c : K}
Goal: RatFunc.eval f a (RatFunc.C c) = f c
-- RatFunc.eval_X
@[simp]
theorem eval_X : eval f a X = a 
Arguments: {K : Type u} [Field K] {L : Type u} [Field L] (f : K →+* L) (a : L)
Goal: RatFunc.eval f a RatFunc.X = a
-- RatFunc.eval_zero
@[simp]
theorem eval_zero : eval f a 0 = 0 
Arguments: {K : Type u} [Field K] {L : Type u} [Field L] (f : K →+* L) (a : L)
Goal: RatFunc.eval f a 0 = 0
-- RatFunc.eval_one
@[simp]
theorem eval_one : eval f a 1 = 1 
Arguments: {K : Type u} [Field K] {L : Type u} [Field L] (f : K →+* L) (a : L)
Goal: RatFunc.eval f a 1 = 1
-- RatFunc.eval_algebraMap
@[simp]
theorem eval_algebraMap {S : Type*} [CommSemiring S] [Algebra S K[X]] (p : S) :
    eval f a (algebraMap _ _ p) = (algebraMap _ K[X] p).eval₂ f a 
Arguments: {K : Type u} [Field K] {L : Type u} [Field L] (f : K →+* L) (a : L) {S : Type u_1} [CommSemiring S] [Algebra S (Polynomial K)] (p : S)
Goal: RatFunc.eval f a ((algebraMap S (RatFunc K)) p) = Polynomial.eval₂ f a ((algebraMap S (Polynomial K)) p)
-- RatFunc.eval_add
theorem eval_add {x y : RatFunc K} (hx : Polynomial.eval₂ f a (denom x) ≠ 0)
    (hy : Polynomial.eval₂ f a (denom y) ≠ 0) : eval f a (x + y) = eval f a x + eval f a y 
Arguments: {K : Type u} [Field K] {L : Type u} [Field L] (f : K →+* L) (a : L) {x y : RatFunc K} (hx : Polynomial.eval₂ f a x.denom ≠ 0) (hy : Polynomial.eval₂ f a y.denom ≠ 0)
Goal: RatFunc.eval f a (x + y) = RatFunc.eval f a x + RatFunc.eval f a y
-- RatFunc.eval_mul
theorem eval_mul {x y : RatFunc K} (hx : Polynomial.eval₂ f a (denom x) ≠ 0)
    (hy : Polynomial.eval₂ f a (denom y) ≠ 0) : eval f a (x * y) = eval f a x * eval f a y 
Arguments: {K : Type u} [Field K] {L : Type u} [Field L] (f : K →+* L) (a : L) {x y : RatFunc K} (hx : Polynomial.eval₂ f a x.denom ≠ 0) (hy : Polynomial.eval₂ f a y.denom ≠ 0)
Goal: RatFunc.eval f a (x * y) = RatFunc.eval f a x * RatFunc.eval f a y
-- Polynomial.idealX_span
@[simp]
theorem idealX_span : (idealX K).asIdeal = Ideal.span {X} 
Arguments: (K : Type u_1) [Field K]
Goal: (Polynomial.idealX K).asIdeal = Ideal.span {Polynomial.X}
-- Polynomial.valuation_X_eq_neg_one
@[simp]
theorem valuation_X_eq_neg_one :
    (idealX K).valuation (RatFunc.X : RatFunc K) = Multiplicative.ofAdd (-1 : ℤ) 
Arguments: (K : Type u_1) [Field K]
Goal: (Polynomial.idealX K).valuation RatFunc.X = ↑(Multiplicative.ofAdd (-1))
-- Polynomial.valuation_of_mk
theorem valuation_of_mk (f : Polynomial K) {g : Polynomial K} (hg : g ≠ 0) :
    (Polynomial.idealX K).valuation (RatFunc.mk f g) =
      (Polynomial.idealX K).intValuation f / (Polynomial.idealX K).intValuation g 
Arguments: (K : Type u_1) [Field K] (f : Polynomial K) {g : Polynomial K} (hg : g ≠ 0)
Goal: (Polynomial.idealX K).valuation (RatFunc.mk f g) =
  (Polynomial.idealX K).intValuation f / (Polynomial.idealX K).intValuation g
-- RatFunc.WithZero.valued_def
@[simp]
theorem WithZero.valued_def {x : RatFunc K} :
    @Valued.v (RatFunc K) _ _ _ _ x = (idealX K).valuation x 
Arguments: (K : Type u_1) [Field K] {x : RatFunc K}
Goal: Valued.v x = (Polynomial.idealX K).valuation x
-- IsNoetherian.iff_rank_lt_aleph0
theorem iff_rank_lt_aleph0 : IsNoetherian K V ↔ Module.rank K V < ℵ₀ 
Arguments: {K : Type u} {V : Type v} [DivisionRing K] [AddCommGroup V] [Module K V]
Goal: IsNoetherian K V ↔ Module.rank K V < ℵ₀
-- IsNoetherian.finite_basis_index
theorem finite_basis_index {ι : Type*} {s : Set ι} [IsNoetherian K V] (b : Basis s K V) :
    s.Finite 
Arguments: {K : Type u} {V : Type v} [DivisionRing K] [AddCommGroup V] [Module K V] {ι : Type u_1} {s : Set ι} [IsNoetherian K V] (b : Basis (↑s) K V)
Goal: s.Finite
-- IsNoetherian.coe_finsetBasisIndex
@[simp]
theorem coe_finsetBasisIndex [IsNoetherian K V] :
    (↑(finsetBasisIndex K V) : Set V) = Basis.ofVectorSpaceIndex K V 
Arguments: (K : Type u) (V : Type v) [DivisionRing K] [AddCommGroup V] [Module K V] [IsNoetherian K V]
Goal: ↑(IsNoetherian.finsetBasisIndex K V) = Basis.ofVectorSpaceIndex K V
-- IsNoetherian.coeSort_finsetBasisIndex
@[simp]
theorem coeSort_finsetBasisIndex [IsNoetherian K V] :
    (finsetBasisIndex K V : Type _) = Basis.ofVectorSpaceIndex K V 
Arguments: (K : Type u) (V : Type v) [DivisionRing K] [AddCommGroup V] [Module K V] [IsNoetherian K V]
Goal: { x // x ∈ IsNoetherian.finsetBasisIndex K V } = ↑(Basis.ofVectorSpaceIndex K V)
-- IsNoetherian.range_finsetBasis
@[simp]
theorem range_finsetBasis [IsNoetherian K V] :
    Set.range (finsetBasis K V) = Basis.ofVectorSpaceIndex K V 
Arguments: (K : Type u) (V : Type v) [DivisionRing K] [AddCommGroup V] [Module K V] [IsNoetherian K V]
Goal: Set.range ⇑(IsNoetherian.finsetBasis K V) = Basis.ofVectorSpaceIndex K V
-- IsNoetherian.iff_fg
theorem iff_fg : IsNoetherian K V ↔ Module.Finite K V 
Arguments: {K : Type u} {V : Type v} [DivisionRing K] [AddCommGroup V] [Module K V]
Goal: IsNoetherian K V ↔ Module.Finite K V
-- Basis.repr_injective
theorem repr_injective : Injective (repr : Basis ι R M → M ≃ₗ[R] ι →₀ R) 
Arguments: {ι : Type u_1} {R : Type u_3} {M : Type u_6} [Semiring R] [AddCommMonoid M] [Module R M]
Goal: Function.Injective Basis.repr
-- Basis.coe_ofRepr
@[simp]
theorem coe_ofRepr (e : M ≃ₗ[R] ι →₀ R) : ⇑(ofRepr e) = fun i => e.symm (Finsupp.single i 1) 
Arguments: {ι : Type u_1} {R : Type u_3} {M : Type u_6} [Semiring R] [AddCommMonoid M] [Module R M] (e : M ≃ₗ[R] ι →₀ R)
Goal: ⇑{ repr := e } = fun i => e.symm (Finsupp.single i 1)
-- Basis.injective
protected theorem injective [Nontrivial R] : Injective b 
Arguments: {ι : Type u_1} {R : Type u_3} {M : Type u_6} [Semiring R] [AddCommMonoid M] [Module R M] (b : Basis ι R M) [Nontrivial R]
Goal: Function.Injective ⇑b
-- Basis.repr_symm_single_one
theorem repr_symm_single_one : b.repr.symm (Finsupp.single i 1) = b i 
Arguments: {ι : Type u_1} {R : Type u_3} {M : Type u_6} [Semiring R] [AddCommMonoid M] [Module R M] (b : Basis ι R M) (i : ι)
Goal: b.repr.symm (Finsupp.single i 1) = b i
-- Basis.repr_symm_single
theorem repr_symm_single : b.repr.symm (Finsupp.single i c) = c • b i 
Arguments: {ι : Type u_1} {R : Type u_3} {M : Type u_6} [Semiring R] [AddCommMonoid M] [Module R M] (b : Basis ι R M) (i : ι) (c : R)
Goal: b.repr.symm (Finsupp.single i c) = c • b i
-- Basis.repr_self
@[simp]
theorem repr_self : b.repr (b i) = Finsupp.single i 1 
Arguments: {ι : Type u_1} {R : Type u_3} {M : Type u_6} [Semiring R] [AddCommMonoid M] [Module R M] (b : Basis ι R M) (i : ι)
Goal: b.repr (b i) = Finsupp.single i 1
-- Basis.repr_self_apply
theorem repr_self_apply (j) [Decidable (i = j)] : b.repr (b i) j = if i = j then 1 else 0 
Arguments: {ι : Type u_1} {R : Type u_3} {M : Type u_6} [Semiring R] [AddCommMonoid M] [Module R M] (b : Basis ι R M) (i j : ι) [Decidable (i = j)]
Goal: (b.repr (b i)) j = if i = j then 1 else 0
-- Basis.repr_symm_apply
@[simp]
theorem repr_symm_apply (v) : b.repr.symm v = Finsupp.total ι M R b v 
Arguments: {ι : Type u_1} {R : Type u_3} {M : Type u_6} [Semiring R] [AddCommMonoid M] [Module R M] (b : Basis ι R M) (v : ι →₀ R)
Goal: b.repr.symm v = (Finsupp.total ι M R ⇑b) v
-- Basis.coe_repr_symm
@[simp]
theorem coe_repr_symm : ↑b.repr.symm = Finsupp.total ι M R b 
Arguments: {ι : Type u_1} {R : Type u_3} {M : Type u_6} [Semiring R] [AddCommMonoid M] [Module R M] (b : Basis ι R M)
Goal: ↑b.repr.symm = Finsupp.total ι M R ⇑b
-- Basis.repr_total
@[simp]
theorem repr_total (v) : b.repr (Finsupp.total _ _ _ b v) = v 
Arguments: {ι : Type u_1} {R : Type u_3} {M : Type u_6} [Semiring R] [AddCommMonoid M] [Module R M] (b : Basis ι R M) (v : ι →₀ R)
Goal: b.repr ((Finsupp.total ι M R ⇑b) v) = v
-- Basis.total_repr
@[simp]
theorem total_repr : Finsupp.total _ _ _ b (b.repr x) = x 
Arguments: {ι : Type u_1} {R : Type u_3} {M : Type u_6} [Semiring R] [AddCommMonoid M] [Module R M] (b : Basis ι R M) (x : M)
Goal: (Finsupp.total ι M R ⇑b) (b.repr x) = x
-- Basis.repr_range
theorem repr_range : LinearMap.range (b.repr : M →ₗ[R] ι →₀ R) = Finsupp.supported R R univ 
Arguments: {ι : Type u_1} {R : Type u_3} {M : Type u_6} [Semiring R] [AddCommMonoid M] [Module R M] (b : Basis ι R M)
Goal: LinearMap.range ↑b.repr = Finsupp.supported R R Set.univ
-- Basis.mem_span_repr_support
theorem mem_span_repr_support (m : M) : m ∈ span R (b '' (b.repr m).support) 
Arguments: {ι : Type u_1} {R : Type u_3} {M : Type u_6} [Semiring R] [AddCommMonoid M] [Module R M] (b : Basis ι R M) (m : M)
Goal: m ∈ Submodule.span R (⇑b '' ↑(b.repr m).support)
-- Basis.repr_support_subset_of_mem_span
theorem repr_support_subset_of_mem_span (s : Set ι) {m : M}
    (hm : m ∈ span R (b '' s)) : ↑(b.repr m).support ⊆ s 
Arguments: {ι : Type u_1} {R : Type u_3} {M : Type u_6} [Semiring R] [AddCommMonoid M] [Module R M] (b : Basis ι R M) (s : Set ι) {m : M} (hm : m ∈ Submodule.span R (⇑b '' s))
Goal: ↑(b.repr m).support ⊆ s
-- Basis.mem_span_image
theorem mem_span_image {m : M} {s : Set ι} : m ∈ span R (b '' s) ↔ ↑(b.repr m).support ⊆ s 
Arguments: {ι : Type u_1} {R : Type u_3} {M : Type u_6} [Semiring R] [AddCommMonoid M] [Module R M] (b : Basis ι R M) {m : M} {s : Set ι}
Goal: m ∈ Submodule.span R (⇑b '' s) ↔ ↑(b.repr m).support ⊆ s
-- Basis.self_mem_span_image
@[simp]
theorem self_mem_span_image [Nontrivial R] {i : ι} {s : Set ι} :
    b i ∈ span R (b '' s) ↔ i ∈ s 
Arguments: {ι : Type u_1} {R : Type u_3} {M : Type u_6} [Semiring R] [AddCommMonoid M] [Module R M] (b : Basis ι R M) [Nontrivial R] {i : ι} {s : Set ι}
Goal: b i ∈ Submodule.span R (⇑b '' s) ↔ i ∈ s
-- Basis.coord_apply
@[simps!]
def coord : M →ₗ[R] R 
Arguments: {ι : Type u_1} {R : Type u_3} {M : Type u_6} [Semiring R] [AddCommMonoid M] [Module R M] (b : Basis ι R M) (i : ι)
Goal: ∀ (a : M), (b.coord i) a = (b.repr a) i
-- Basis.forall_coord_eq_zero_iff
theorem forall_coord_eq_zero_iff {x : M} : (∀ i, b.coord i x = 0) ↔ x = 0 
Arguments: {ι : Type u_1} {R : Type u_3} {M : Type u_6} [Semiring R] [AddCommMonoid M] [Module R M] (b : Basis ι R M) {x : M}
Goal: (∀ (i : ι), (b.coord i) x = 0) ↔ x = 0
-- Basis.coe_sumCoords
@[simp]
theorem coe_sumCoords : (b.sumCoords : M → R) = fun m => (b.repr m).sum fun _ => id 
Arguments: {ι : Type u_1} {R : Type u_3} {M : Type u_6} [Semiring R] [AddCommMonoid M] [Module R M] (b : Basis ι R M)
Goal: ⇑b.sumCoords = fun m => (b.repr m).sum fun x => id
-- Basis.coe_sumCoords_eq_finsum
theorem coe_sumCoords_eq_finsum : (b.sumCoords : M → R) = fun m => ∑ᶠ i, b.coord i m 
Arguments: {ι : Type u_1} {R : Type u_3} {M : Type u_6} [Semiring R] [AddCommMonoid M] [Module R M] (b : Basis ι R M)
Goal: ⇑b.sumCoords = fun m => ∑ᶠ (i : ι), (b.coord i) m
-- Basis.coe_sumCoords_of_fintype
@[simp high]
theorem coe_sumCoords_of_fintype [Fintype ι] : (b.sumCoords : M → R) = ∑ i, b.coord i 
Arguments: {ι : Type u_1} {R : Type u_3} {M : Type u_6} [Semiring R] [AddCommMonoid M] [Module R M] (b : Basis ι R M) [Fintype ι]
Goal: ⇑b.sumCoords = ⇑(∑ i : ι, b.coord i)
-- Basis.sumCoords_self_apply
@[simp]
theorem sumCoords_self_apply : b.sumCoords (b i) = 1 
Arguments: {ι : Type u_1} {R : Type u_3} {M : Type u_6} [Semiring R] [AddCommMonoid M] [Module R M] (b : Basis ι R M) (i : ι)
Goal: b.sumCoords (b i) = 1
-- Basis.dvd_coord_smul
theorem dvd_coord_smul (i : ι) (m : M) (r : R) : r ∣ b.coord i (r • m) 
Arguments: {ι : Type u_1} {R : Type u_3} {M : Type u_6} [Semiring R] [AddCommMonoid M] [Module R M] (b : Basis ι R M) (i : ι) (m : M) (r : R)
Goal: r ∣ (b.coord i) (r • m)
-- Basis.coord_repr_symm
theorem coord_repr_symm (b : Basis ι R M) (i : ι) (f : ι →₀ R) :
    b.coord i (b.repr.symm f) = f i 
Arguments: {ι : Type u_1} {R : Type u_3} {M : Type u_6} [Semiring R] [AddCommMonoid M] [Module R M] (b : Basis ι R M) (i : ι) (f : ι →₀ R)
Goal: (b.coord i) (b.repr.symm f) = f i
-- Basis.ext
theorem ext {f₁ f₂ : M →ₛₗ[σ] M₁} (h : ∀ i, f₁ (b i) = f₂ (b i)) : f₁ = f₂ 
Arguments: {ι : Type u_1} {R : Type u_3} {M : Type u_6} [Semiring R] [AddCommMonoid M] [Module R M] (b : Basis ι R M) {R₁ : Type u_10} [Semiring R₁] {σ : R →+* R₁} {M₁ : Type u_11} [AddCommMonoid M₁] [Module R₁ M₁] {f₁ f₂ : M →ₛₗ[σ] M₁} (h : ∀ (i : ι), f₁ (b i) = f₂ (b i))
Goal: f₁ = f₂
-- Basis.ext'
theorem ext' {f₁ f₂ : M ≃ₛₗ[σ] M₁} (h : ∀ i, f₁ (b i) = f₂ (b i)) : f₁ = f₂ 
Arguments: {ι : Type u_1} {R : Type u_3} {M : Type u_6} [Semiring R] [AddCommMonoid M] [Module R M] (b : Basis ι R M) {R₁ : Type u_10} [Semiring R₁] {σ : R →+* R₁} {σ' : R₁ →+* R} [RingHomInvPair σ σ'] [RingHomInvPair σ' σ] {M₁ : Type u_11} [AddCommMonoid M₁] [Module R₁ M₁] {f₁ f₂ : M ≃ₛₗ[σ] M₁} (h : ∀ (i : ι), f₁ (b i) = f₂ (b i))
Goal: f₁ = f₂
-- Basis.ext_elem_iff
theorem ext_elem_iff {x y : M} : x = y ↔ ∀ i, b.repr x i = b.repr y i 
Arguments: {ι : Type u_1} {R : Type u_3} {M : Type u_6} [Semiring R] [AddCommMonoid M] [Module R M] (b : Basis ι R M) {x y : M}
Goal: x = y ↔ ∀ (i : ι), (b.repr x) i = (b.repr y) i
-- Basis.repr_eq_iff
theorem repr_eq_iff {b : Basis ι R M} {f : M →ₗ[R] ι →₀ R} :
    ↑b.repr = f ↔ ∀ i, f (b i) = Finsupp.single i 1 
Arguments: {ι : Type u_1} {R : Type u_3} {M : Type u_6} [Semiring R] [AddCommMonoid M] [Module R M] {b : Basis ι R M} {f : M →ₗ[R] ι →₀ R}
Goal: ↑b.repr = f ↔ ∀ (i : ι), f (b i) = Finsupp.single i 1
-- Basis.repr_eq_iff'
theorem repr_eq_iff' {b : Basis ι R M} {f : M ≃ₗ[R] ι →₀ R} :
    b.repr = f ↔ ∀ i, f (b i) = Finsupp.single i 1 
Arguments: {ι : Type u_1} {R : Type u_3} {M : Type u_6} [Semiring R] [AddCommMonoid M] [Module R M] {b : Basis ι R M} {f : M ≃ₗ[R] ι →₀ R}
Goal: b.repr = f ↔ ∀ (i : ι), f (b i) = Finsupp.single i 1
-- Basis.apply_eq_iff
theorem apply_eq_iff {b : Basis ι R M} {x : M} {i : ι} : b i = x ↔ b.repr x = Finsupp.single i 1 
Arguments: {ι : Type u_1} {R : Type u_3} {M : Type u_6} [Semiring R] [AddCommMonoid M] [Module R M] {b : Basis ι R M} {x : M} {i : ι}
Goal: b i = x ↔ b.repr x = Finsupp.single i 1
-- Basis.repr_apply_eq
theorem repr_apply_eq (f : M → ι → R) (hadd : ∀ x y, f (x + y) = f x + f y)
    (hsmul : ∀ (c : R) (x : M), f (c • x) = c • f x) (f_eq : ∀ i, f (b i) = Finsupp.single i 1)
    (x : M) (i : ι) : b.repr x i = f x i 
Arguments: {ι : Type u_1} {R : Type u_3} {M : Type u_6} [Semiring R] [AddCommMonoid M] [Module R M] (b : Basis ι R M) (f : M → ι → R) (hadd : ∀ (x y : M), f (x + y) = f x + f y) (hsmul : ∀ (c : R) (x : M), f (c • x) = c • f x) (f_eq : ∀ (i : ι), f (b i) = ⇑(Finsupp.single i 1)) (x : M) (i : ι)
Goal: (b.repr x) i = f x i
-- Basis.eq_ofRepr_eq_repr
theorem eq_ofRepr_eq_repr {b₁ b₂ : Basis ι R M} (h : ∀ x i, b₁.repr x i = b₂.repr x i) : b₁ = b₂ 
Arguments: {ι : Type u_1} {R : Type u_3} {M : Type u_6} [Semiring R] [AddCommMonoid M] [Module R M] {b₁ b₂ : Basis ι R M} (h : ∀ (x : M) (i : ι), (b₁.repr x) i = (b₂.repr x) i)
Goal: b₁ = b₂