ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
-- Basis.eq_of_apply_eq
@[ext]
theorem eq_of_apply_eq {b₁ b₂ : Basis ι R M} : (∀ i, b₁ i = b₂ 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}
Goal: (∀ (i : ι), b₁ i = b₂ i) → b₁ = b₂
-- Basis.map_repr
@[simps]
protected def map : Basis ι R M' 
Arguments: {ι : Type u_1} {R : Type u_3} {M : Type u_6} {M' : Type u_7} [Semiring R] [AddCommMonoid M] [Module R M] [AddCommMonoid M'] [Module R M'] (b : Basis ι R M) (f : M ≃ₗ[R] M')
Goal: (b.map f).repr = f.symm ≪≫ₗ b.repr
-- Basis.map_apply
@[simp]
theorem map_apply (i) : b.map f i = f (b i) 
Arguments: {ι : Type u_1} {R : Type u_3} {M : Type u_6} {M' : Type u_7} [Semiring R] [AddCommMonoid M] [Module R M] [AddCommMonoid M'] [Module R M'] (b : Basis ι R M) (f : M ≃ₗ[R] M') (i : ι)
Goal: (b.map f) i = f (b i)
-- Basis.coe_map
theorem coe_map : (b.map f : ι → M') = f ∘ b 
Arguments: {ι : Type u_1} {R : Type u_3} {M : Type u_6} {M' : Type u_7} [Semiring R] [AddCommMonoid M] [Module R M] [AddCommMonoid M'] [Module R M'] (b : Basis ι R M) (f : M ≃ₗ[R] M')
Goal: ⇑(b.map f) = ⇑f ∘ ⇑b
-- Basis.smul_apply
@[simp]
theorem smul_apply (g : G) (b : Basis ι R M) (i : ι) : (g • b) i = g • b i 
Arguments: {ι : Type u_1} {R : Type u_3} {M : Type u_6} [Semiring R] [AddCommMonoid M] [Module R M] {G : Type u_10} [Group G] [DistribMulAction G M] [SMulCommClass G R M] (g : G) (b : Basis ι R M) (i : ι)
Goal: (g • b) i = g • b i
-- Basis.coe_smul
@[norm_cast] theorem coe_smul (g : G) (b : Basis ι R M) : ⇑(g • b) = g • ⇑b 
Arguments: {ι : Type u_1} {R : Type u_3} {M : Type u_6} [Semiring R] [AddCommMonoid M] [Module R M] {G : Type u_10} [Group G] [DistribMulAction G M] [SMulCommClass G R M] (g : G) (b : Basis ι R M)
Goal: ⇑(g • b) = g • ⇑b
-- Basis.smul_eq_map
@[simp]
theorem smul_eq_map (g : M ≃ₗ[R] M) (b : Basis ι R M) : g • b = b.map g 
Arguments: {ι : Type u_1} {R : Type u_3} {M : Type u_6} [Semiring R] [AddCommMonoid M] [Module R M] (g : M ≃ₗ[R] M) (b : Basis ι R M)
Goal: g • b = b.map g
-- Basis.repr_smul
@[simp] theorem repr_smul (g : G) (b : Basis ι R M) :
    (g • b).repr = (DistribMulAction.toLinearEquiv _ _ g).symm.trans b.repr 
Arguments: {ι : Type u_1} {R : Type u_3} {M : Type u_6} [Semiring R] [AddCommMonoid M] [Module R M] {G : Type u_10} [Group G] [DistribMulAction G M] [SMulCommClass G R M] (g : G) (b : Basis ι R M)
Goal: (g • b).repr = (DistribMulAction.toLinearEquiv R M g).symm ≪≫ₗ b.repr
-- Basis.mapCoeffs_repr
@[simps (config := { simpRhs := true })]
def mapCoeffs : Basis ι 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) {R' : Type u_10} [Semiring R'] [Module R' M] (f : R ≃+* R') (h : ∀ (c : R) (x : M), f c • x = c • x)
Goal: (b.mapCoeffs f h).repr =
  LinearEquiv.restrictScalars R' b.repr ≪≫ₗ Finsupp.mapRange.linearEquiv (Module.compHom.toLinearEquiv f.symm).symm
-- Basis.mapCoeffs_apply
theorem mapCoeffs_apply (i : ι) : b.mapCoeffs f h i = 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) {R' : Type u_10} [Semiring R'] [Module R' M] (f : R ≃+* R') (h : ∀ (c : R) (x : M), f c • x = c • x) (i : ι)
Goal: (b.mapCoeffs f h) i = b i
-- Basis.coe_mapCoeffs
@[simp]
theorem coe_mapCoeffs : (b.mapCoeffs f h : ι → M) = b 
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'] [Module R' M] (f : R ≃+* R') (h : ∀ (c : R) (x : M), f c • x = c • x)
Goal: ⇑(b.mapCoeffs f h) = ⇑b
-- Basis.reindex_apply
theorem reindex_apply (i' : ι') : b.reindex e i' = b (e.symm i') 
Arguments: {ι : Type u_1} {ι' : Type u_2} {R : Type u_3} {M : Type u_6} [Semiring R] [AddCommMonoid M] [Module R M] (b : Basis ι R M) (e : ι ≃ ι') (i' : ι')
Goal: (b.reindex e) i' = b (e.symm i')
-- Basis.coe_reindex
@[simp]
theorem coe_reindex : (b.reindex e : ι' → M) = b ∘ e.symm 
Arguments: {ι : Type u_1} {ι' : Type u_2} {R : Type u_3} {M : Type u_6} [Semiring R] [AddCommMonoid M] [Module R M] (b : Basis ι R M) (e : ι ≃ ι')
Goal: ⇑(b.reindex e) = ⇑b ∘ ⇑e.symm
-- Basis.repr_reindex_apply
theorem repr_reindex_apply (i' : ι') : (b.reindex e).repr x i' = b.repr x (e.symm i') 
Arguments: {ι : Type u_1} {ι' : Type u_2} {R : Type u_3} {M : Type u_6} [Semiring R] [AddCommMonoid M] [Module R M] (b : Basis ι R M) (x : M) (e : ι ≃ ι') (i' : ι')
Goal: ((b.reindex e).repr x) i' = (b.repr x) (e.symm i')
-- Basis.repr_reindex
@[simp]
theorem repr_reindex : (b.reindex e).repr x = (b.repr x).mapDomain e 
Arguments: {ι : Type u_1} {ι' : Type u_2} {R : Type u_3} {M : Type u_6} [Semiring R] [AddCommMonoid M] [Module R M] (b : Basis ι R M) (x : M) (e : ι ≃ ι')
Goal: (b.reindex e).repr x = Finsupp.mapDomain (⇑e) (b.repr x)
-- Basis.reindex_refl
@[simp]
theorem reindex_refl : b.reindex (Equiv.refl ι) = 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.reindex (Equiv.refl ι) = b
-- Basis.range_reindex
theorem range_reindex : Set.range (b.reindex e) = Set.range b 
Arguments: {ι : Type u_1} {ι' : Type u_2} {R : Type u_3} {M : Type u_6} [Semiring R] [AddCommMonoid M] [Module R M] (b : Basis ι R M) (e : ι ≃ ι')
Goal: Set.range ⇑(b.reindex e) = Set.range ⇑b
-- Basis.sumCoords_reindex
@[simp]
theorem sumCoords_reindex : (b.reindex e).sumCoords = b.sumCoords 
Arguments: {ι : Type u_1} {ι' : Type u_2} {R : Type u_3} {M : Type u_6} [Semiring R] [AddCommMonoid M] [Module R M] (b : Basis ι R M) (e : ι ≃ ι')
Goal: (b.reindex e).sumCoords = b.sumCoords
-- Basis.reindexRange_self
theorem reindexRange_self (i : ι) (h := Set.mem_range_self i) : b.reindexRange ⟨b i, h⟩ = 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 : ι) (h : b i ∈ Set.range ⇑b := ⋯)
Goal: b.reindexRange ⟨b i, h⟩ = b i
-- Basis.reindexRange_repr_self
theorem reindexRange_repr_self (i : ι) :
    b.reindexRange.repr (b i) = Finsupp.single ⟨b i, mem_range_self 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.reindexRange.repr (b i) = Finsupp.single ⟨b i, ⋯⟩ 1
-- Basis.reindexRange_apply
@[simp]
theorem reindexRange_apply (x : range b) : b.reindexRange 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 : ↑(Set.range ⇑b))
Goal: b.reindexRange x = ↑x
-- Basis.reindexRange_repr'
theorem reindexRange_repr' (x : M) {bi : M} {i : ι} (h : b i = bi) :
    b.reindexRange.repr x ⟨bi, ⟨i, h⟩⟩ = b.repr 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) (x : M) {bi : M} {i : ι} (h : b i = bi)
Goal: (b.reindexRange.repr x) ⟨bi, ⋯⟩ = (b.repr x) i
-- Basis.reindexRange_repr
@[simp]
theorem reindexRange_repr (x : M) (i : ι) (h := Set.mem_range_self i) :
    b.reindexRange.repr x ⟨b i, h⟩ = b.repr 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) (x : M) (i : ι) (h : b i ∈ Set.range ⇑b := ⋯)
Goal: (b.reindexRange.repr x) ⟨b i, h⟩ = (b.repr x) i
-- Basis.reindexFinsetRange_self
theorem reindexFinsetRange_self (i : ι) (h := Finset.mem_image_of_mem b (Finset.mem_univ i)) :
    b.reindexFinsetRange ⟨b i, h⟩ = 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) [Fintype ι] [DecidableEq M] (i : ι) (h : b i ∈ Finset.image (⇑b) Finset.univ := ⋯)
Goal: b.reindexFinsetRange ⟨b i, h⟩ = b i
-- Basis.reindexFinsetRange_apply
@[simp]
theorem reindexFinsetRange_apply (x : Finset.univ.image b) : b.reindexFinsetRange 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) [Fintype ι] [DecidableEq M] (x : { x // x ∈ Finset.image (⇑b) Finset.univ })
Goal: b.reindexFinsetRange x = ↑x
-- Basis.reindexFinsetRange_repr_self
theorem reindexFinsetRange_repr_self (i : ι) :
    b.reindexFinsetRange.repr (b i) =
      Finsupp.single ⟨b i, Finset.mem_image_of_mem b (Finset.mem_univ 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) [Fintype ι] [DecidableEq M] (i : ι)
Goal: b.reindexFinsetRange.repr (b i) = Finsupp.single ⟨b i, ⋯⟩ 1
-- Basis.reindexFinsetRange_repr
@[simp]
theorem reindexFinsetRange_repr (x : M) (i : ι)
    (h := Finset.mem_image_of_mem b (Finset.mem_univ i)) :
    b.reindexFinsetRange.repr x ⟨b i, h⟩ = b.repr 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) [Fintype ι] [DecidableEq M] (x : M) (i : ι) (h : b i ∈ Finset.image (⇑b) Finset.univ := ⋯)
Goal: (b.reindexFinsetRange.repr x) ⟨b i, h⟩ = (b.repr x) i
-- Basis.linearIndependent
protected theorem linearIndependent : LinearIndependent 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: LinearIndependent R ⇑b
-- Basis.ne_zero
protected theorem ne_zero [Nontrivial R] (i) : b i ≠ 0 
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 : ι)
Goal: b i ≠ 0
-- Basis.mem_span
protected theorem mem_span (x : M) : x ∈ span R (range b) 
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: x ∈ Submodule.span R (Set.range ⇑b)
-- Basis.span_eq
@[simp]
protected theorem span_eq : span R (range 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: Submodule.span R (Set.range ⇑b) = ⊤
-- Basis.index_nonempty
theorem index_nonempty (b : Basis ι R M) [Nontrivial M] : Nonempty ι 
Arguments: {ι : Type u_1} {R : Type u_3} {M : Type u_6} [Semiring R] [AddCommMonoid M] [Module R M] (b : Basis ι R M) [Nontrivial M]
Goal: Nonempty ι
-- Basis.mem_submodule_iff
theorem mem_submodule_iff {P : Submodule R M} (b : Basis ι R P) {x : M} :
    x ∈ P ↔ ∃ c : ι →₀ R, x = Finsupp.sum c fun i x => x • (b i : M) 
Arguments: {ι : Type u_1} {R : Type u_3} {M : Type u_6} [Semiring R] [AddCommMonoid M] [Module R M] {P : Submodule R M} (b : Basis ι R ↥P) {x : M}
Goal: x ∈ P ↔ ∃ c, x = c.sum fun i x => x • ↑(b i)
-- Basis.constr_def
theorem constr_def (f : ι → M') :
    constr (M' := M') b S f = Finsupp.total M' M' R id ∘ₗ Finsupp.lmapDomain R R f ∘ₗ ↑b.repr 
Arguments: {ι : Type u_1} {R : Type u_3} {M : Type u_6} {M' : Type u_7} [Semiring R] [AddCommMonoid M] [Module R M] [AddCommMonoid M'] [Module R M'] (b : Basis ι R M) (S : Type u_10) [Semiring S] [Module S M'] [SMulCommClass R S M'] (f : ι → M')
Goal: (b.constr S) f = Finsupp.total M' M' R id ∘ₗ Finsupp.lmapDomain R R f ∘ₗ ↑b.repr
-- Basis.constr_apply
theorem constr_apply (f : ι → M') (x : M) :
    constr (M' := M') b S f x = (b.repr x).sum fun b a => a • f b 
Arguments: {ι : Type u_1} {R : Type u_3} {M : Type u_6} {M' : Type u_7} [Semiring R] [AddCommMonoid M] [Module R M] [AddCommMonoid M'] [Module R M'] (b : Basis ι R M) (S : Type u_10) [Semiring S] [Module S M'] [SMulCommClass R S M'] (f : ι → M') (x : M)
Goal: ((b.constr S) f) x = (b.repr x).sum fun b a => a • f b
-- Basis.constr_basis
@[simp]
theorem constr_basis (f : ι → M') (i : ι) : (constr (M' := M') b S f : M → M') (b i) = f i 
Arguments: {ι : Type u_1} {R : Type u_3} {M : Type u_6} {M' : Type u_7} [Semiring R] [AddCommMonoid M] [Module R M] [AddCommMonoid M'] [Module R M'] (b : Basis ι R M) (S : Type u_10) [Semiring S] [Module S M'] [SMulCommClass R S M'] (f : ι → M') (i : ι)
Goal: ((b.constr S) f) (b i) = f i
-- Basis.constr_eq
theorem constr_eq {g : ι → M'} {f : M →ₗ[R] M'} (h : ∀ i, g i = f (b i)) :
    constr (M' := M') b S g = f 
Arguments: {ι : Type u_1} {R : Type u_3} {M : Type u_6} {M' : Type u_7} [Semiring R] [AddCommMonoid M] [Module R M] [AddCommMonoid M'] [Module R M'] (b : Basis ι R M) (S : Type u_10) [Semiring S] [Module S M'] [SMulCommClass R S M'] {g : ι → M'} {f : M →ₗ[R] M'} (h : ∀ (i : ι), g i = f (b i))
Goal: (b.constr S) g = f
-- Basis.constr_self
theorem constr_self (f : M →ₗ[R] M') : (constr (M' := M') b S fun i => f (b i)) = f 
Arguments: {ι : Type u_1} {R : Type u_3} {M : Type u_6} {M' : Type u_7} [Semiring R] [AddCommMonoid M] [Module R M] [AddCommMonoid M'] [Module R M'] (b : Basis ι R M) (S : Type u_10) [Semiring S] [Module S M'] [SMulCommClass R S M'] (f : M →ₗ[R] M')
Goal: ((b.constr S) fun i => f (b i)) = f
-- Basis.constr_range
theorem constr_range {f : ι → M'} :
    LinearMap.range (constr (M' := M') b S f) = span R (range f) 
Arguments: {ι : Type u_1} {R : Type u_3} {M : Type u_6} {M' : Type u_7} [Semiring R] [AddCommMonoid M] [Module R M] [AddCommMonoid M'] [Module R M'] (b : Basis ι R M) (S : Type u_10) [Semiring S] [Module S M'] [SMulCommClass R S M'] {f : ι → M'}
Goal: LinearMap.range ((b.constr S) f) = Submodule.span R (Set.range f)
-- Basis.constr_comp
@[simp]
theorem constr_comp (f : M' →ₗ[R] M') (v : ι → M') :
    constr (M' := M') b S (f ∘ v) = f.comp (constr (M' := M') b S v) 
Arguments: {ι : Type u_1} {R : Type u_3} {M : Type u_6} {M' : Type u_7} [Semiring R] [AddCommMonoid M] [Module R M] [AddCommMonoid M'] [Module R M'] (b : Basis ι R M) (S : Type u_10) [Semiring S] [Module S M'] [SMulCommClass R S M'] (f : M' →ₗ[R] M') (v : ι → M')
Goal: (b.constr S) (⇑f ∘ v) = f ∘ₗ (b.constr S) v
-- Basis.equiv_apply
@[simp]
theorem equiv_apply : b.equiv b' e (b i) = b' (e i) 
Arguments: {ι : Type u_1} {ι' : Type u_2} {R : Type u_3} {M : Type u_6} {M' : Type u_7} [Semiring R] [AddCommMonoid M] [Module R M] [AddCommMonoid M'] [Module R M'] (b : Basis ι R M) (i : ι) (b' : Basis ι' R M') (e : ι ≃ ι')
Goal: (b.equiv b' e) (b i) = b' (e i)
-- Basis.equiv_refl
@[simp]
theorem equiv_refl : b.equiv b (Equiv.refl ι) = LinearEquiv.refl 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)
Goal: b.equiv b (Equiv.refl ι) = LinearEquiv.refl R M
-- Basis.equiv_symm
@[simp]
theorem equiv_symm : (b.equiv b' e).symm = b'.equiv b e.symm 
Arguments: {ι : Type u_1} {ι' : Type u_2} {R : Type u_3} {M : Type u_6} {M' : Type u_7} [Semiring R] [AddCommMonoid M] [Module R M] [AddCommMonoid M'] [Module R M'] (b : Basis ι R M) (b' : Basis ι' R M') (e : ι ≃ ι')
Goal: (b.equiv b' e).symm = b'.equiv b e.symm
-- Basis.equiv_trans
@[simp]
theorem equiv_trans {ι'' : Type*} (b'' : Basis ι'' R M'') (e : ι ≃ ι') (e' : ι' ≃ ι'') :
    (b.equiv b' e).trans (b'.equiv b'' e') = b.equiv b'' (e.trans e') 
Arguments: {ι : Type u_1} {ι' : Type u_2} {R : Type u_3} {M : Type u_6} {M' : Type u_7} {M'' : Type u_8} [Semiring R] [AddCommMonoid M] [Module R M] [AddCommMonoid M'] [Module R M'] (b : Basis ι R M) (b' : Basis ι' R M') [AddCommMonoid M''] [Module R M''] {ι'' : Type u_10} (b'' : Basis ι'' R M'') (e : ι ≃ ι') (e' : ι' ≃ ι'')
Goal: b.equiv b' e ≪≫ₗ b'.equiv b'' e' = b.equiv b'' (e.trans e')
-- Basis.map_equiv
@[simp]
theorem map_equiv (b : Basis ι R M) (b' : Basis ι' R M') (e : ι ≃ ι') :
    b.map (b.equiv b' e) = b'.reindex e.symm 
Arguments: {ι : Type u_1} {ι' : Type u_2} {R : Type u_3} {M : Type u_6} {M' : Type u_7} [Semiring R] [AddCommMonoid M] [Module R M] [AddCommMonoid M'] [Module R M'] (b : Basis ι R M) (b' : Basis ι' R M') (e : ι ≃ ι')
Goal: b.map (b.equiv b' e) = b'.reindex e.symm
-- Basis.prod_repr_inl
@[simp]
theorem prod_repr_inl (x) (i) : (b.prod b').repr x (Sum.inl i) = b.repr x.1 i 
Arguments: {ι : Type u_1} {ι' : Type u_2} {R : Type u_3} {M : Type u_6} {M' : Type u_7} [Semiring R] [AddCommMonoid M] [Module R M] [AddCommMonoid M'] [Module R M'] (b : Basis ι R M) (b' : Basis ι' R M') (x : M × M') (i : ι)
Goal: ((b.prod b').repr x) (Sum.inl i) = (b.repr x.1) i
-- Basis.prod_repr_inr
@[simp]
theorem prod_repr_inr (x) (i) : (b.prod b').repr x (Sum.inr i) = b'.repr x.2 i 
Arguments: {ι : Type u_1} {ι' : Type u_2} {R : Type u_3} {M : Type u_6} {M' : Type u_7} [Semiring R] [AddCommMonoid M] [Module R M] [AddCommMonoid M'] [Module R M'] (b : Basis ι R M) (b' : Basis ι' R M') (x : M × M') (i : ι')
Goal: ((b.prod b').repr x) (Sum.inr i) = (b'.repr x.2) i
-- Basis.prod_apply_inl_fst
theorem prod_apply_inl_fst (i) : (b.prod b' (Sum.inl i)).1 = b i 
Arguments: {ι : Type u_1} {ι' : Type u_2} {R : Type u_3} {M : Type u_6} {M' : Type u_7} [Semiring R] [AddCommMonoid M] [Module R M] [AddCommMonoid M'] [Module R M'] (b : Basis ι R M) (b' : Basis ι' R M') (i : ι)
Goal: ((b.prod b') (Sum.inl i)).1 = b i
-- Basis.prod_apply_inr_fst
theorem prod_apply_inr_fst (i) : (b.prod b' (Sum.inr i)).1 = 0 
Arguments: {ι : Type u_1} {ι' : Type u_2} {R : Type u_3} {M : Type u_6} {M' : Type u_7} [Semiring R] [AddCommMonoid M] [Module R M] [AddCommMonoid M'] [Module R M'] (b : Basis ι R M) (b' : Basis ι' R M') (i : ι')
Goal: ((b.prod b') (Sum.inr i)).1 = 0
-- Basis.prod_apply_inl_snd
theorem prod_apply_inl_snd (i) : (b.prod b' (Sum.inl i)).2 = 0 
Arguments: {ι : Type u_1} {ι' : Type u_2} {R : Type u_3} {M : Type u_6} {M' : Type u_7} [Semiring R] [AddCommMonoid M] [Module R M] [AddCommMonoid M'] [Module R M'] (b : Basis ι R M) (b' : Basis ι' R M') (i : ι)
Goal: ((b.prod b') (Sum.inl i)).2 = 0
-- Basis.prod_apply_inr_snd
theorem prod_apply_inr_snd (i) : (b.prod b' (Sum.inr i)).2 = b' i 
Arguments: {ι : Type u_1} {ι' : Type u_2} {R : Type u_3} {M : Type u_6} {M' : Type u_7} [Semiring R] [AddCommMonoid M] [Module R M] [AddCommMonoid M'] [Module R M'] (b : Basis ι R M) (b' : Basis ι' R M') (i : ι')
Goal: ((b.prod b') (Sum.inr i)).2 = b' i
-- Basis.prod_apply
@[simp]
theorem prod_apply (i) :
    b.prod b' i = Sum.elim (LinearMap.inl R M M' ∘ b) (LinearMap.inr R M M' ∘ b') i 
Arguments: {ι : Type u_1} {ι' : Type u_2} {R : Type u_3} {M : Type u_6} {M' : Type u_7} [Semiring R] [AddCommMonoid M] [Module R M] [AddCommMonoid M'] [Module R M'] (b : Basis ι R M) (b' : Basis ι' R M') (i : ι ⊕ ι')
Goal: (b.prod b') i = Sum.elim (⇑(LinearMap.inl R M M') ∘ ⇑b) (⇑(LinearMap.inr R M M') ∘ ⇑b') i
-- Basis.noZeroSMulDivisors
protected theorem noZeroSMulDivisors [NoZeroDivisors R] (b : Basis ι R M) :
    NoZeroSMulDivisors R M 
Arguments: {ι : Type u_1} {R : Type u_3} {M : Type u_6} [Semiring R] [AddCommMonoid M] [Module R M] [NoZeroDivisors R] (b : Basis ι R M)
Goal: NoZeroSMulDivisors R M
-- Basis.smul_eq_zero
protected theorem smul_eq_zero [NoZeroDivisors R] (b : Basis ι R M) {c : R} {x : M} :
    c • x = 0 ↔ c = 0 ∨ x = 0 
Arguments: {ι : Type u_1} {R : Type u_3} {M : Type u_6} [Semiring R] [AddCommMonoid M] [Module R M] [NoZeroDivisors R] (b : Basis ι R M) {c : R} {x : M}
Goal: c • x = 0 ↔ c = 0 ∨ x = 0
-- Basis.eq_bot_of_rank_eq_zero
theorem eq_bot_of_rank_eq_zero [NoZeroDivisors R] (b : Basis ι R M) (N : Submodule R M)
    (rank_eq : ∀ {m : ℕ} (v : Fin m → N), LinearIndependent R ((↑) ∘ v : Fin m → M) → m = 0) :
    N = ⊥ 
Arguments: {ι : Type u_1} {R : Type u_3} {M : Type u_6} [Semiring R] [AddCommMonoid M] [Module R M] [NoZeroDivisors R] (b : Basis ι R M) (N : Submodule R M) (rank_eq : ∀ {m : ℕ} (v : Fin m → ↥N), LinearIndependent R (Subtype.val ∘ v) → m = 0)
Goal: N = ⊥
-- Basis.singleton_apply
@[simp]
theorem singleton_apply (ι R : Type*) [Unique ι] [Semiring R] (i) : Basis.singleton ι R i = 1 
Arguments: (ι : Type u_10) (R : Type u_11) [Unique ι] [Semiring R] (i : ι)
Goal: (Basis.singleton ι R) i = 1
-- Basis.singleton_repr
@[simp]
theorem singleton_repr (ι R : Type*) [Unique ι] [Semiring R] (x i) :
    (Basis.singleton ι R).repr x i = x 
Arguments: (ι : Type u_10) (R : Type u_11) [Unique ι] [Semiring R] (x : R) (i : ι)
Goal: ((Basis.singleton ι R).repr x) i = x
-- Basis.basis_singleton_iff
theorem basis_singleton_iff {R M : Type*} [Ring R] [Nontrivial R] [AddCommGroup M] [Module R M]
    [NoZeroSMulDivisors R M] (ι : Type*) [Unique ι] :
    Nonempty (Basis ι R M) ↔ ∃ x ≠ 0, ∀ y : M, ∃ r : R, r • x = y 
Arguments: {R : Type u_10} {M : Type u_11} [Ring R] [Nontrivial R] [AddCommGroup M] [Module R M] [NoZeroSMulDivisors R M] (ι : Type u_12) [Unique ι]
Goal: Nonempty (Basis ι R M) ↔ ∃ x, x ≠ 0 ∧ ∀ (y : M), ∃ r, r • x = y
-- Module.card_fintype
theorem Module.card_fintype [Fintype ι] (b : Basis ι R M) [Fintype R] [Fintype M] :
    card M = card R ^ card ι 
Arguments: {ι : Type u_1} {R : Type u_3} {M : Type u_6} [Semiring R] [AddCommMonoid M] [Module R M] [Fintype ι] (b : Basis ι R M) [Fintype R] [Fintype M]
Goal: Fintype.card M = Fintype.card R ^ Fintype.card ι
-- Basis.equivFun_symm_apply
@[simp]
theorem Basis.equivFun_symm_apply [Fintype ι] (b : Basis ι R M) (x : ι → R) :
    b.equivFun.symm x = ∑ i, x i • b i 
Arguments: {ι : Type u_1} {R : Type u_3} {M : Type u_6} [Semiring R] [AddCommMonoid M] [Module R M] [Fintype ι] (b : Basis ι R M) (x : ι → R)
Goal: b.equivFun.symm x = ∑ i : ι, x i • b i
-- Basis.equivFun_apply
@[simp]
theorem Basis.equivFun_apply [Finite ι] (b : Basis ι R M) (u : M) : b.equivFun u = b.repr u 
Arguments: {ι : Type u_1} {R : Type u_3} {M : Type u_6} [Semiring R] [AddCommMonoid M] [Module R M] [Finite ι] (b : Basis ι R M) (u : M)
Goal: b.equivFun u = ⇑(b.repr u)
-- Basis.map_equivFun
@[simp]
theorem Basis.map_equivFun [Finite ι] (b : Basis ι R M) (f : M ≃ₗ[R] M') :
    (b.map f).equivFun = f.symm.trans b.equivFun 
Arguments: {ι : Type u_1} {R : Type u_3} {M : Type u_6} {M' : Type u_7} [Semiring R] [AddCommMonoid M] [Module R M] [AddCommMonoid M'] [Module R M'] [Finite ι] (b : Basis ι R M) (f : M ≃ₗ[R] M')
Goal: (b.map f).equivFun = f.symm ≪≫ₗ b.equivFun
-- Basis.sum_equivFun
theorem Basis.sum_equivFun [Fintype ι] (b : Basis ι R M) (u : M) :
    ∑ i, b.equivFun u i • b i = u 
Arguments: {ι : Type u_1} {R : Type u_3} {M : Type u_6} [Semiring R] [AddCommMonoid M] [Module R M] [Fintype ι] (b : Basis ι R M) (u : M)
Goal: ∑ i : ι, b.equivFun u i • b i = u
-- Basis.sum_repr
theorem Basis.sum_repr [Fintype ι] (b : Basis ι R M) (u : M) : ∑ i, b.repr u i • b i = u 
Arguments: {ι : Type u_1} {R : Type u_3} {M : Type u_6} [Semiring R] [AddCommMonoid M] [Module R M] [Fintype ι] (b : Basis ι R M) (u : M)
Goal: ∑ i : ι, (b.repr u) i • b i = u
-- Basis.equivFun_self
@[simp]
theorem Basis.equivFun_self [Finite ι] [DecidableEq ι] (b : Basis ι R M) (i j : ι) :
    b.equivFun (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] [Finite ι] [DecidableEq ι] (b : Basis ι R M) (i j : ι)
Goal: b.equivFun (b i) j = if i = j then 1 else 0
-- Basis.repr_sum_self
theorem Basis.repr_sum_self [Fintype ι] (b : Basis ι R M) (c : ι → R) :
    b.repr (∑ i, c i • b i) = c 
Arguments: {ι : Type u_1} {R : Type u_3} {M : Type u_6} [Semiring R] [AddCommMonoid M] [Module R M] [Fintype ι] (b : Basis ι R M) (c : ι → R)
Goal: ⇑(b.repr (∑ i : ι, c i • b i)) = c
-- Basis.ofEquivFun_repr_apply
@[simp]
theorem Basis.ofEquivFun_repr_apply [Finite ι] (e : M ≃ₗ[R] ι → R) (x : M) (i : ι) :
    (Basis.ofEquivFun e).repr x i = e x i 
Arguments: {ι : Type u_1} {R : Type u_3} {M : Type u_6} [Semiring R] [AddCommMonoid M] [Module R M] [Finite ι] (e : M ≃ₗ[R] ι → R) (x : M) (i : ι)
Goal: ((Basis.ofEquivFun e).repr x) i = e x i
-- Basis.coe_ofEquivFun
@[simp]
theorem Basis.coe_ofEquivFun [Finite ι] [DecidableEq ι] (e : M ≃ₗ[R] ι → R) :
    (Basis.ofEquivFun e : ι → M) = fun i => e.symm (Function.update 0 i 1) 
Arguments: {ι : Type u_1} {R : Type u_3} {M : Type u_6} [Semiring R] [AddCommMonoid M] [Module R M] [Finite ι] [DecidableEq ι] (e : M ≃ₗ[R] ι → R)
Goal: ⇑(Basis.ofEquivFun e) = fun i => e.symm (Function.update 0 i 1)
-- Basis.ofEquivFun_equivFun
@[simp]
theorem Basis.ofEquivFun_equivFun [Finite ι] (v : Basis ι R M) :
    Basis.ofEquivFun v.equivFun = v 
Arguments: {ι : Type u_1} {R : Type u_3} {M : Type u_6} [Semiring R] [AddCommMonoid M] [Module R M] [Finite ι] (v : Basis ι R M)
Goal: Basis.ofEquivFun v.equivFun = v
-- Basis.equivFun_ofEquivFun
@[simp]
theorem Basis.equivFun_ofEquivFun [Finite ι] (e : M ≃ₗ[R] ι → R) :
    (Basis.ofEquivFun e).equivFun = e 
Arguments: {ι : Type u_1} {R : Type u_3} {M : Type u_6} [Semiring R] [AddCommMonoid M] [Module R M] [Finite ι] (e : M ≃ₗ[R] ι → R)
Goal: (Basis.ofEquivFun e).equivFun = e