ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
-- Basis.det_map'
theorem Basis.det_map' (b : Basis ι R M) (f : M ≃ₗ[R] M') :
    (b.map f).det = b.det.compLinearMap f.symm 
Arguments: {R : Type u_1} [CommRing R] {M : Type u_2} [AddCommGroup M] [Module R M] {M' : Type u_3} [AddCommGroup M'] [Module R M'] {ι : Type u_4} [DecidableEq ι] [Fintype ι] (b : Basis ι R M) (f : M ≃ₗ[R] M')
Goal: (b.map f).det = b.det.compLinearMap ↑f.symm
-- Pi.basisFun_det
@[simp]
theorem Pi.basisFun_det : (Pi.basisFun R ι).det = Matrix.detRowAlternating 
Arguments: {R : Type u_1} [CommRing R] {ι : Type u_4} [DecidableEq ι] [Fintype ι]
Goal: (Pi.basisFun R ι).det = Matrix.detRowAlternating
-- Basis.det_smul_mk_coord_eq_det_update
theorem Basis.det_smul_mk_coord_eq_det_update {v : ι → M} (hli : LinearIndependent R v)
    (hsp : ⊤ ≤ span R (range v)) (i : ι) :
    e.det v • (Basis.mk hli hsp).coord i = e.det.toMultilinearMap.toLinearMap v i 
Arguments: {R : Type u_1} [CommRing R] {M : Type u_2} [AddCommGroup M] [Module R M] {ι : Type u_4} [DecidableEq ι] [Fintype ι] (e : Basis ι R M) {v : ι → M} (hli : LinearIndependent R v) (hsp : ⊤ ≤ Submodule.span R (Set.range v)) (i : ι)
Goal: e.det v • (Basis.mk hli hsp).coord i = (↑e.det).toLinearMap v i
-- Basis.det_unitsSMul
theorem Basis.det_unitsSMul (e : Basis ι R M) (w : ι → Rˣ) :
    (e.unitsSMul w).det = (↑(∏ i, w i)⁻¹ : R) • e.det 
Arguments: {R : Type u_1} [CommRing R] {M : Type u_2} [AddCommGroup M] [Module R M] {ι : Type u_4} [DecidableEq ι] [Fintype ι] (e : Basis ι R M) (w : ι → Rˣ)
Goal: (e.unitsSMul w).det = ↑(∏ i : ι, w i)⁻¹ • e.det
-- Basis.det_unitsSMul_self
@[simp]
theorem Basis.det_unitsSMul_self (w : ι → Rˣ) : e.det (e.unitsSMul w) = ∏ i, (w i : R) 
Arguments: {R : Type u_1} [CommRing R] {M : Type u_2} [AddCommGroup M] [Module R M] {ι : Type u_4} [DecidableEq ι] [Fintype ι] (e : Basis ι R M) (w : ι → Rˣ)
Goal: e.det ⇑(e.unitsSMul w) = ∏ i : ι, ↑(w i)
-- Basis.det_isUnitSMul
@[simp]
theorem Basis.det_isUnitSMul {w : ι → R} (hw : ∀ i, IsUnit (w i)) :
    e.det (e.isUnitSMul hw) = ∏ i, w i 
Arguments: {R : Type u_1} [CommRing R] {M : Type u_2} [AddCommGroup M] [Module R M] {ι : Type u_4} [DecidableEq ι] [Fintype ι] (e : Basis ι R M) {w : ι → R} (hw : ∀ (i : ι), IsUnit (w i))
Goal: e.det ⇑(e.isUnitSMul hw) = ∏ i : ι, w i
-- Basis.tensorProduct_apply
@[simp]
theorem Basis.tensorProduct_apply (b : Basis ι S M) (c : Basis κ R N) (i : ι) (j : κ) :
    Basis.tensorProduct b c (i, j) = b i ⊗ₜ c j 
Arguments: {R : Type u_1} {S : Type u_2} {M : Type u_3} {N : Type u_4} {ι : Type u_5} {κ : Type u_6} [CommSemiring R] [Semiring S] [Algebra R S] [AddCommMonoid M] [Module R M] [Module S M] [IsScalarTower R S M] [AddCommMonoid N] [Module R N] (b : Basis ι S M) (c : Basis κ R N) (i : ι) (j : κ)
Goal: (b.tensorProduct c) (i, j) = b i ⊗ₜ[R] c j
-- Basis.tensorProduct_apply'
theorem Basis.tensorProduct_apply' (b : Basis ι S M) (c : Basis κ R N) (i : ι × κ) :
    Basis.tensorProduct b c i = b i.1 ⊗ₜ c i.2 
Arguments: {R : Type u_1} {S : Type u_2} {M : Type u_3} {N : Type u_4} {ι : Type u_5} {κ : Type u_6} [CommSemiring R] [Semiring S] [Algebra R S] [AddCommMonoid M] [Module R M] [Module S M] [IsScalarTower R S M] [AddCommMonoid N] [Module R N] (b : Basis ι S M) (c : Basis κ R N) (i : ι × κ)
Goal: (b.tensorProduct c) i = b i.1 ⊗ₜ[R] c i.2
-- Basis.tensorProduct_repr_tmul_apply
@[simp]
theorem Basis.tensorProduct_repr_tmul_apply (b : Basis ι S M) (c : Basis κ R N) (m : M) (n : N)
    (i : ι) (j : κ) :
    (Basis.tensorProduct b c).repr (m ⊗ₜ n) (i, j) = c.repr n j • b.repr m i 
Arguments: {R : Type u_1} {S : Type u_2} {M : Type u_3} {N : Type u_4} {ι : Type u_5} {κ : Type u_6} [CommSemiring R] [Semiring S] [Algebra R S] [AddCommMonoid M] [Module R M] [Module S M] [IsScalarTower R S M] [AddCommMonoid N] [Module R N] (b : Basis ι S M) (c : Basis κ R N) (m : M) (n : N) (i : ι) (j : κ)
Goal: ((b.tensorProduct c).repr (m ⊗ₜ[R] n)) (i, j) = (c.repr n) j • (b.repr m) i
-- Basis.baseChange_repr_tmul
@[simp]
lemma Basis.baseChange_repr_tmul (b : Basis ι R M) (x y i) :
    (b.baseChange S).repr (x ⊗ₜ y) i = b.repr y i • x 
Arguments: {R : Type u_1} (S : Type u_2) {M : Type u_3} {ι : Type u_5} [CommSemiring R] [Semiring S] [Algebra R S] [AddCommMonoid M] [Module R M] (b : Basis ι R M) (x : S) (y : M) (i : ι)
Goal: ((Basis.baseChange S b).repr (x ⊗ₜ[R] y)) i = (b.repr y) i • x
-- Basis.baseChange_apply
@[simp]
lemma Basis.baseChange_apply (b : Basis ι R M) (i) :
    b.baseChange S i = 1 ⊗ₜ b i 
Arguments: {R : Type u_1} (S : Type u_2) {M : Type u_3} {ι : Type u_5} [CommSemiring R] [Semiring S] [Algebra R S] [AddCommMonoid M] [Module R M] (b : Basis ι R M) (i : ι)
Goal: (Basis.baseChange S b) i = 1 ⊗ₜ[R] b i
-- TensorProduct.prodRight_tmul
@[simp] theorem prodRight_tmul (m₁ : M₁) (m₂ : M₂) (m₃ : M₃) :
    prodRight R M₁ M₂ M₃ (m₁ ⊗ₜ (m₂, m₃)) = (m₁ ⊗ₜ m₂, m₁ ⊗ₜ m₃) 
Arguments: (R : Type uR) (M₁ : Type uM₁) (M₂ : Type uM₂) (M₃ : Type uM₃) [CommSemiring R] [AddCommMonoid M₁] [AddCommMonoid M₂] [AddCommMonoid M₃] [Module R M₁] [Module R M₂] [Module R M₃] (m₁ : M₁) (m₂ : M₂) (m₃ : M₃)
Goal: (TensorProduct.prodRight R M₁ M₂ M₃) (m₁ ⊗ₜ[R] (m₂, m₃)) = (m₁ ⊗ₜ[R] m₂, m₁ ⊗ₜ[R] m₃)
-- TensorProduct.prodRight_symm_tmul
@[simp] theorem prodRight_symm_tmul (m₁ : M₁) (m₂ : M₂) (m₃ : M₃) :
    (prodRight R M₁ M₂ M₃).symm (m₁ ⊗ₜ m₂, m₁ ⊗ₜ m₃) = (m₁ ⊗ₜ (m₂, m₃)) 
Arguments: (R : Type uR) (M₁ : Type uM₁) (M₂ : Type uM₂) (M₃ : Type uM₃) [CommSemiring R] [AddCommMonoid M₁] [AddCommMonoid M₂] [AddCommMonoid M₃] [Module R M₁] [Module R M₂] [Module R M₃] (m₁ : M₁) (m₂ : M₂) (m₃ : M₃)
Goal: (TensorProduct.prodRight R M₁ M₂ M₃).symm (m₁ ⊗ₜ[R] m₂, m₁ ⊗ₜ[R] m₃) = m₁ ⊗ₜ[R] (m₂, m₃)
-- TensorProduct.prodLeft_tmul
@[simp] theorem prodLeft_tmul (m₁ : M₁) (m₂ : M₂) (m₃ : M₃) :
    prodLeft R M₁ M₂ M₃ ((m₁, m₂) ⊗ₜ m₃) = (m₁ ⊗ₜ m₃, m₂ ⊗ₜ m₃) 
Arguments: (R : Type uR) (M₁ : Type uM₁) (M₂ : Type uM₂) (M₃ : Type uM₃) [CommSemiring R] [AddCommMonoid M₁] [AddCommMonoid M₂] [AddCommMonoid M₃] [Module R M₁] [Module R M₂] [Module R M₃] (m₁ : M₁) (m₂ : M₂) (m₃ : M₃)
Goal: (TensorProduct.prodLeft R M₁ M₂ M₃) ((m₁, m₂) ⊗ₜ[R] m₃) = (m₁ ⊗ₜ[R] m₃, m₂ ⊗ₜ[R] m₃)
-- TensorProduct.prodLeft_symm_tmul
@[simp] theorem prodLeft_symm_tmul (m₁ : M₁) (m₂ : M₂) (m₃ : M₃) :
    (prodLeft R M₁ M₂ M₃).symm (m₁ ⊗ₜ m₃, m₂ ⊗ₜ m₃) = ((m₁, m₂) ⊗ₜ m₃) 
Arguments: (R : Type uR) (M₁ : Type uM₁) (M₂ : Type uM₂) (M₃ : Type uM₃) [CommSemiring R] [AddCommMonoid M₁] [AddCommMonoid M₂] [AddCommMonoid M₃] [Module R M₁] [Module R M₂] [Module R M₃] (m₁ : M₁) (m₂ : M₂) (m₃ : M₃)
Goal: (TensorProduct.prodLeft R M₁ M₂ M₃).symm (m₁ ⊗ₜ[R] m₃, m₂ ⊗ₜ[R] m₃) = (m₁, m₂) ⊗ₜ[R] m₃
-- TensorProduct.exists_multiset
theorem exists_multiset (x : M ⊗[R] N) :
    ∃ S : Multiset (M × N), x = (S.map fun i ↦ i.1 ⊗ₜ[R] i.2).sum 
Arguments: {R : Type u_1} {M : Type u_2} {N : Type u_3} [CommSemiring R] [AddCommMonoid M] [AddCommMonoid N] [Module R M] [Module R N] (x : M ⊗[R] N)
Goal: ∃ S, x = (Multiset.map (fun i => i.1 ⊗ₜ[R] i.2) S).sum
-- TensorProduct.exists_finsupp_left
theorem exists_finsupp_left (x : M ⊗[R] N) :
    ∃ S : M →₀ N, x = S.sum fun m n ↦ m ⊗ₜ[R] n 
Arguments: {R : Type u_1} {M : Type u_2} {N : Type u_3} [CommSemiring R] [AddCommMonoid M] [AddCommMonoid N] [Module R M] [Module R N] (x : M ⊗[R] N)
Goal: ∃ S, x = S.sum fun m n => m ⊗ₜ[R] n
-- TensorProduct.exists_finsupp_right
theorem exists_finsupp_right (x : M ⊗[R] N) :
    ∃ S : N →₀ M, x = S.sum fun n m ↦ m ⊗ₜ[R] n 
Arguments: {R : Type u_1} {M : Type u_2} {N : Type u_3} [CommSemiring R] [AddCommMonoid M] [AddCommMonoid N] [Module R M] [Module R N] (x : M ⊗[R] N)
Goal: ∃ S, x = S.sum fun n m => m ⊗ₜ[R] n
-- TensorProduct.exists_finset
theorem exists_finset (x : M ⊗[R] N) :
    ∃ S : Finset (M × N), x = S.sum fun i ↦ i.1 ⊗ₜ[R] i.2 
Arguments: {R : Type u_1} {M : Type u_2} {N : Type u_3} [CommSemiring R] [AddCommMonoid M] [AddCommMonoid N] [Module R M] [Module R N] (x : M ⊗[R] N)
Goal: ∃ S, x = ∑ i ∈ S, i.1 ⊗ₜ[R] i.2
-- TensorProduct.exists_finite_submodule_of_finite
theorem exists_finite_submodule_of_finite (s : Set (M ⊗[R] N)) (hs : s.Finite) :
    ∃ (M' : Submodule R M) (N' : Submodule R N), Module.Finite R M' ∧ Module.Finite R N' ∧
      s ⊆ LinearMap.range (mapIncl M' N') 
Arguments: {R : Type u_1} {M : Type u_2} {N : Type u_3} [CommSemiring R] [AddCommMonoid M] [AddCommMonoid N] [Module R M] [Module R N] (s : Set (M ⊗[R] N)) (hs : s.Finite)
Goal: ∃ M' N', Module.Finite R ↥M' ∧ Module.Finite R ↥N' ∧ s ⊆ ↑(LinearMap.range (TensorProduct.mapIncl M' N'))
-- TensorProduct.exists_finite_submodule_left_of_finite
theorem exists_finite_submodule_left_of_finite (s : Set (M ⊗[R] N)) (hs : s.Finite) :
    ∃ M' : Submodule R M, Module.Finite R M' ∧ s ⊆ LinearMap.range (M'.subtype.rTensor N) 
Arguments: {R : Type u_1} {M : Type u_2} {N : Type u_3} [CommSemiring R] [AddCommMonoid M] [AddCommMonoid N] [Module R M] [Module R N] (s : Set (M ⊗[R] N)) (hs : s.Finite)
Goal: ∃ M', Module.Finite R ↥M' ∧ s ⊆ ↑(LinearMap.range (LinearMap.rTensor N M'.subtype))
-- TensorProduct.exists_finite_submodule_right_of_finite
theorem exists_finite_submodule_right_of_finite (s : Set (M ⊗[R] N)) (hs : s.Finite) :
    ∃ N' : Submodule R N, Module.Finite R N' ∧ s ⊆ LinearMap.range (N'.subtype.lTensor M) 
Arguments: {R : Type u_1} {M : Type u_2} {N : Type u_3} [CommSemiring R] [AddCommMonoid M] [AddCommMonoid N] [Module R M] [Module R N] (s : Set (M ⊗[R] N)) (hs : s.Finite)
Goal: ∃ N', Module.Finite R ↥N' ∧ s ⊆ ↑(LinearMap.range (LinearMap.lTensor M N'.subtype))
-- TensorProduct.exists_finite_submodule_of_finite'
theorem exists_finite_submodule_of_finite' (s : Set (M₁ ⊗[R] N₁)) (hs : s.Finite) :
    ∃ (M' : Submodule R M) (N' : Submodule R N) (hM : M' ≤ M₁) (hN : N' ≤ N₁),
      Module.Finite R M' ∧ Module.Finite R N' ∧
        s ⊆ LinearMap.range (TensorProduct.map (inclusion hM) (inclusion hN)) 
Arguments: {R : Type u_1} {M : Type u_2} {N : Type u_3} [CommSemiring R] [AddCommMonoid M] [AddCommMonoid N] [Module R M] [Module R N] {M₁ : Submodule R M} {N₁ : Submodule R N} (s : Set (↥M₁ ⊗[R] ↥N₁)) (hs : s.Finite)
Goal: ∃ M' N',
  ∃ (hM : M' ≤ M₁) (hN : N' ≤ N₁),
    Module.Finite R ↥M' ∧
      Module.Finite R ↥N' ∧ s ⊆ ↑(LinearMap.range (TensorProduct.map (Submodule.inclusion hM) (Submodule.inclusion hN)))
-- TensorProduct.exists_finite_submodule_left_of_finite'
theorem exists_finite_submodule_left_of_finite' (s : Set (M₁ ⊗[R] N₁)) (hs : s.Finite) :
    ∃ (M' : Submodule R M) (hM : M' ≤ M₁), Module.Finite R M' ∧
      s ⊆ LinearMap.range ((inclusion hM).rTensor N₁) 
Arguments: {R : Type u_1} {M : Type u_2} {N : Type u_3} [CommSemiring R] [AddCommMonoid M] [AddCommMonoid N] [Module R M] [Module R N] {M₁ : Submodule R M} {N₁ : Submodule R N} (s : Set (↥M₁ ⊗[R] ↥N₁)) (hs : s.Finite)
Goal: ∃ M', ∃ (hM : M' ≤ M₁), Module.Finite R ↥M' ∧ s ⊆ ↑(LinearMap.range (LinearMap.rTensor (↥N₁) (Submodule.inclusion hM)))
-- TensorProduct.exists_finite_submodule_right_of_finite'
theorem exists_finite_submodule_right_of_finite' (s : Set (M₁ ⊗[R] N₁)) (hs : s.Finite) :
    ∃ (N' : Submodule R N) (hN : N' ≤ N₁), Module.Finite R N' ∧
      s ⊆ LinearMap.range ((inclusion hN).lTensor M₁) 
Arguments: {R : Type u_1} {M : Type u_2} {N : Type u_3} [CommSemiring R] [AddCommMonoid M] [AddCommMonoid N] [Module R M] [Module R N] {M₁ : Submodule R M} {N₁ : Submodule R N} (s : Set (↥M₁ ⊗[R] ↥N₁)) (hs : s.Finite)
Goal: ∃ N', ∃ (hN : N' ≤ N₁), Module.Finite R ↥N' ∧ s ⊆ ↑(LinearMap.range (LinearMap.lTensor (↥M₁) (Submodule.inclusion hN)))
-- TensorProduct.fromDirectLimit_of_tmul
@[simp] lemma fromDirectLimit_of_tmul {i : ι} (g : G i) (m : M) :
    fromDirectLimit f M (of _ _ _ _ i (g ⊗ₜ m)) = (of _ _ _ f i g) ⊗ₜ m 
Arguments: {R : Type u_1} [CommRing R] {ι : Type u_2} [DecidableEq ι] [Preorder ι] {G : ι → Type u_3} [(i : ι) → AddCommGroup (G i)] [(i : ι) → Module R (G i)] (f : (i j : ι) → i ≤ j → G i →ₗ[R] G j) {M : Type u_4} [AddCommGroup M] [Module R M] {i : ι} (g : G i) (m : M)
Goal: (TensorProduct.fromDirectLimit f M)
    ((Module.DirectLimit.of R ι (fun x => G x ⊗[R] M) (fun i j h => LinearMap.rTensor M (f i j h)) i) (g ⊗ₜ[R] m)) =
  (Module.DirectLimit.of R ι G f i) g ⊗ₜ[R] m
-- TensorProduct.toDirectLimit_tmul_of
@[simp] lemma toDirectLimit_tmul_of
    {i : ι} (g : G i) (m : M) :
    (toDirectLimit f M <| (of _ _ G f i g) ⊗ₜ m) = (of _ _ _ _ i (g ⊗ₜ m)) 
Arguments: {R : Type u_1} [CommRing R] {ι : Type u_2} [DecidableEq ι] [Preorder ι] {G : ι → Type u_3} [(i : ι) → AddCommGroup (G i)] [(i : ι) → Module R (G i)] (f : (i j : ι) → i ≤ j → G i →ₗ[R] G j) {M : Type u_4} [AddCommGroup M] [Module R M] {i : ι} (g : G i) (m : M)
Goal: (TensorProduct.toDirectLimit f M) ((Module.DirectLimit.of R ι G f i) g ⊗ₜ[R] m) =
  (Module.DirectLimit.of R ι (fun x => G x ⊗[R] M) (fun i j h => LinearMap.rTensor M (f i j h)) i) (g ⊗ₜ[R] m)
-- TensorProduct.directLimitLeft_tmul_of
@[simp] lemma directLimitLeft_tmul_of {i : ι} (g : G i) (m : M) :
    directLimitLeft f M (of _ _ _ _ _ g ⊗ₜ m) = of _ _ _ (f ▷ M) _ (g ⊗ₜ m) 
Arguments: {R : Type u_1} [CommRing R] {ι : Type u_2} [DecidableEq ι] [Preorder ι] {G : ι → Type u_3} [(i : ι) → AddCommGroup (G i)] [(i : ι) → Module R (G i)] (f : (i j : ι) → i ≤ j → G i →ₗ[R] G j) (M : Type u_4) [AddCommGroup M] [Module R M] [IsDirected ι fun x x_1 => x ≤ x_1] {i : ι} (g : G i) (m : M)
Goal: (TensorProduct.directLimitLeft f M) ((Module.DirectLimit.of R ι G f i) g ⊗ₜ[R] m) =
  (Module.DirectLimit.of R ι (fun i => G i ⊗[R] M) (fun i j h => LinearMap.rTensor M (f i j h)) i) (g ⊗ₜ[R] m)
-- TensorProduct.directLimitLeft_symm_of_tmul
@[simp] lemma directLimitLeft_symm_of_tmul {i : ι} (g : G i) (m : M) :
    (directLimitLeft f M).symm (of _ _ _ _ _ (g ⊗ₜ m)) = of _ _ _ f _ g ⊗ₜ m 
Arguments: {R : Type u_1} [CommRing R] {ι : Type u_2} [DecidableEq ι] [Preorder ι] {G : ι → Type u_3} [(i : ι) → AddCommGroup (G i)] [(i : ι) → Module R (G i)] (f : (i j : ι) → i ≤ j → G i →ₗ[R] G j) (M : Type u_4) [AddCommGroup M] [Module R M] [IsDirected ι fun x x_1 => x ≤ x_1] {i : ι} (g : G i) (m : M)
Goal: (TensorProduct.directLimitLeft f M).symm
    ((Module.DirectLimit.of R ι (fun x => G x ⊗[R] M) (fun i j h => LinearMap.rTensor M (f i j h)) i) (g ⊗ₜ[R] m)) =
  (Module.DirectLimit.of R ι G f i) g ⊗ₜ[R] m
-- TensorProduct.directLimitRight_tmul_of
@[simp] lemma directLimitRight_tmul_of {i : ι} (m : M) (g : G i) :
    directLimitRight f M (m ⊗ₜ of _ _ _ _ _ g) = of _ _ _ _ i (m ⊗ₜ g) 
Arguments: {R : Type u_1} [CommRing R] {ι : Type u_2} [DecidableEq ι] [Preorder ι] {G : ι → Type u_3} [(i : ι) → AddCommGroup (G i)] [(i : ι) → Module R (G i)] (f : (i j : ι) → i ≤ j → G i →ₗ[R] G j) (M : Type u_4) [AddCommGroup M] [Module R M] [IsDirected ι fun x x_1 => x ≤ x_1] {i : ι} (m : M) (g : G i)
Goal: (TensorProduct.directLimitRight f M) (m ⊗ₜ[R] (Module.DirectLimit.of R ι G f i) g) =
  (Module.DirectLimit.of R ι (fun x => M ⊗[R] G x) (fun i j h => LinearMap.lTensor M (f i j h)) i) (m ⊗ₜ[R] g)
-- TensorProduct.directLimitRight_symm_of_tmul
@[simp] lemma directLimitRight_symm_of_tmul {i : ι} (m : M) (g : G i) :
    (directLimitRight f M).symm (of _ _ _ _ _ (m ⊗ₜ g)) = m ⊗ₜ of _ _ _ f _ g 
Arguments: {R : Type u_1} [CommRing R] {ι : Type u_2} [DecidableEq ι] [Preorder ι] {G : ι → Type u_3} [(i : ι) → AddCommGroup (G i)] [(i : ι) → Module R (G i)] (f : (i j : ι) → i ≤ j → G i →ₗ[R] G j) (M : Type u_4) [AddCommGroup M] [Module R M] [IsDirected ι fun x x_1 => x ≤ x_1] {i : ι} (m : M) (g : G i)
Goal: (TensorProduct.directLimitRight f M).symm
    ((Module.DirectLimit.of R ι (fun x => M ⊗[R] G x) (fun i j h => LinearMap.lTensor M (f i j h)) i) (m ⊗ₜ[R] g)) =
  m ⊗ₜ[R] (Module.DirectLimit.of R ι G f i) g
-- Matrix.square_of_invertible
theorem Matrix.square_of_invertible (M : Matrix n m R) (N : Matrix m n R) (h : M * N = 1)
    (h' : N * M = 1) : Fintype.card n = Fintype.card m 
Arguments: {n : Type u_1} {m : Type u_2} [Fintype n] [DecidableEq n] [Fintype m] [DecidableEq m] {R : Type u_3} [Semiring R] [InvariantBasisNumber R] (M : Matrix n m R) (N : Matrix m n R) (h : M * N = 1) (h' : N * M = 1)
Goal: Fintype.card n = Fintype.card m
-- LinearMap.stdBasis_apply
theorem stdBasis_apply (i : ι) (b : φ i) : stdBasis R φ i b = update (0 : (a : ι) → φ a) i b 
Arguments: (R : Type u_1) {ι : Type u_2} [Semiring R] (φ : ι → Type u_3) [(i : ι) → AddCommMonoid (φ i)] [(i : ι) → Module R (φ i)] [DecidableEq ι] (i : ι) (b : φ i)
Goal: (LinearMap.stdBasis R φ i) b = Function.update 0 i b
-- LinearMap.stdBasis_apply'
@[simp]
theorem stdBasis_apply' (i i' : ι) : (stdBasis R (fun _x : ι => R) i) 1 i' = ite (i = i') 1 0 
Arguments: (R : Type u_1) {ι : Type u_2} [Semiring R] [DecidableEq ι] (i i' : ι)
Goal: (LinearMap.stdBasis R (fun _x => R) i) 1 i' = if i = i' then 1 else 0
-- LinearMap.coe_stdBasis
theorem coe_stdBasis (i : ι) : ⇑(stdBasis R φ i) = Pi.single i 
Arguments: (R : Type u_1) {ι : Type u_2} [Semiring R] (φ : ι → Type u_3) [(i : ι) → AddCommMonoid (φ i)] [(i : ι) → Module R (φ i)] [DecidableEq ι] (i : ι)
Goal: ⇑(LinearMap.stdBasis R φ i) = Pi.single i
-- LinearMap.stdBasis_same
@[simp]
theorem stdBasis_same (i : ι) (b : φ i) : stdBasis R φ i b i = b 
Arguments: (R : Type u_1) {ι : Type u_2} [Semiring R] (φ : ι → Type u_3) [(i : ι) → AddCommMonoid (φ i)] [(i : ι) → Module R (φ i)] [DecidableEq ι] (i : ι) (b : φ i)
Goal: (LinearMap.stdBasis R φ i) b i = b
-- LinearMap.stdBasis_ne
theorem stdBasis_ne (i j : ι) (h : j ≠ i) (b : φ i) : stdBasis R φ i b j = 0 
Arguments: (R : Type u_1) {ι : Type u_2} [Semiring R] (φ : ι → Type u_3) [(i : ι) → AddCommMonoid (φ i)] [(i : ι) → Module R (φ i)] [DecidableEq ι] (i j : ι) (h : j ≠ i) (b : φ i)
Goal: (LinearMap.stdBasis R φ i) b j = 0
-- LinearMap.stdBasis_eq_pi_diag
theorem stdBasis_eq_pi_diag (i : ι) : stdBasis R φ i = pi (diag i) 
Arguments: (R : Type u_1) {ι : Type u_2} [Semiring R] (φ : ι → Type u_3) [(i : ι) → AddCommMonoid (φ i)] [(i : ι) → Module R (φ i)] [DecidableEq ι] (i : ι)
Goal: LinearMap.stdBasis R φ i = LinearMap.pi (LinearMap.diag i)
-- LinearMap.ker_stdBasis
theorem ker_stdBasis (i : ι) : ker (stdBasis R φ i) = ⊥ 
Arguments: (R : Type u_1) {ι : Type u_2} [Semiring R] (φ : ι → Type u_3) [(i : ι) → AddCommMonoid (φ i)] [(i : ι) → Module R (φ i)] [DecidableEq ι] (i : ι)
Goal: LinearMap.ker (LinearMap.stdBasis R φ i) = ⊥
-- LinearMap.proj_comp_stdBasis
theorem proj_comp_stdBasis (i j : ι) : (proj i).comp (stdBasis R φ j) = diag j i 
Arguments: (R : Type u_1) {ι : Type u_2} [Semiring R] (φ : ι → Type u_3) [(i : ι) → AddCommMonoid (φ i)] [(i : ι) → Module R (φ i)] [DecidableEq ι] (i j : ι)
Goal: LinearMap.proj i ∘ₗ LinearMap.stdBasis R φ j = LinearMap.diag j i
-- LinearMap.proj_stdBasis_same
theorem proj_stdBasis_same (i : ι) : (proj i).comp (stdBasis R φ i) = id 
Arguments: (R : Type u_1) {ι : Type u_2} [Semiring R] (φ : ι → Type u_3) [(i : ι) → AddCommMonoid (φ i)] [(i : ι) → Module R (φ i)] [DecidableEq ι] (i : ι)
Goal: LinearMap.proj i ∘ₗ LinearMap.stdBasis R φ i = LinearMap.id
-- LinearMap.proj_stdBasis_ne
theorem proj_stdBasis_ne (i j : ι) (h : i ≠ j) : (proj i).comp (stdBasis R φ j) = 0 
Arguments: (R : Type u_1) {ι : Type u_2} [Semiring R] (φ : ι → Type u_3) [(i : ι) → AddCommMonoid (φ i)] [(i : ι) → Module R (φ i)] [DecidableEq ι] (i j : ι) (h : i ≠ j)
Goal: LinearMap.proj i ∘ₗ LinearMap.stdBasis R φ j = 0
-- LinearMap.iSup_range_stdBasis_le_iInf_ker_proj
theorem iSup_range_stdBasis_le_iInf_ker_proj (I J : Set ι) (h : Disjoint I J) :
    ⨆ i ∈ I, range (stdBasis R φ i) ≤ ⨅ i ∈ J, ker (proj i : (∀ i, φ i) →ₗ[R] φ i) 
Arguments: (R : Type u_1) {ι : Type u_2} [Semiring R] (φ : ι → Type u_3) [(i : ι) → AddCommMonoid (φ i)] [(i : ι) → Module R (φ i)] [DecidableEq ι] (I J : Set ι) (h : Disjoint I J)
Goal: ⨆ i ∈ I, LinearMap.range (LinearMap.stdBasis R φ i) ≤ ⨅ i ∈ J, LinearMap.ker (LinearMap.proj i)
-- LinearMap.iInf_ker_proj_le_iSup_range_stdBasis
theorem iInf_ker_proj_le_iSup_range_stdBasis {I : Finset ι} {J : Set ι} (hu : Set.univ ⊆ ↑I ∪ J) :
    ⨅ i ∈ J, ker (proj i : (∀ i, φ i) →ₗ[R] φ i) ≤ ⨆ i ∈ I, range (stdBasis R φ i) 
Arguments: (R : Type u_1) {ι : Type u_2} [Semiring R] (φ : ι → Type u_3) [(i : ι) → AddCommMonoid (φ i)] [(i : ι) → Module R (φ i)] [DecidableEq ι] {I : Finset ι} {J : Set ι} (hu : Set.univ ⊆ ↑I ∪ J)
Goal: ⨅ i ∈ J, LinearMap.ker (LinearMap.proj i) ≤ ⨆ i ∈ I, LinearMap.range (LinearMap.stdBasis R φ i)
-- LinearMap.iSup_range_stdBasis_eq_iInf_ker_proj
theorem iSup_range_stdBasis_eq_iInf_ker_proj {I J : Set ι} (hd : Disjoint I J)
    (hu : Set.univ ⊆ I ∪ J) (hI : Set.Finite I) :
    ⨆ i ∈ I, range (stdBasis R φ i) = ⨅ i ∈ J, ker (proj i : (∀ i, φ i) →ₗ[R] φ i) 
Arguments: (R : Type u_1) {ι : Type u_2} [Semiring R] (φ : ι → Type u_3) [(i : ι) → AddCommMonoid (φ i)] [(i : ι) → Module R (φ i)] [DecidableEq ι] {I J : Set ι} (hd : Disjoint I J) (hu : Set.univ ⊆ I ∪ J) (hI : I.Finite)
Goal: ⨆ i ∈ I, LinearMap.range (LinearMap.stdBasis R φ i) = ⨅ i ∈ J, LinearMap.ker (LinearMap.proj i)
-- LinearMap.iSup_range_stdBasis
theorem iSup_range_stdBasis [Finite ι] : ⨆ i, range (stdBasis R φ i) = ⊤ 
Arguments: (R : Type u_1) {ι : Type u_2} [Semiring R] (φ : ι → Type u_3) [(i : ι) → AddCommMonoid (φ i)] [(i : ι) → Module R (φ i)] [DecidableEq ι] [Finite ι]
Goal: ⨆ i, LinearMap.range (LinearMap.stdBasis R φ i) = ⊤
-- LinearMap.disjoint_stdBasis_stdBasis
theorem disjoint_stdBasis_stdBasis (I J : Set ι) (h : Disjoint I J) :
    Disjoint (⨆ i ∈ I, range (stdBasis R φ i)) (⨆ i ∈ J, range (stdBasis R φ i)) 
Arguments: (R : Type u_1) {ι : Type u_2} [Semiring R] (φ : ι → Type u_3) [(i : ι) → AddCommMonoid (φ i)] [(i : ι) → Module R (φ i)] [DecidableEq ι] (I J : Set ι) (h : Disjoint I J)
Goal: Disjoint (⨆ i ∈ I, LinearMap.range (LinearMap.stdBasis R φ i)) (⨆ i ∈ J, LinearMap.range (LinearMap.stdBasis R φ i))
-- LinearMap.stdBasis_eq_single
theorem stdBasis_eq_single {a : R} :
    (fun i : ι => (stdBasis R (fun _ : ι => R) i) a) = fun i : ι => ↑(Finsupp.single i a) 
Arguments: (R : Type u_1) {ι : Type u_2} [Semiring R] [DecidableEq ι] {a : R}
Goal: (fun i => (LinearMap.stdBasis R (fun x => R) i) a) = fun i => ⇑(Finsupp.single i a)
-- Pi.linearIndependent_stdBasis
theorem linearIndependent_stdBasis [Ring R] [∀ i, AddCommGroup (Ms i)] [∀ i, Module R (Ms i)]
    [DecidableEq η] (v : ∀ j, ιs j → Ms j) (hs : ∀ i, LinearIndependent R (v i)) :
    LinearIndependent R fun ji : Σj, ιs j => stdBasis R Ms ji.1 (v ji.1 ji.2) 
Arguments: {R : Type u_1} {η : Type u_2} {ιs : η → Type u_3} {Ms : η → Type u_4} [Ring R] [(i : η) → AddCommGroup (Ms i)] [(i : η) → Module R (Ms i)] [DecidableEq η] (v : (j : η) → ιs j → Ms j) (hs : ∀ (i : η), LinearIndependent R (v i))
Goal: LinearIndependent R fun ji => (LinearMap.stdBasis R Ms ji.fst) (v ji.fst ji.snd)
-- Pi.basis_repr_stdBasis
@[simp]
theorem basis_repr_stdBasis [DecidableEq η] (s : ∀ j, Basis (ιs j) R (Ms j)) (j i) :
    (Pi.basis s).repr (stdBasis R _ j (s j i)) = Finsupp.single ⟨j, i⟩ 1 
Arguments: {R : Type u_1} {η : Type u_2} {ιs : η → Type u_3} {Ms : η → Type u_4} [Semiring R] [(i : η) → AddCommMonoid (Ms i)] [(i : η) → Module R (Ms i)] [Fintype η] [DecidableEq η] (s : (j : η) → Basis (ιs j) R (Ms j)) (j : η) (i : ιs j)
Goal: (Pi.basis s).repr ((LinearMap.stdBasis R Ms j) ((s j) i)) = Finsupp.single ⟨j, i⟩ 1
-- Pi.basis_apply
@[simp]
theorem basis_apply [DecidableEq η] (s : ∀ j, Basis (ιs j) R (Ms j)) (ji) :
    Pi.basis s ji = stdBasis R _ ji.1 (s ji.1 ji.2) 
Arguments: {R : Type u_1} {η : Type u_2} {ιs : η → Type u_3} {Ms : η → Type u_4} [Semiring R] [(i : η) → AddCommMonoid (Ms i)] [(i : η) → Module R (Ms i)] [Fintype η] [DecidableEq η] (s : (j : η) → Basis (ιs j) R (Ms j)) (ji : (j : η) × ιs j)
Goal: (Pi.basis s) ji = (LinearMap.stdBasis R Ms ji.fst) ((s ji.fst) ji.snd)
-- Pi.basis_repr
@[simp]
theorem basis_repr (s : ∀ j, Basis (ιs j) R (Ms j)) (x) (ji) :
    (Pi.basis s).repr x ji = (s ji.1).repr (x ji.1) ji.2 
Arguments: {R : Type u_1} {η : Type u_2} {ιs : η → Type u_3} {Ms : η → Type u_4} [Semiring R] [(i : η) → AddCommMonoid (Ms i)] [(i : η) → Module R (Ms i)] [Fintype η] (s : (j : η) → Basis (ιs j) R (Ms j)) (x : (j : η) → Ms j) (ji : (j : η) × ιs j)
Goal: ((Pi.basis s).repr x) ji = ((s ji.fst).repr (x ji.fst)) ji.snd
-- Pi.basisFun_apply
@[simp]
theorem basisFun_apply [DecidableEq η] (i) : basisFun R η i = stdBasis R (fun _ : η => R) i 1 
Arguments: (R : Type u_1) (η : Type u_2) [Semiring R] [Finite η] [DecidableEq η] (i : η)
Goal: (Pi.basisFun R η) i = (LinearMap.stdBasis R (fun x => R) i) 1