ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
-- dualTensorHomEquivOfBasis_symm_cancel_right
@[simp]
theorem dualTensorHomEquivOfBasis_symm_cancel_right (x : M →ₗ[R] N) :
    dualTensorHom R M N ((dualTensorHomEquivOfBasis (N := N) b).symm x) = x 
Arguments: {ι : Type w} {R : Type u} {M : Type v₁} {N : Type v₂} [CommRing R] [AddCommGroup M] [AddCommGroup N] [Module R M] [Module R N] [DecidableEq ι] [Fintype ι] (b : Basis ι R M) (x : M →ₗ[R] N)
Goal: (dualTensorHom R M N) ((dualTensorHomEquivOfBasis b).symm x) = x
-- lTensorHomEquivHomLTensor_toLinearMap
@[simp]
theorem lTensorHomEquivHomLTensor_toLinearMap :
    (lTensorHomEquivHomLTensor R M P Q).toLinearMap = lTensorHomToHomLTensor R M P Q 
Arguments: (R : Type u) (M : Type v₁) (P : Type v₃) (Q : Type v₄) [CommRing R] [AddCommGroup M] [AddCommGroup P] [AddCommGroup Q] [Module R M] [Module R P] [Module R Q] [Module.Free R M] [Module.Finite R M]
Goal: ↑(lTensorHomEquivHomLTensor R M P Q) = TensorProduct.lTensorHomToHomLTensor R M P Q
-- rTensorHomEquivHomRTensor_toLinearMap
@[simp]
theorem rTensorHomEquivHomRTensor_toLinearMap :
    (rTensorHomEquivHomRTensor R M P Q).toLinearMap = rTensorHomToHomRTensor R M P Q 
Arguments: (R : Type u) (M : Type v₁) (P : Type v₃) (Q : Type v₄) [CommRing R] [AddCommGroup M] [AddCommGroup P] [AddCommGroup Q] [Module R M] [Module R P] [Module R Q] [Module.Free R M] [Module.Finite R M]
Goal: ↑(rTensorHomEquivHomRTensor R M P Q) = TensorProduct.rTensorHomToHomRTensor R M P Q
-- lTensorHomEquivHomLTensor_apply
@[simp]
theorem lTensorHomEquivHomLTensor_apply (x : P ⊗[R] (M →ₗ[R] Q)) :
    lTensorHomEquivHomLTensor R M P Q x = lTensorHomToHomLTensor R M P Q x 
Arguments: {R : Type u} {M : Type v₁} {P : Type v₃} {Q : Type v₄} [CommRing R] [AddCommGroup M] [AddCommGroup P] [AddCommGroup Q] [Module R M] [Module R P] [Module R Q] [Module.Free R M] [Module.Finite R M] (x : TensorProduct R P (M →ₗ[R] Q))
Goal: (lTensorHomEquivHomLTensor R M P Q) x = (TensorProduct.lTensorHomToHomLTensor R M P Q) x
-- rTensorHomEquivHomRTensor_apply
@[simp]
theorem rTensorHomEquivHomRTensor_apply (x : (M →ₗ[R] P) ⊗[R] Q) :
    rTensorHomEquivHomRTensor R M P Q x = rTensorHomToHomRTensor R M P Q x 
Arguments: {R : Type u} {M : Type v₁} {P : Type v₃} {Q : Type v₄} [CommRing R] [AddCommGroup M] [AddCommGroup P] [AddCommGroup Q] [Module R M] [Module R P] [Module R Q] [Module.Free R M] [Module.Finite R M] (x : TensorProduct R (M →ₗ[R] P) Q)
Goal: (rTensorHomEquivHomRTensor R M P Q) x = (TensorProduct.rTensorHomToHomRTensor R M P Q) x
-- homTensorHomEquiv_toLinearMap
@[simp]
theorem homTensorHomEquiv_toLinearMap :
    (homTensorHomEquiv R M N P Q).toLinearMap = homTensorHomMap R M N P Q 
Arguments: (R : Type u) (M : Type v₁) (N : Type v₂) (P : Type v₃) (Q : Type v₄) [CommRing R] [AddCommGroup M] [AddCommGroup N] [AddCommGroup P] [AddCommGroup Q] [Module R M] [Module R N] [Module R P] [Module R Q] [Module.Free R M] [Module.Finite R M] [Module.Free R N] [Module.Finite R N]
Goal: ↑(homTensorHomEquiv R M N P Q) = TensorProduct.homTensorHomMap R M N P Q
-- homTensorHomEquiv_apply
@[simp]
theorem homTensorHomEquiv_apply (x : (M →ₗ[R] P) ⊗[R] (N →ₗ[R] Q)) :
    homTensorHomEquiv R M N P Q x = homTensorHomMap R M N P Q x 
Arguments: {R : Type u} {M : Type v₁} {N : Type v₂} {P : Type v₃} {Q : Type v₄} [CommRing R] [AddCommGroup M] [AddCommGroup N] [AddCommGroup P] [AddCommGroup Q] [Module R M] [Module R N] [Module R P] [Module R Q] [Module.Free R M] [Module.Finite R M] [Module.Free R N] [Module.Finite R N] (x : TensorProduct R (M →ₗ[R] P) (N →ₗ[R] Q))
Goal: (homTensorHomEquiv R M N P Q) x = (TensorProduct.homTensorHomMap R M N P Q) x
-- AffineSubspace.nonempty_map
theorem AffineSubspace.nonempty_map {E : AffineSubspace k P₁} [Ene : Nonempty E] {φ : P₁ →ᵃ[k] P₂} :
    Nonempty (E.map φ) 
Arguments: {k : Type u_1} {V₁ : Type u_2} {P₁ : Type u_3} {V₂ : Type u_4} {P₂ : Type u_5} [Ring k] [AddCommGroup V₁] [AddCommGroup V₂] [Module k V₁] [Module k V₂] [AddTorsor V₁ P₁] [AddTorsor V₂ P₂] {E : AffineSubspace k P₁} [Ene : Nonempty ↥E] {φ : P₁ →ᵃ[k] P₂}
Goal: Nonempty ↥(AffineSubspace.map φ E)
-- AffineMap.restrict.coe_apply
theorem AffineMap.restrict.coe_apply (φ : P₁ →ᵃ[k] P₂) {E : AffineSubspace k P₁}
    {F : AffineSubspace k P₂} [Nonempty E] [Nonempty F] (hEF : E.map φ ≤ F) (x : E) :
    ↑(φ.restrict hEF x) = φ x 
Arguments: {k : Type u_1} {V₁ : Type u_2} {P₁ : Type u_3} {V₂ : Type u_4} {P₂ : Type u_5} [Ring k] [AddCommGroup V₁] [AddCommGroup V₂] [Module k V₁] [Module k V₂] [AddTorsor V₁ P₁] [AddTorsor V₂ P₂] (φ : P₁ →ᵃ[k] P₂) {E : AffineSubspace k P₁} {F : AffineSubspace k P₂} [Nonempty ↥E] [Nonempty ↥F] (hEF : AffineSubspace.map φ E ≤ F) (x : ↥E)
Goal: ↑((φ.restrict hEF) x) = φ ↑x
-- AffineMap.restrict.linear_aux
theorem AffineMap.restrict.linear_aux {φ : P₁ →ᵃ[k] P₂} {E : AffineSubspace k P₁}
    {F : AffineSubspace k P₂} (hEF : E.map φ ≤ F) : E.direction ≤ F.direction.comap φ.linear 
Arguments: {k : Type u_1} {V₁ : Type u_2} {P₁ : Type u_3} {V₂ : Type u_4} {P₂ : Type u_5} [Ring k] [AddCommGroup V₁] [AddCommGroup V₂] [Module k V₁] [Module k V₂] [AddTorsor V₁ P₁] [AddTorsor V₂ P₂] {φ : P₁ →ᵃ[k] P₂} {E : AffineSubspace k P₁} {F : AffineSubspace k P₂} (hEF : AffineSubspace.map φ E ≤ F)
Goal: E.direction ≤ Submodule.comap φ.linear F.direction
-- AffineMap.restrict.linear
theorem AffineMap.restrict.linear (φ : P₁ →ᵃ[k] P₂) {E : AffineSubspace k P₁}
    {F : AffineSubspace k P₂} [Nonempty E] [Nonempty F] (hEF : E.map φ ≤ F) :
    (φ.restrict hEF).linear = φ.linear.restrict (AffineMap.restrict.linear_aux hEF) 
Arguments: {k : Type u_1} {V₁ : Type u_2} {P₁ : Type u_3} {V₂ : Type u_4} {P₂ : Type u_5} [Ring k] [AddCommGroup V₁] [AddCommGroup V₂] [Module k V₁] [Module k V₂] [AddTorsor V₁ P₁] [AddTorsor V₂ P₂] (φ : P₁ →ᵃ[k] P₂) {E : AffineSubspace k P₁} {F : AffineSubspace k P₂} [Nonempty ↥E] [Nonempty ↥F] (hEF : AffineSubspace.map φ E ≤ F)
Goal: (φ.restrict hEF).linear = φ.linear.restrict ⋯
-- AffineMap.restrict.injective
theorem AffineMap.restrict.injective {φ : P₁ →ᵃ[k] P₂} (hφ : Function.Injective φ)
    {E : AffineSubspace k P₁} {F : AffineSubspace k P₂} [Nonempty E] [Nonempty F]
    (hEF : E.map φ ≤ F) : Function.Injective (AffineMap.restrict φ hEF) 
Arguments: {k : Type u_1} {V₁ : Type u_2} {P₁ : Type u_3} {V₂ : Type u_4} {P₂ : Type u_5} [Ring k] [AddCommGroup V₁] [AddCommGroup V₂] [Module k V₁] [Module k V₂] [AddTorsor V₁ P₁] [AddTorsor V₂ P₂] {φ : P₁ →ᵃ[k] P₂} (hφ : Function.Injective ⇑φ) {E : AffineSubspace k P₁} {F : AffineSubspace k P₂} [Nonempty ↥E] [Nonempty ↥F] (hEF : AffineSubspace.map φ E ≤ F)
Goal: Function.Injective ⇑(φ.restrict hEF)
-- AffineMap.restrict.surjective
theorem AffineMap.restrict.surjective (φ : P₁ →ᵃ[k] P₂) {E : AffineSubspace k P₁}
    {F : AffineSubspace k P₂} [Nonempty E] [Nonempty F] (h : E.map φ = F) :
    Function.Surjective (AffineMap.restrict φ (le_of_eq h)) 
Arguments: {k : Type u_1} {V₁ : Type u_2} {P₁ : Type u_3} {V₂ : Type u_4} {P₂ : Type u_5} [Ring k] [AddCommGroup V₁] [AddCommGroup V₂] [Module k V₁] [Module k V₂] [AddTorsor V₁ P₁] [AddTorsor V₂ P₂] (φ : P₁ →ᵃ[k] P₂) {E : AffineSubspace k P₁} {F : AffineSubspace k P₂} [Nonempty ↥E] [Nonempty ↥F] (h : AffineSubspace.map φ E = F)
Goal: Function.Surjective ⇑(φ.restrict ⋯)
-- AffineMap.restrict.bijective
theorem AffineMap.restrict.bijective {E : AffineSubspace k P₁} [Nonempty E] {φ : P₁ →ᵃ[k] P₂}
    (hφ : Function.Injective φ) : Function.Bijective (φ.restrict (le_refl (E.map φ))) 
Arguments: {k : Type u_1} {V₁ : Type u_2} {P₁ : Type u_3} {V₂ : Type u_4} {P₂ : Type u_5} [Ring k] [AddCommGroup V₁] [AddCommGroup V₂] [Module k V₁] [Module k V₂] [AddTorsor V₁ P₁] [AddTorsor V₂ P₂] {E : AffineSubspace k P₁} [Nonempty ↥E] {φ : P₁ →ᵃ[k] P₂} (hφ : Function.Injective ⇑φ)
Goal: Function.Bijective ⇑(φ.restrict ⋯)
-- Submodule.linearDisjoint_iff
@[mk_iff]
protected structure LinearDisjoint : Prop where
  injective : Function.Injective (mulMap M N)
Arguments: {R : Type u} {S : Type v} [CommSemiring R] [Semiring S] [Algebra R S] (M N : Submodule R S)
Goal: M.LinearDisjoint N ↔ Function.Injective ⇑(M.mulMap N)
-- Submodule.LinearDisjoint.injective
@[mk_iff]
protected structure LinearDisjoint : Prop where
  injective : Function.Injective (mulMap M N)
Arguments: {R : Type u} {S : Type v} [CommSemiring R] [Semiring S] [Algebra R S] {M N : Submodule R S} (self : M.LinearDisjoint N)
Goal: Function.Injective ⇑(M.mulMap N)
-- Submodule.LinearDisjoint.val_mulMap_tmul
@[simp]
theorem LinearDisjoint.val_mulMap_tmul (H : M.LinearDisjoint N) (m : M) (n : N) :
    (H.mulMap (m ⊗ₜ[R] n) : S) = m.1 * n.1 
Arguments: {R : Type u} {S : Type v} [CommSemiring R] [Semiring S] [Algebra R S] {M N : Submodule R S} (H : M.LinearDisjoint N) (m : ↥M) (n : ↥N)
Goal: ↑(H.mulMap (m ⊗ₜ[R] n)) = ↑m * ↑n
-- Submodule.LinearDisjoint.of_subsingleton
@[nontriviality]
theorem LinearDisjoint.of_subsingleton [Subsingleton R] : M.LinearDisjoint N 
Arguments: {R : Type u} {S : Type v} [CommSemiring R] [Semiring S] [Algebra R S] {M N : Submodule R S} [Subsingleton R]
Goal: M.LinearDisjoint N
-- Submodule.linearDisjoint_op
theorem linearDisjoint_op :
    M.LinearDisjoint N ↔ (equivOpposite.symm (MulOpposite.op N)).LinearDisjoint
      (equivOpposite.symm (MulOpposite.op M)) 
Arguments: {R : Type u} {S : Type v} [CommSemiring R] [Semiring S] [Algebra R S] {M N : Submodule R S}
Goal: M.LinearDisjoint N ↔
  (Submodule.equivOpposite.symm (MulOpposite.op N)).LinearDisjoint (Submodule.equivOpposite.symm (MulOpposite.op M))
-- Submodule.LinearDisjoint.symm_of_commute
theorem LinearDisjoint.symm_of_commute (H : M.LinearDisjoint N)
    (hc : ∀ (m : M) (n : N), Commute m.1 n.1) : N.LinearDisjoint M 
Arguments: {R : Type u} {S : Type v} [CommSemiring R] [Semiring S] [Algebra R S] {M N : Submodule R S} (H : M.LinearDisjoint N) (hc : ∀ (m : ↥M) (n : ↥N), Commute ↑m ↑n)
Goal: N.LinearDisjoint M
-- Submodule.linearDisjoint_symm_of_commute
theorem linearDisjoint_symm_of_commute
    (hc : ∀ (m : M) (n : N), Commute m.1 n.1) : M.LinearDisjoint N ↔ N.LinearDisjoint M 
Arguments: {R : Type u} {S : Type v} [CommSemiring R] [Semiring S] [Algebra R S] {M N : Submodule R S} (hc : ∀ (m : ↥M) (n : ↥N), Commute ↑m ↑n)
Goal: M.LinearDisjoint N ↔ N.LinearDisjoint M
-- Submodule.LinearDisjoint.of_basis_left'
theorem of_basis_left' {ι : Type*} (m : Basis ι R M)
    (H : Function.Injective (mulLeftMap N m)) : M.LinearDisjoint N 
Arguments: {R : Type u} {S : Type v} [CommSemiring R] [Semiring S] [Algebra R S] (M N : Submodule R S) {ι : Type u_1} (m : Basis ι R ↥M) (H : Function.Injective ⇑(Submodule.mulLeftMap N ⇑m))
Goal: M.LinearDisjoint N
-- Submodule.LinearDisjoint.of_basis_right'
theorem of_basis_right' {ι : Type*} (n : Basis ι R N)
    (H : Function.Injective (mulRightMap M n)) : M.LinearDisjoint N 
Arguments: {R : Type u} {S : Type v} [CommSemiring R] [Semiring S] [Algebra R S] (M N : Submodule R S) {ι : Type u_1} (n : Basis ι R ↥N) (H : Function.Injective ⇑(M.mulRightMap ⇑n))
Goal: M.LinearDisjoint N
-- Submodule.LinearDisjoint.of_basis_mul'
theorem of_basis_mul' {κ ι : Type*} (m : Basis κ R M) (n : Basis ι R N)
    (H : Function.Injective (Finsupp.total (κ × ι) S R fun i ↦ m i.1 * n i.2)) :
    M.LinearDisjoint N 
Arguments: {R : Type u} {S : Type v} [CommSemiring R] [Semiring S] [Algebra R S] (M N : Submodule R S) {κ : Type u_1} {ι : Type u_2} (m : Basis κ R ↥M) (n : Basis ι R ↥N) (H : Function.Injective ⇑(Finsupp.total (κ × ι) S R fun i => ↑(m i.1) * ↑(n i.2)))
Goal: M.LinearDisjoint N
-- Submodule.LinearDisjoint.bot_left
theorem bot_left : (⊥ : Submodule R S).LinearDisjoint N 
Arguments: {R : Type u} {S : Type v} [CommSemiring R] [Semiring S] [Algebra R S] (N : Submodule R S)
Goal: ⊥.LinearDisjoint N
-- Submodule.LinearDisjoint.bot_right
theorem bot_right : M.LinearDisjoint (⊥ : Submodule R S) 
Arguments: {R : Type u} {S : Type v} [CommSemiring R] [Semiring S] [Algebra R S] (M : Submodule R S)
Goal: M.LinearDisjoint ⊥
-- Submodule.LinearDisjoint.one_left
theorem one_left : (1 : Submodule R S).LinearDisjoint N 
Arguments: {R : Type u} {S : Type v} [CommSemiring R] [Semiring S] [Algebra R S] (N : Submodule R S)
Goal: Submodule.LinearDisjoint 1 N
-- Submodule.LinearDisjoint.one_right
theorem one_right : M.LinearDisjoint (1 : Submodule R S) 
Arguments: {R : Type u} {S : Type v} [CommSemiring R] [Semiring S] [Algebra R S] (M : Submodule R S)
Goal: M.LinearDisjoint 1
-- Submodule.LinearDisjoint.of_linearDisjoint_fg_left
theorem of_linearDisjoint_fg_left
    (H : ∀ M' : Submodule R S, M' ≤ M → M'.FG → M'.LinearDisjoint N) :
    M.LinearDisjoint N 
Arguments: {R : Type u} {S : Type v} [CommSemiring R] [Semiring S] [Algebra R S] (M N : Submodule R S) (H : ∀ M' ≤ M, M'.FG → M'.LinearDisjoint N)
Goal: M.LinearDisjoint N
-- Submodule.LinearDisjoint.of_linearDisjoint_fg_right
theorem of_linearDisjoint_fg_right
    (H : ∀ N' : Submodule R S, N' ≤ N → N'.FG → M.LinearDisjoint N') :
    M.LinearDisjoint N 
Arguments: {R : Type u} {S : Type v} [CommSemiring R] [Semiring S] [Algebra R S] (M N : Submodule R S) (H : ∀ N' ≤ N, N'.FG → M.LinearDisjoint N')
Goal: M.LinearDisjoint N
-- Submodule.LinearDisjoint.of_linearDisjoint_fg
theorem of_linearDisjoint_fg
    (H : ∀ (M' N' : Submodule R S), M' ≤ M → N' ≤ N → M'.FG → N'.FG → M'.LinearDisjoint N') :
    M.LinearDisjoint N 
Arguments: {R : Type u} {S : Type v} [CommSemiring R] [Semiring S] [Algebra R S] (M N : Submodule R S) (H : ∀ (M' N' : Submodule R S), M' ≤ M → N' ≤ N → M'.FG → N'.FG → M'.LinearDisjoint N')
Goal: M.LinearDisjoint N
-- Submodule.LinearDisjoint.symm
theorem LinearDisjoint.symm (H : M.LinearDisjoint N) : N.LinearDisjoint M 
Arguments: {R : Type u} {S : Type v} [CommSemiring R] [CommSemiring S] [Algebra R S] {M N : Submodule R S} (H : M.LinearDisjoint N)
Goal: N.LinearDisjoint M
-- Submodule.linearDisjoint_symm
theorem linearDisjoint_symm : M.LinearDisjoint N ↔ N.LinearDisjoint M 
Arguments: {R : Type u} {S : Type v} [CommSemiring R] [CommSemiring S] [Algebra R S] {M N : Submodule R S}
Goal: M.LinearDisjoint N ↔ N.LinearDisjoint M
-- Submodule.LinearDisjoint.linearIndependent_left_of_flat
theorem linearIndependent_left_of_flat (H : M.LinearDisjoint N) [Module.Flat R N]
    {ι : Type*} {m : ι → M} (hm : LinearIndependent R m) : LinearMap.ker (mulLeftMap N m) = ⊥ 
Arguments: {R : Type u} {S : Type v} [CommRing R] [Ring S] [Algebra R S] {M N : Submodule R S} (H : M.LinearDisjoint N) [Module.Flat R ↥N] {ι : Type u_1} {m : ι → ↥M} (hm : LinearIndependent R m)
Goal: LinearMap.ker (Submodule.mulLeftMap N m) = ⊥
-- Submodule.LinearDisjoint.of_basis_left
theorem of_basis_left {ι : Type*} (m : Basis ι R M)
    (H : LinearMap.ker (mulLeftMap N m) = ⊥) : M.LinearDisjoint N 
Arguments: {R : Type u} {S : Type v} [CommRing R] [Ring S] [Algebra R S] (M N : Submodule R S) {ι : Type u_1} (m : Basis ι R ↥M) (H : LinearMap.ker (Submodule.mulLeftMap N ⇑m) = ⊥)
Goal: M.LinearDisjoint N
-- Submodule.LinearDisjoint.linearIndependent_right_of_flat
theorem linearIndependent_right_of_flat (H : M.LinearDisjoint N) [Module.Flat R M]
    {ι : Type*} {n : ι → N} (hn : LinearIndependent R n) : LinearMap.ker (mulRightMap M n) = ⊥ 
Arguments: {R : Type u} {S : Type v} [CommRing R] [Ring S] [Algebra R S] {M N : Submodule R S} (H : M.LinearDisjoint N) [Module.Flat R ↥M] {ι : Type u_1} {n : ι → ↥N} (hn : LinearIndependent R n)
Goal: LinearMap.ker (M.mulRightMap n) = ⊥
-- Submodule.LinearDisjoint.of_basis_right
theorem of_basis_right {ι : Type*} (n : Basis ι R N)
    (H : LinearMap.ker (mulRightMap M n) = ⊥) : M.LinearDisjoint N 
Arguments: {R : Type u} {S : Type v} [CommRing R] [Ring S] [Algebra R S] (M N : Submodule R S) {ι : Type u_1} (n : Basis ι R ↥N) (H : LinearMap.ker (M.mulRightMap ⇑n) = ⊥)
Goal: M.LinearDisjoint N
-- Submodule.LinearDisjoint.linearIndependent_mul_of_flat_left
theorem linearIndependent_mul_of_flat_left (H : M.LinearDisjoint N) [Module.Flat R M]
    {κ ι : Type*} {m : κ → M} {n : ι → N} (hm : LinearIndependent R m)
    (hn : LinearIndependent R n) : LinearIndependent R fun (i : κ × ι) ↦ (m i.1).1 * (n i.2).1 
Arguments: {R : Type u} {S : Type v} [CommRing R] [Ring S] [Algebra R S] {M N : Submodule R S} (H : M.LinearDisjoint N) [Module.Flat R ↥M] {κ : Type u_1} {ι : Type u_2} {m : κ → ↥M} {n : ι → ↥N} (hm : LinearIndependent R m) (hn : LinearIndependent R n)
Goal: LinearIndependent R fun i => ↑(m i.1) * ↑(n i.2)
-- Submodule.LinearDisjoint.linearIndependent_mul_of_flat_right
theorem linearIndependent_mul_of_flat_right (H : M.LinearDisjoint N) [Module.Flat R N]
    {κ ι : Type*} {m : κ → M} {n : ι → N} (hm : LinearIndependent R m)
    (hn : LinearIndependent R n) : LinearIndependent R fun (i : κ × ι) ↦ (m i.1).1 * (n i.2).1 
Arguments: {R : Type u} {S : Type v} [CommRing R] [Ring S] [Algebra R S] {M N : Submodule R S} (H : M.LinearDisjoint N) [Module.Flat R ↥N] {κ : Type u_1} {ι : Type u_2} {m : κ → ↥M} {n : ι → ↥N} (hm : LinearIndependent R m) (hn : LinearIndependent R n)
Goal: LinearIndependent R fun i => ↑(m i.1) * ↑(n i.2)
-- Submodule.LinearDisjoint.linearIndependent_mul_of_flat
theorem linearIndependent_mul_of_flat (H : M.LinearDisjoint N)
    (hf : Module.Flat R M ∨ Module.Flat R N)
    {κ ι : Type*} {m : κ → M} {n : ι → N} (hm : LinearIndependent R m)
    (hn : LinearIndependent R n) : LinearIndependent R fun (i : κ × ι) ↦ (m i.1).1 * (n i.2).1 
Arguments: {R : Type u} {S : Type v} [CommRing R] [Ring S] [Algebra R S] {M N : Submodule R S} (H : M.LinearDisjoint N) (hf : Module.Flat R ↥M ∨ Module.Flat R ↥N) {κ : Type u_1} {ι : Type u_2} {m : κ → ↥M} {n : ι → ↥N} (hm : LinearIndependent R m) (hn : LinearIndependent R n)
Goal: LinearIndependent R fun i => ↑(m i.1) * ↑(n i.2)
-- Submodule.LinearDisjoint.of_basis_mul
theorem of_basis_mul {κ ι : Type*} (m : Basis κ R M) (n : Basis ι R N)
    (H : LinearIndependent R fun (i : κ × ι) ↦ (m i.1).1 * (n i.2).1) : M.LinearDisjoint N 
Arguments: {R : Type u} {S : Type v} [CommRing R] [Ring S] [Algebra R S] (M N : Submodule R S) {κ : Type u_1} {ι : Type u_2} (m : Basis κ R ↥M) (n : Basis ι R ↥N) (H : LinearIndependent R fun i => ↑(m i.1) * ↑(n i.2))
Goal: M.LinearDisjoint N
-- Submodule.LinearDisjoint.of_le_left_of_flat
theorem of_le_left_of_flat (H : M.LinearDisjoint N) {M' : Submodule R S}
    (h : M' ≤ M) [Module.Flat R N] : M'.LinearDisjoint N 
Arguments: {R : Type u} {S : Type v} [CommRing R] [Ring S] [Algebra R S] {M N : Submodule R S} (H : M.LinearDisjoint N) {M' : Submodule R S} (h : M' ≤ M) [Module.Flat R ↥N]
Goal: M'.LinearDisjoint N
-- Submodule.LinearDisjoint.of_le_right_of_flat
theorem of_le_right_of_flat (H : M.LinearDisjoint N) {N' : Submodule R S}
    (h : N' ≤ N) [Module.Flat R M] : M.LinearDisjoint N' 
Arguments: {R : Type u} {S : Type v} [CommRing R] [Ring S] [Algebra R S] {M N : Submodule R S} (H : M.LinearDisjoint N) {N' : Submodule R S} (h : N' ≤ N) [Module.Flat R ↥M]
Goal: M.LinearDisjoint N'
-- Submodule.LinearDisjoint.of_le_of_flat_right
theorem of_le_of_flat_right (H : M.LinearDisjoint N) {M' N' : Submodule R S}
    (hm : M' ≤ M) (hn : N' ≤ N) [Module.Flat R N] [Module.Flat R M'] :
    M'.LinearDisjoint N' 
Arguments: {R : Type u} {S : Type v} [CommRing R] [Ring S] [Algebra R S] {M N : Submodule R S} (H : M.LinearDisjoint N) {M' N' : Submodule R S} (hm : M' ≤ M) (hn : N' ≤ N) [Module.Flat R ↥N] [Module.Flat R ↥M']
Goal: M'.LinearDisjoint N'
-- Submodule.LinearDisjoint.of_le_of_flat_left
theorem of_le_of_flat_left (H : M.LinearDisjoint N) {M' N' : Submodule R S}
    (hm : M' ≤ M) (hn : N' ≤ N) [Module.Flat R M] [Module.Flat R N'] :
    M'.LinearDisjoint N' 
Arguments: {R : Type u} {S : Type v} [CommRing R] [Ring S] [Algebra R S] {M N : Submodule R S} (H : M.LinearDisjoint N) {M' N' : Submodule R S} (hm : M' ≤ M) (hn : N' ≤ N) [Module.Flat R ↥M] [Module.Flat R ↥N']
Goal: M'.LinearDisjoint N'
-- Submodule.LinearDisjoint.of_left_le_one_of_flat
theorem of_left_le_one_of_flat (h : M ≤ 1) [Module.Flat R N] :
    M.LinearDisjoint N 
Arguments: {R : Type u} {S : Type v} [CommRing R] [Ring S] [Algebra R S] (M N : Submodule R S) (h : M ≤ 1) [Module.Flat R ↥N]
Goal: M.LinearDisjoint N
-- Submodule.LinearDisjoint.of_right_le_one_of_flat
theorem of_right_le_one_of_flat (h : N ≤ 1) [Module.Flat R M] :
    M.LinearDisjoint N 
Arguments: {R : Type u} {S : Type v} [CommRing R] [Ring S] [Algebra R S] (M N : Submodule R S) (h : N ≤ 1) [Module.Flat R ↥M]
Goal: M.LinearDisjoint N
-- Submodule.LinearDisjoint.not_linearIndependent_pair_of_commute_of_flat_left
theorem not_linearIndependent_pair_of_commute_of_flat_left [Module.Flat R M]
    (a b : ↥(M ⊓ N)) (hc : Commute a.1 b.1) : ¬LinearIndependent R ![a, b] 
Arguments: {R : Type u} {S : Type v} [CommRing R] [Ring S] [Algebra R S] {M N : Submodule R S} (H : M.LinearDisjoint N) [Nontrivial R] [Module.Flat R ↥M] (a b : ↥(M ⊓ N)) (hc : Commute ↑a ↑b)
Goal: ¬LinearIndependent R ![a, b]
-- Submodule.LinearDisjoint.not_linearIndependent_pair_of_commute_of_flat_right
theorem not_linearIndependent_pair_of_commute_of_flat_right [Module.Flat R N]
    (a b : ↥(M ⊓ N)) (hc : Commute a.1 b.1) : ¬LinearIndependent R ![a, b] 
Arguments: {R : Type u} {S : Type v} [CommRing R] [Ring S] [Algebra R S] {M N : Submodule R S} (H : M.LinearDisjoint N) [Nontrivial R] [Module.Flat R ↥N] (a b : ↥(M ⊓ N)) (hc : Commute ↑a ↑b)
Goal: ¬LinearIndependent R ![a, b]
-- Submodule.LinearDisjoint.not_linearIndependent_pair_of_commute_of_flat
theorem not_linearIndependent_pair_of_commute_of_flat (hf : Module.Flat R M ∨ Module.Flat R N)
    (a b : ↥(M ⊓ N)) (hc : Commute a.1 b.1) : ¬LinearIndependent R ![a, b] 
Arguments: {R : Type u} {S : Type v} [CommRing R] [Ring S] [Algebra R S] {M N : Submodule R S} (H : M.LinearDisjoint N) [Nontrivial R] (hf : Module.Flat R ↥M ∨ Module.Flat R ↥N) (a b : ↥(M ⊓ N)) (hc : Commute ↑a ↑b)
Goal: ¬LinearIndependent R ![a, b]
-- Submodule.LinearDisjoint.rank_inf_le_one_of_commute_of_flat
theorem rank_inf_le_one_of_commute_of_flat (hf : Module.Flat R M ∨ Module.Flat R N)
    (hc : ∀ (m n : ↥(M ⊓ N)), Commute m.1 n.1) : Module.rank R ↥(M ⊓ N) ≤ 1 
Arguments: {R : Type u} {S : Type v} [CommRing R] [Ring S] [Algebra R S] {M N : Submodule R S} (H : M.LinearDisjoint N) (hf : Module.Flat R ↥M ∨ Module.Flat R ↥N) (hc : ∀ (m n : ↥(M ⊓ N)), Commute ↑m ↑n)
Goal: Module.rank R ↥(M ⊓ N) ≤ 1
-- Submodule.LinearDisjoint.rank_inf_le_one_of_commute_of_flat_left
theorem rank_inf_le_one_of_commute_of_flat_left [Module.Flat R M]
    (hc : ∀ (m n : ↥(M ⊓ N)), Commute m.1 n.1) : Module.rank R ↥(M ⊓ N) ≤ 1 
Arguments: {R : Type u} {S : Type v} [CommRing R] [Ring S] [Algebra R S] {M N : Submodule R S} (H : M.LinearDisjoint N) [Module.Flat R ↥M] (hc : ∀ (m n : ↥(M ⊓ N)), Commute ↑m ↑n)
Goal: Module.rank R ↥(M ⊓ N) ≤ 1
-- Submodule.LinearDisjoint.rank_inf_le_one_of_commute_of_flat_right
theorem rank_inf_le_one_of_commute_of_flat_right [Module.Flat R N]
    (hc : ∀ (m n : ↥(M ⊓ N)), Commute m.1 n.1) : Module.rank R ↥(M ⊓ N) ≤ 1 
Arguments: {R : Type u} {S : Type v} [CommRing R] [Ring S] [Algebra R S] {M N : Submodule R S} (H : M.LinearDisjoint N) [Module.Flat R ↥N] (hc : ∀ (m n : ↥(M ⊓ N)), Commute ↑m ↑n)
Goal: Module.rank R ↥(M ⊓ N) ≤ 1
-- Submodule.LinearDisjoint.rank_le_one_of_commute_of_flat_of_self
theorem rank_le_one_of_commute_of_flat_of_self (H : M.LinearDisjoint M) [Module.Flat R M]
    (hc : ∀ (m n : M), Commute m.1 n.1) : Module.rank R M ≤ 1 
Arguments: {R : Type u} {S : Type v} [CommRing R] [Ring S] [Algebra R S] {M : Submodule R S} (H : M.LinearDisjoint M) [Module.Flat R ↥M] (hc : ∀ (m n : ↥M), Commute ↑m ↑n)
Goal: Module.rank R ↥M ≤ 1
-- Submodule.LinearDisjoint.not_linearIndependent_pair_of_flat_left
theorem not_linearIndependent_pair_of_flat_left [Module.Flat R M]
    (a b : ↥(M ⊓ N)) : ¬LinearIndependent R ![a, b] 
Arguments: {R : Type u} {S : Type v} [CommRing R] [CommRing S] [Algebra R S] {M N : Submodule R S} (H : M.LinearDisjoint N) [Nontrivial R] [Module.Flat R ↥M] (a b : ↥(M ⊓ N))
Goal: ¬LinearIndependent R ![a, b]
-- Submodule.LinearDisjoint.not_linearIndependent_pair_of_flat_right
theorem not_linearIndependent_pair_of_flat_right [Module.Flat R N]
    (a b : ↥(M ⊓ N)) : ¬LinearIndependent R ![a, b] 
Arguments: {R : Type u} {S : Type v} [CommRing R] [CommRing S] [Algebra R S] {M N : Submodule R S} (H : M.LinearDisjoint N) [Nontrivial R] [Module.Flat R ↥N] (a b : ↥(M ⊓ N))
Goal: ¬LinearIndependent R ![a, b]