ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
-- Submodule.finrank_add_finrank_le_of_disjoint
theorem finrank_add_finrank_le_of_disjoint [FiniteDimensional K V]
    {s t : Submodule K V} (hdisjoint : Disjoint s t) :
    finrank K s + finrank K t ≤ finrank K V 
Arguments: {K : Type u} {V : Type v} [DivisionRing K] [AddCommGroup V] [Module K V] [FiniteDimensional K V] {s t : Submodule K V} (hdisjoint : Disjoint s t)
Goal: FiniteDimensional.finrank K ↥s + FiniteDimensional.finrank K ↥t ≤ FiniteDimensional.finrank K V
-- LinearMap.finrank_range_add_finrank_ker
theorem finrank_range_add_finrank_ker [FiniteDimensional K V] (f : V →ₗ[K] V₂) :
    finrank K (LinearMap.range f) + finrank K (LinearMap.ker f) = finrank K V 
Arguments: {K : Type u} {V : Type v} [DivisionRing K] [AddCommGroup V] [Module K V] {V₂ : Type v'} [AddCommGroup V₂] [Module K V₂] [FiniteDimensional K V] (f : V →ₗ[K] V₂)
Goal: FiniteDimensional.finrank K ↥(LinearMap.range f) + FiniteDimensional.finrank K ↥(LinearMap.ker f) =
  FiniteDimensional.finrank K V
-- LinearMap.ker_ne_bot_of_finrank_lt
lemma ker_ne_bot_of_finrank_lt [FiniteDimensional K V] [FiniteDimensional K V₂] {f : V →ₗ[K] V₂}
    (h : finrank K V₂ < finrank K V) :
    LinearMap.ker f ≠ ⊥ 
Arguments: {K : Type u} {V : Type v} [DivisionRing K] [AddCommGroup V] [Module K V] {V₂ : Type v'} [AddCommGroup V₂] [Module K V₂] [FiniteDimensional K V] [FiniteDimensional K V₂] {f : V →ₗ[K] V₂} (h : FiniteDimensional.finrank K V₂ < FiniteDimensional.finrank K V)
Goal: LinearMap.ker f ≠ ⊥
-- LinearMap.injective_iff_surjective_of_finrank_eq_finrank
theorem injective_iff_surjective_of_finrank_eq_finrank [FiniteDimensional K V]
    [FiniteDimensional K V₂] (H : finrank K V = finrank K V₂) {f : V →ₗ[K] V₂} :
    Function.Injective f ↔ Function.Surjective f 
Arguments: {K : Type u} {V : Type v} [DivisionRing K] [AddCommGroup V] [Module K V] {V₂ : Type v'} [AddCommGroup V₂] [Module K V₂] [FiniteDimensional K V] [FiniteDimensional K V₂] (H : FiniteDimensional.finrank K V = FiniteDimensional.finrank K V₂) {f : V →ₗ[K] V₂}
Goal: Function.Injective ⇑f ↔ Function.Surjective ⇑f
-- LinearMap.ker_eq_bot_iff_range_eq_top_of_finrank_eq_finrank
theorem ker_eq_bot_iff_range_eq_top_of_finrank_eq_finrank [FiniteDimensional K V]
    [FiniteDimensional K V₂] (H : finrank K V = finrank K V₂) {f : V →ₗ[K] V₂} :
    LinearMap.ker f = ⊥ ↔ LinearMap.range f = ⊤ 
Arguments: {K : Type u} {V : Type v} [DivisionRing K] [AddCommGroup V] [Module K V] {V₂ : Type v'} [AddCommGroup V₂] [Module K V₂] [FiniteDimensional K V] [FiniteDimensional K V₂] (H : FiniteDimensional.finrank K V = FiniteDimensional.finrank K V₂) {f : V →ₗ[K] V₂}
Goal: LinearMap.ker f = ⊥ ↔ LinearMap.range f = ⊤
-- LinearMap.linearEquivOfInjective_apply
@[simp]
theorem linearEquivOfInjective_apply [FiniteDimensional K V] [FiniteDimensional K V₂]
    {f : V →ₗ[K] V₂} (hf : Injective f) (hdim : finrank K V = finrank K V₂) (x : V) :
    f.linearEquivOfInjective hf hdim x = f x 
Arguments: {K : Type u} {V : Type v} [DivisionRing K] [AddCommGroup V] [Module K V] {V₂ : Type v'} [AddCommGroup V₂] [Module K V₂] [FiniteDimensional K V] [FiniteDimensional K V₂] {f : V →ₗ[K] V₂} (hf : Function.Injective ⇑f) (hdim : FiniteDimensional.finrank K V = FiniteDimensional.finrank K V₂) (x : V)
Goal: (f.linearEquivOfInjective hf hdim) x = f x
-- Submodule.finrank_lt_finrank_of_lt
theorem finrank_lt_finrank_of_lt {s t : Submodule K V} [FiniteDimensional K t] (hst : s < t) :
    finrank K s < finrank K t 
Arguments: {K : Type u} {V : Type v} [DivisionRing K] [AddCommGroup V] [Module K V] {s t : Submodule K V} [FiniteDimensional K ↥t] (hst : s < t)
Goal: FiniteDimensional.finrank K ↥s < FiniteDimensional.finrank K ↥t
-- Submodule.finrank_strictMono
theorem finrank_strictMono [FiniteDimensional K V] :
    StrictMono fun s : Submodule K V => finrank K s 
Arguments: {K : Type u} {V : Type v} [DivisionRing K] [AddCommGroup V] [Module K V] [FiniteDimensional K V]
Goal: StrictMono fun s => FiniteDimensional.finrank K ↥s
-- Submodule.finrank_add_eq_of_isCompl
theorem finrank_add_eq_of_isCompl [FiniteDimensional K V] {U W : Submodule K V} (h : IsCompl U W) :
    finrank K U + finrank K W = finrank K V 
Arguments: {K : Type u} {V : Type v} [DivisionRing K] [AddCommGroup V] [Module K V] [FiniteDimensional K V] {U W : Submodule K V} (h : IsCompl U W)
Goal: FiniteDimensional.finrank K ↥U + FiniteDimensional.finrank K ↥W = FiniteDimensional.finrank K V
-- LinearIndependent.span_eq_top_of_card_eq_finrank'
theorem LinearIndependent.span_eq_top_of_card_eq_finrank' {ι : Type*}
    [Fintype ι] [FiniteDimensional K V] {b : ι → V} (lin_ind : LinearIndependent K b)
    (card_eq : Fintype.card ι = finrank K V) : span K (Set.range b) = ⊤ 
Arguments: {K : Type u} {V : Type v} [DivisionRing K] [AddCommGroup V] [Module K V] {ι : Type u_1} [Fintype ι] [FiniteDimensional K V] {b : ι → V} (lin_ind : LinearIndependent K b) (card_eq : Fintype.card ι = FiniteDimensional.finrank K V)
Goal: Submodule.span K (Set.range b) = ⊤
-- LinearIndependent.span_eq_top_of_card_eq_finrank
theorem LinearIndependent.span_eq_top_of_card_eq_finrank {ι : Type*} [Nonempty ι]
    [Fintype ι] {b : ι → V} (lin_ind : LinearIndependent K b)
    (card_eq : Fintype.card ι = finrank K V) : span K (Set.range b) = ⊤ 
Arguments: {K : Type u} {V : Type v} [DivisionRing K] [AddCommGroup V] [Module K V] {ι : Type u_1} [Nonempty ι] [Fintype ι] {b : ι → V} (lin_ind : LinearIndependent K b) (card_eq : Fintype.card ι = FiniteDimensional.finrank K V)
Goal: Submodule.span K (Set.range b) = ⊤
-- basisOfLinearIndependentOfCardEqFinrank_repr_apply
@[simps! repr_apply]
noncomputable def basisOfLinearIndependentOfCardEqFinrank {ι : Type*} [Nonempty ι] [Fintype ι]
    {b : ι → V} (lin_ind : LinearIndependent K b) (card_eq : Fintype.card ι = finrank K V) :
    Basis ι K V 
Arguments: {K : Type u} {V : Type v} [DivisionRing K] [AddCommGroup V] [Module K V] {ι : Type u_1} [Nonempty ι] [Fintype ι] {b : ι → V} (lin_ind : LinearIndependent K b) (card_eq : Fintype.card ι = FiniteDimensional.finrank K V)
Goal: ∀ (a : V),
  (basisOfLinearIndependentOfCardEqFinrank lin_ind card_eq).repr a =
    lin_ind.repr ((LinearMap.codRestrict (Submodule.span K (Set.range b)) LinearMap.id ⋯) a)
-- coe_basisOfLinearIndependentOfCardEqFinrank
@[simp]
theorem coe_basisOfLinearIndependentOfCardEqFinrank {ι : Type*} [Nonempty ι] [Fintype ι]
    {b : ι → V} (lin_ind : LinearIndependent K b) (card_eq : Fintype.card ι = finrank K V) :
    ⇑(basisOfLinearIndependentOfCardEqFinrank lin_ind card_eq) = b 
Arguments: {K : Type u} {V : Type v} [DivisionRing K] [AddCommGroup V] [Module K V] {ι : Type u_1} [Nonempty ι] [Fintype ι] {b : ι → V} (lin_ind : LinearIndependent K b) (card_eq : Fintype.card ι = FiniteDimensional.finrank K V)
Goal: ⇑(basisOfLinearIndependentOfCardEqFinrank lin_ind card_eq) = b
-- finsetBasisOfLinearIndependentOfCardEqFinrank_repr_apply
@[simps! repr_apply]
noncomputable def finsetBasisOfLinearIndependentOfCardEqFinrank {s : Finset V} (hs : s.Nonempty)
    (lin_ind : LinearIndependent K ((↑) : s → V)) (card_eq : s.card = finrank K V) : Basis s K V 
Arguments: {K : Type u} {V : Type v} [DivisionRing K] [AddCommGroup V] [Module K V] {s : Finset V} (hs : s.Nonempty) (lin_ind : LinearIndependent K Subtype.val) (card_eq : s.card = FiniteDimensional.finrank K V)
Goal: ∀ (a : V),
  (finsetBasisOfLinearIndependentOfCardEqFinrank hs lin_ind card_eq).repr a =
    lin_ind.repr ((LinearMap.codRestrict (Submodule.span K (Set.range Subtype.val)) LinearMap.id ⋯) a)
-- coe_finsetBasisOfLinearIndependentOfCardEqFinrank
@[simp]
theorem coe_finsetBasisOfLinearIndependentOfCardEqFinrank {s : Finset V} (hs : s.Nonempty)
    (lin_ind : LinearIndependent K ((↑) : s → V)) (card_eq : s.card = finrank K V) :
    ⇑(finsetBasisOfLinearIndependentOfCardEqFinrank hs lin_ind card_eq) = ((↑) : s → V) 
Arguments: {K : Type u} {V : Type v} [DivisionRing K] [AddCommGroup V] [Module K V] {s : Finset V} (hs : s.Nonempty) (lin_ind : LinearIndependent K Subtype.val) (card_eq : s.card = FiniteDimensional.finrank K V)
Goal: ⇑(finsetBasisOfLinearIndependentOfCardEqFinrank hs lin_ind card_eq) = Subtype.val
-- setBasisOfLinearIndependentOfCardEqFinrank_repr_apply
@[simps! repr_apply]
noncomputable def setBasisOfLinearIndependentOfCardEqFinrank {s : Set V} [Nonempty s] [Fintype s]
    (lin_ind : LinearIndependent K ((↑) : s → V)) (card_eq : s.toFinset.card = finrank K V) :
    Basis s K V 
Arguments: {K : Type u} {V : Type v} [DivisionRing K] [AddCommGroup V] [Module K V] {s : Set V} [Nonempty ↑s] [Fintype ↑s] (lin_ind : LinearIndependent (ι := { x // x ∈ s }) K Subtype.val) (card_eq : s.toFinset.card = FiniteDimensional.finrank K V)
Goal: ∀ (a : V),
  (setBasisOfLinearIndependentOfCardEqFinrank lin_ind card_eq).repr a =
    lin_ind.repr ((LinearMap.codRestrict (Submodule.span K (Set.range Subtype.val)) LinearMap.id ⋯) a)
-- coe_setBasisOfLinearIndependentOfCardEqFinrank
@[simp]
theorem coe_setBasisOfLinearIndependentOfCardEqFinrank {s : Set V} [Nonempty s] [Fintype s]
    (lin_ind : LinearIndependent K ((↑) : s → V)) (card_eq : s.toFinset.card = finrank K V) :
    ⇑(setBasisOfLinearIndependentOfCardEqFinrank lin_ind card_eq) = ((↑) : s → V) 
Arguments: {K : Type u} {V : Type v} [DivisionRing K] [AddCommGroup V] [Module K V] {s : Set V} [Nonempty ↑s] [Fintype ↑s] (lin_ind : LinearIndependent (ι := { x // x ∈ s }) K Subtype.val) (card_eq : s.toFinset.card = FiniteDimensional.finrank K V)
Goal: ⇑(setBasisOfLinearIndependentOfCardEqFinrank lin_ind card_eq) = Subtype.val
-- is_simple_module_of_finrank_eq_one
theorem is_simple_module_of_finrank_eq_one {A} [Semiring A] [Module A V] [SMul K A]
    [IsScalarTower K A V] (h : finrank K V = 1) : IsSimpleOrder (Submodule A V) 
Arguments: {K : Type u} {V : Type v} [DivisionRing K] [AddCommGroup V] [Module K V] {A : Type u_1} [Semiring A] [Module A V] [SMul K A] [IsScalarTower K A V] (h : FiniteDimensional.finrank K V = 1)
Goal: IsSimpleOrder (Submodule A V)
-- Subalgebra.isSimpleOrder_of_finrank
theorem Subalgebra.isSimpleOrder_of_finrank (hr : finrank F E = 2) :
    IsSimpleOrder (Subalgebra F E) 
Arguments: {F : Type u_1} {E : Type u_2} [Field F] [Ring E] [Algebra F E] (hr : FiniteDimensional.finrank F E = 2)
Goal: IsSimpleOrder (Subalgebra F E)
-- Module.End.exists_ker_pow_eq_ker_pow_succ
theorem exists_ker_pow_eq_ker_pow_succ [FiniteDimensional K V] (f : End K V) :
    ∃ k : ℕ, k ≤ finrank K V ∧ LinearMap.ker (f ^ k) = LinearMap.ker (f ^ k.succ) 
Arguments: {K : Type u} {V : Type v} [DivisionRing K] [AddCommGroup V] [Module K V] [FiniteDimensional K V] (f : Module.End K V)
Goal: ∃ k ≤ FiniteDimensional.finrank K V, LinearMap.ker (f ^ k) = LinearMap.ker (f ^ k.succ)
-- Module.End.ker_pow_eq_ker_pow_finrank_of_le
theorem ker_pow_eq_ker_pow_finrank_of_le [FiniteDimensional K V] {f : End K V} {m : ℕ}
    (hm : finrank K V ≤ m) : LinearMap.ker (f ^ m) = LinearMap.ker (f ^ finrank K V) 
Arguments: {K : Type u} {V : Type v} [DivisionRing K] [AddCommGroup V] [Module K V] [FiniteDimensional K V] {f : Module.End K V} {m : ℕ} (hm : FiniteDimensional.finrank K V ≤ m)
Goal: LinearMap.ker (f ^ m) = LinearMap.ker (f ^ FiniteDimensional.finrank K V)
-- Module.End.ker_pow_le_ker_pow_finrank
theorem ker_pow_le_ker_pow_finrank [FiniteDimensional K V] (f : End K V) (m : ℕ) :
    LinearMap.ker (f ^ m) ≤ LinearMap.ker (f ^ finrank K V) 
Arguments: {K : Type u} {V : Type v} [DivisionRing K] [AddCommGroup V] [Module K V] [FiniteDimensional K V] (f : Module.End K V) (m : ℕ)
Goal: LinearMap.ker (f ^ m) ≤ LinearMap.ker (f ^ FiniteDimensional.finrank K V)
-- LinearMap.trace_restrict_eq_of_forall_mem
lemma trace_restrict_eq_of_forall_mem [IsDomain R] [IsPrincipalIdealRing R]
    (p : Submodule R M) (f : M →ₗ[R] M)
    (hf : ∀ x, f x ∈ p) (hf' : ∀ x ∈ p, f x ∈ p := fun x _ ↦ hf x) :
    trace R p (f.restrict hf') = trace R M f 
Arguments: {R : Type u_1} {M : Type u_2} [CommRing R] [AddCommGroup M] [Module R M] [Module.Finite R M] [Module.Free R M] [IsDomain R] [IsPrincipalIdealRing R] (p : Submodule R M) (f : M →ₗ[R] M) (hf : ∀ (x : M), f x ∈ p) (hf' : ∀ x ∈ p, f x ∈ p := ⋯)
Goal: (LinearMap.trace R ↥p) (f.restrict hf') = (LinearMap.trace R M) f
-- associated_norm_prod_smith
theorem associated_norm_prod_smith [Fintype ι] (b : Basis ι R S) {f : S} (hf : f ≠ 0) :
    Associated (Algebra.norm R f) (∏ i, smithCoeffs b _ (span_singleton_eq_bot.not.2 hf) i) 
Arguments: {R : Type u_1} {S : Type u_2} {ι : Type u_3} [CommRing R] [IsDomain R] [IsPrincipalIdealRing R] [CommRing S] [IsDomain S] [Algebra R S] [Fintype ι] (b : Basis ι R S) {f : S} (hf : f ≠ 0)
Goal: Associated ((Algebra.norm R) f) (∏ i : ι, Ideal.smithCoeffs b (Ideal.span {f}) ⋯ i)
-- finrank_quotient_span_eq_natDegree_norm
theorem finrank_quotient_span_eq_natDegree_norm [Algebra F S] [IsScalarTower F F[X] S]
    (b : Basis ι F[X] S) {f : S} (hf : f ≠ 0) :
    FiniteDimensional.finrank F (S ⧸ span ({f} : Set S)) = (Algebra.norm F[X] f).natDegree 
Arguments: {S : Type u_2} {ι : Type u_3} [CommRing S] [IsDomain S] {F : Type u_4} [Field F] [Algebra F[X] S] [Finite ι] [Algebra F S] [IsScalarTower F F[X] S] (b : Basis ι F[X] S) {f : S} (hf : f ≠ 0)
Goal: FiniteDimensional.finrank F (S ⧸ Ideal.span {f}) = ((Algebra.norm F[X]) f).natDegree
-- Module.Flat.out
@[mk_iff] class Flat : Prop where
  out : ∀ ⦃I : Ideal R⦄ (_ : I.FG),
    Function.Injective (TensorProduct.lift ((lsmul R M).comp I.subtype))
Arguments: {R : Type u} {M : Type v} [CommRing R] [AddCommGroup M] [Module R M] [self : Module.Flat R M] ⦃I : Ideal R⦄
Goal: I.FG → Function.Injective ⇑(TensorProduct.lift (LinearMap.lsmul R M ∘ₗ Submodule.subtype I))
-- Module.flat_iff
@[mk_iff] class Flat : Prop where
  out : ∀ ⦃I : Ideal R⦄ (_ : I.FG),
    Function.Injective (TensorProduct.lift ((lsmul R M).comp I.subtype))
Arguments: (R : Type u) (M : Type v) [CommRing R] [AddCommGroup M] [Module R M]
Goal: Module.Flat R M ↔
  ∀ ⦃I : Ideal R⦄, I.FG → Function.Injective ⇑(TensorProduct.lift (LinearMap.lsmul R M ∘ₗ Submodule.subtype I))
-- Module.Flat.iff_rTensor_injective
lemma iff_rTensor_injective :
    Flat R M ↔ ∀ ⦃I : Ideal R⦄ (_ : I.FG), Function.Injective (rTensor M I.subtype) 
Arguments: (R : Type u) (M : Type v) [CommRing R] [AddCommGroup M] [Module R M]
Goal: Module.Flat R M ↔ ∀ ⦃I : Ideal R⦄, I.FG → Function.Injective ⇑(LinearMap.rTensor M (Submodule.subtype I))
-- Module.Flat.iff_rTensor_injective'
theorem iff_rTensor_injective' :
    Flat R M ↔ ∀ I : Ideal R, Function.Injective (rTensor M I.subtype) 
Arguments: (R : Type u) (M : Type v) [CommRing R] [AddCommGroup M] [Module R M]
Goal: Module.Flat R M ↔ ∀ (I : Ideal R), Function.Injective ⇑(LinearMap.rTensor M (Submodule.subtype I))
-- Module.Flat.iff_lTensor_injective
theorem iff_lTensor_injective :
    Module.Flat R M ↔ ∀ ⦃I : Ideal R⦄ (_ : I.FG), Function.Injective (lTensor M I.subtype) 
Arguments: (R : Type u) (M : Type v) [CommRing R] [AddCommGroup M] [Module R M]
Goal: Module.Flat R M ↔ ∀ ⦃I : Ideal R⦄, I.FG → Function.Injective ⇑(LinearMap.lTensor M (Submodule.subtype I))
-- Module.Flat.iff_lTensor_injective'
theorem iff_lTensor_injective' :
    Module.Flat R M ↔ ∀ (I : Ideal R), Function.Injective (lTensor M I.subtype) 
Arguments: (R : Type u) (M : Type v) [CommRing R] [AddCommGroup M] [Module R M]
Goal: Module.Flat R M ↔ ∀ (I : Ideal R), Function.Injective ⇑(LinearMap.lTensor M (Submodule.subtype I))
-- Module.Flat.of_retract
lemma of_retract [f : Flat R M] (i : N →ₗ[R] M) (r : M →ₗ[R] N) (h : r.comp i = LinearMap.id) :
    Flat R N 
Arguments: (R : Type u) (M : Type v) [CommRing R] [AddCommGroup M] [Module R M] (N : Type w) [AddCommGroup N] [Module R N] [f : Module.Flat R M] (i : N →ₗ[R] M) (r : M →ₗ[R] N) (h : r ∘ₗ i = LinearMap.id)
Goal: Module.Flat R N
-- Module.Flat.of_linearEquiv
lemma of_linearEquiv [f : Flat R M] (e : N ≃ₗ[R] M) : Flat R N 
Arguments: (R : Type u) (M : Type v) [CommRing R] [AddCommGroup M] [Module R M] (N : Type w) [AddCommGroup N] [Module R N] [f : Module.Flat R M] (e : N ≃ₗ[R] M)
Goal: Module.Flat R N
-- Module.Flat.of_projective_surjective
lemma of_projective_surjective (ι : Type w) [Projective R M] (p : (ι →₀ R) →ₗ[R] M)
    (hp : Surjective p) : Flat R M 
Arguments: (R : Type u) (M : Type v) [CommRing R] [AddCommGroup M] [Module R M] (ι : Type w) [Module.Projective R M] (p : (ι →₀ R) →ₗ[R] M) (hp : Function.Surjective ⇑p)
Goal: Module.Flat R M
-- Module.Flat.injective_characterModule_iff_rTensor_preserves_injective_linearMap
lemma injective_characterModule_iff_rTensor_preserves_injective_linearMap :
    Module.Injective R (CharacterModule M) ↔
    ∀ ⦃N N' : Type v⦄ [AddCommGroup N] [AddCommGroup N'] [Module R N] [Module R N']
      (L : N →ₗ[R] N'), Function.Injective L → Function.Injective (L.rTensor M) 
Arguments: (R : Type u) (M : Type v) [CommRing R] [AddCommGroup M] [Module R M]
Goal: Module.Injective R (CharacterModule M) ↔
  ∀ ⦃N N' : Type v⦄ [inst : AddCommGroup N] [inst_1 : AddCommGroup N'] [inst_2 : Module R N] [inst_3 : Module R N']
    (L : N →ₗ[R] N'), Function.Injective ⇑L → Function.Injective ⇑(LinearMap.rTensor M L)
-- Module.Flat.iff_characterModule_baer
theorem iff_characterModule_baer : Flat R M ↔ Module.Baer R (CharacterModule M) 
Arguments: {R : Type u} {M : Type v} [CommRing R] [AddCommGroup M] [Module R M]
Goal: Module.Flat R M ↔ Module.Baer R (CharacterModule M)
-- Module.Flat.iff_characterModule_injective
theorem iff_characterModule_injective [Small.{v} R] :
    Flat R M ↔ Module.Injective R (CharacterModule M) 
Arguments: {R : Type u} {M : Type v} [CommRing R] [AddCommGroup M] [Module R M] [Small.{v, u} R]
Goal: Module.Flat R M ↔ Module.Injective R (CharacterModule M)
-- Module.Flat.rTensor_preserves_injective_linearMap
theorem rTensor_preserves_injective_linearMap {N' : Type*} [AddCommGroup N'] [Module R N']
    [h : Flat R M] (L : N →ₗ[R] N') (hL : Function.Injective L) :
    Function.Injective (L.rTensor M) 
Arguments: {R : Type u} {M : Type v} [CommRing R] [AddCommGroup M] [Module R M] {N : Type w} [AddCommGroup N] [Module R N] {N' : Type u_1} [AddCommGroup N'] [Module R N'] [h : Module.Flat R M] (L : N →ₗ[R] N') (hL : Function.Injective ⇑L)
Goal: Function.Injective ⇑(LinearMap.rTensor M L)
-- Module.Flat.lTensor_preserves_injective_linearMap
theorem lTensor_preserves_injective_linearMap {N' : Type*} [AddCommGroup N'] [Module R N']
    [Flat R M] (L : N →ₗ[R] N') (hL : Function.Injective L) :
    Function.Injective (L.lTensor M) 
Arguments: {R : Type u} {M : Type v} [CommRing R] [AddCommGroup M] [Module R M] {N : Type w} [AddCommGroup N] [Module R N] {N' : Type u_1} [AddCommGroup N'] [Module R N'] [Module.Flat R M] (L : N →ₗ[R] N') (hL : Function.Injective ⇑L)
Goal: Function.Injective ⇑(LinearMap.lTensor M L)
-- Module.Flat.iff_rTensor_preserves_injective_linearMap
lemma iff_rTensor_preserves_injective_linearMap [Small.{v} R] :
    Flat R M ↔
    ∀ ⦃N N' : Type v⦄ [AddCommGroup N] [AddCommGroup N'] [Module R N] [Module R N']
      (L : N →ₗ[R] N'), Function.Injective L → Function.Injective (L.rTensor M) 
Arguments: (R : Type u) (M : Type v) [CommRing R] [AddCommGroup M] [Module R M] [Small.{v, u} R]
Goal: Module.Flat R M ↔
  ∀ ⦃N N' : Type v⦄ [inst : AddCommGroup N] [inst_1 : AddCommGroup N'] [inst_2 : Module R N] [inst_3 : Module R N']
    (L : N →ₗ[R] N'), Function.Injective ⇑L → Function.Injective ⇑(LinearMap.rTensor M L)
-- Module.Flat.iff_lTensor_preserves_injective_linearMap
lemma iff_lTensor_preserves_injective_linearMap [Small.{v} R] :
    Flat R M ↔
    ∀ ⦃N N' : Type v⦄ [AddCommGroup N] [AddCommGroup N'] [Module R N] [Module R N']
      (L : N →ₗ[R] N'), Function.Injective L → Function.Injective (L.lTensor M) 
Arguments: (R : Type u) (M : Type v) [CommRing R] [AddCommGroup M] [Module R M] [Small.{v, u} R]
Goal: Module.Flat R M ↔
  ∀ ⦃N N' : Type v⦄ [inst : AddCommGroup N] [inst_1 : AddCommGroup N'] [inst_2 : Module R N] [inst_3 : Module R N']
    (L : N →ₗ[R] N'), Function.Injective ⇑L → Function.Injective ⇑(LinearMap.lTensor M L)
-- Module.Flat.lTensor_exact
lemma lTensor_exact [Small.{v} R] [flat : Flat R M] ⦃N N' N'' : Type v⦄
    [AddCommGroup N] [AddCommGroup N'] [AddCommGroup N''] [Module R N] [Module R N'] [Module R N'']
    ⦃f : N →ₗ[R] N'⦄ ⦃g : N' →ₗ[R] N''⦄ (exact : Function.Exact f g) :
    Function.Exact (f.lTensor M) (g.lTensor M) 
Arguments: {R : Type u} (M : Type v) [CommRing R] [AddCommGroup M] [Module R M] [Small.{v, u} R] [flat : Module.Flat R M] ⦃N N' N'' : Type v⦄ [AddCommGroup N] [AddCommGroup N'] [AddCommGroup N''] [Module R N] [Module R N'] [Module R N''] ⦃f : N →ₗ[R] N'⦄ ⦃g : N' →ₗ[R] N''⦄ (exact : Function.Exact ⇑f ⇑g)
Goal: Function.Exact ⇑(LinearMap.lTensor M f) ⇑(LinearMap.lTensor M g)
-- Module.Flat.rTensor_exact
lemma rTensor_exact [Small.{v} R] [flat : Flat R M] ⦃N N' N'' : Type v⦄
    [AddCommGroup N] [AddCommGroup N'] [AddCommGroup N''] [Module R N] [Module R N'] [Module R N'']
    ⦃f : N →ₗ[R] N'⦄ ⦃g : N' →ₗ[R] N''⦄ (exact : Function.Exact f g) :
    Function.Exact (f.rTensor M) (g.rTensor M) 
Arguments: {R : Type u} (M : Type v) [CommRing R] [AddCommGroup M] [Module R M] [Small.{v, u} R] [flat : Module.Flat R M] ⦃N N' N'' : Type v⦄ [AddCommGroup N] [AddCommGroup N'] [AddCommGroup N''] [Module R N] [Module R N'] [Module R N''] ⦃f : N →ₗ[R] N'⦄ ⦃g : N' →ₗ[R] N''⦄ (exact : Function.Exact ⇑f ⇑g)
Goal: Function.Exact ⇑(LinearMap.rTensor M f) ⇑(LinearMap.rTensor M g)
-- Module.Flat.iff_lTensor_exact
lemma iff_lTensor_exact [Small.{v} R] :
    Flat R M ↔
    ∀ ⦃N N' N'' : Type v⦄ [AddCommGroup N] [AddCommGroup N'] [AddCommGroup N'']
      [Module R N] [Module R N'] [Module R N''] ⦃f : N →ₗ[R] N'⦄ ⦃g : N' →ₗ[R] N''⦄,
        Function.Exact f g → Function.Exact (f.lTensor M) (g.lTensor M) 
Arguments: {R : Type u} {M : Type v} [CommRing R] [AddCommGroup M] [Module R M] [Small.{v, u} R]
Goal: Module.Flat R M ↔
  ∀ ⦃N N' N'' : Type v⦄ [inst : AddCommGroup N] [inst_1 : AddCommGroup N'] [inst_2 : AddCommGroup N'']
    [inst_3 : Module R N] [inst_4 : Module R N'] [inst_5 : Module R N''] ⦃f : N →ₗ[R] N'⦄ ⦃g : N' →ₗ[R] N''⦄,
    Function.Exact ⇑f ⇑g → Function.Exact ⇑(LinearMap.lTensor M f) ⇑(LinearMap.lTensor M g)
-- Module.Flat.iff_rTensor_exact
lemma iff_rTensor_exact [Small.{v} R] :
    Flat R M ↔
    ∀ ⦃N N' N'' : Type v⦄ [AddCommGroup N] [AddCommGroup N'] [AddCommGroup N'']
      [Module R N] [Module R N'] [Module R N''] ⦃f : N →ₗ[R] N'⦄ ⦃g : N' →ₗ[R] N''⦄,
        Function.Exact f g → Function.Exact (f.rTensor M) (g.rTensor M) 
Arguments: {R : Type u} {M : Type v} [CommRing R] [AddCommGroup M] [Module R M] [Small.{v, u} R]
Goal: Module.Flat R M ↔
  ∀ ⦃N N' N'' : Type v⦄ [inst : AddCommGroup N] [inst_1 : AddCommGroup N'] [inst_2 : AddCommGroup N'']
    [inst_3 : Module R N] [inst_4 : Module R N'] [inst_5 : Module R N''] ⦃f : N →ₗ[R] N'⦄ ⦃g : N' →ₗ[R] N''⦄,
    Function.Exact ⇑f ⇑g → Function.Exact ⇑(LinearMap.rTensor M f) ⇑(LinearMap.rTensor M g)
-- Submodule.cardQuot_apply
theorem cardQuot_apply (S : Submodule R M) : cardQuot S = Nat.card (M ⧸ S) 
Arguments: {R : Type u_1} {M : Type u_2} [Ring R] [AddCommGroup M] [Module R M] (S : Submodule R M)
Goal: S.cardQuot = Nat.card (M ⧸ S)
-- Submodule.cardQuot_bot
@[simp]
theorem cardQuot_bot [Infinite M] : cardQuot (⊥ : Submodule R M) = 0 
Arguments: (R : Type u_1) (M : Type u_2) [Ring R] [AddCommGroup M] [Module R M] [Infinite M]
Goal: ⊥.cardQuot = 0
-- Submodule.cardQuot_top
@[simp]
theorem cardQuot_top : cardQuot (⊤ : Submodule R M) = 1 
Arguments: (R : Type u_1) (M : Type u_2) [Ring R] [AddCommGroup M] [Module R M]
Goal: ⊤.cardQuot = 1
-- Submodule.cardQuot_eq_one_iff
@[simp]
theorem cardQuot_eq_one_iff {P : Submodule R M} : cardQuot P = 1 ↔ P = ⊤ 
Arguments: {R : Type u_1} {M : Type u_2} [Ring R] [AddCommGroup M] [Module R M] {P : Submodule R M}
Goal: P.cardQuot = 1 ↔ P = ⊤
-- cardQuot_mul_of_coprime
theorem cardQuot_mul_of_coprime
    {I J : Ideal S} (coprime : IsCoprime I J) : cardQuot (I * J) = cardQuot I * cardQuot J 
Arguments: {S : Type u_1} [CommRing S] {I J : Ideal S} (coprime : IsCoprime I J)
Goal: Submodule.cardQuot (I * J) = Submodule.cardQuot I * Submodule.cardQuot J