Loogle!
Result
Found 3261 declarations mentioning Function.Injective. Of these, 23 have a name containing "rtensor".
- LinearMap.lTensor_inj_iff_rTensor_inj π Mathlib.LinearAlgebra.TensorProduct.Basic
{R : Type u_1} [CommSemiring R] (M : Type u_5) {N : Type u_6} {P : Type u_7} [AddCommMonoid M] [AddCommMonoid N] [AddCommMonoid P] [Module R M] [Module R N] [Module R P] (f : N ββ[R] P) : Function.Injective β(LinearMap.lTensor M f) β Function.Injective β(LinearMap.rTensor M f) - rTensor_injective_iff_lcomp_surjective π Mathlib.Algebra.Module.CharacterModule
{R : Type uR} [CommRing R] {A : Type uA} [AddCommGroup A] {A' : Type u_1} [AddCommGroup A'] {B : Type uB} [AddCommGroup B] [Module R A] [Module R A'] [Module R B] {f : A ββ[R] A'} : Function.Injective β(LinearMap.rTensor B f) β Function.Surjective β(LinearMap.lcomp R (CharacterModule B) f) - Module.Flat.rTensor_preserves_injective_linearMap π Mathlib.RingTheory.Flat.Basic
{R : Type u} {M : Type v} {N : Type u_1} {P : Type u_2} [CommSemiring R] [AddCommMonoid M] [Module R M] [AddCommMonoid N] [Module R N] [AddCommMonoid P] [Module R P] [Module.Flat R M] (f : N ββ[R] P) (hf : Function.Injective βf) : Function.Injective β(LinearMap.rTensor M f) - Module.Flat.iff_rTensor_preserves_injective_linearMapβ π Mathlib.RingTheory.Flat.Basic
{R : Type u} {M : Type v} [CommSemiring R] [AddCommMonoid M] [Module R M] [Small.{v', u} R] : Module.Flat R M β β β¦N N' : Type v'β¦ [inst : AddCommMonoid N] [inst_1 : AddCommMonoid N'] [inst_2 : Module R N] [inst_3 : Module R N'] (f : N ββ[R] N'), Function.Injective βf β Function.Injective β(LinearMap.rTensor M f) - Module.Flat.iff_rTensor_preserves_injective_linearMap π Mathlib.RingTheory.Flat.Basic
{R : Type u} {M : Type v} [CommRing R] [AddCommGroup M] [Module R M] : Module.Flat R M β β β¦N N' : Type (max u v)β¦ [inst : AddCommGroup N] [inst_1 : AddCommGroup N'] [inst_2 : Module R N] [inst_3 : Module R N'] (f : N ββ[R] N'), Function.Injective βf β Function.Injective β(LinearMap.rTensor M f) - Module.Flat.iff_rTensor_preserves_injective_linearMap' π Mathlib.RingTheory.Flat.Basic
{R : Type u} {M : Type v} [CommRing R] [AddCommGroup M] [Module R M] [Small.{v', u} R] : 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'] (f : N ββ[R] N'), Function.Injective βf β Function.Injective β(LinearMap.rTensor M f) - Module.Flat.injective_characterModule_iff_rTensor_preserves_injective_linearMap π Mathlib.RingTheory.Flat.Basic
{R : Type u} {M : Type v} [CommRing R] [AddCommGroup M] [Module R M] : 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'] (f : N ββ[R] N'), Function.Injective βf β Function.Injective β(LinearMap.rTensor M f) - Module.Flat.iff_rTensor_injectiveβ π Mathlib.RingTheory.Flat.Basic
{R : Type u} {M : Type v} [CommSemiring R] [AddCommMonoid M] [Module R M] : Module.Flat R M β β β¦P : Type uβ¦ [inst : AddCommMonoid P] [inst_1 : Module R P] (N : Submodule R P), Function.Injective β(LinearMap.rTensor M N.subtype) - LinearMap.rTensor_injective_of_fg π Mathlib.RingTheory.Flat.Basic
{R : Type u} {M : Type v} {N : Type u_1} {P : Type u_2} [CommSemiring R] [AddCommMonoid M] [Module R M] [AddCommMonoid N] [Module R N] [AddCommMonoid P] [Module R P] {f : N ββ[R] P} (h : β (N' : Submodule R N) (P' : Submodule R P), N'.FG β P'.FG β β (h : N' β€ Submodule.comap f P'), Function.Injective β(LinearMap.rTensor M (f.restrict h))) : Function.Injective β(LinearMap.rTensor M f) - Module.Flat.iff_rTensor_injective' π Mathlib.RingTheory.Flat.Basic
{R : Type u} {M : Type v} [CommRing R] [AddCommGroup M] [Module R M] : Module.Flat R M β β (I : Ideal R), Function.Injective β(LinearMap.rTensor M (Submodule.subtype I)) - Module.Flat.iff_rTensor_injective π Mathlib.RingTheory.Flat.Basic
{R : Type u} {M : Type v} [CommRing R] [AddCommGroup M] [Module R M] : Module.Flat R M β β β¦I : Ideal Rβ¦, I.FG β Function.Injective β(LinearMap.rTensor M (Submodule.subtype I)) - LinearMap.rTensor_injective_iff_subtype π Mathlib.RingTheory.Flat.Basic
{R : Type u} {M : Type v} {N : Type u_1} {P : Type u_2} {Q : Type u_3} [CommSemiring R] [AddCommMonoid M] [Module R M] [AddCommMonoid N] [Module R N] [AddCommMonoid P] [Module R P] [AddCommMonoid Q] [Module R Q] {f : N ββ[R] P} (hf : Function.Injective βf) (e : P ββ[R] Q) : Function.Injective β(LinearMap.rTensor M f) β Function.Injective β(LinearMap.rTensor M (LinearMap.range (βe ββ f)).subtype) - TensorProduct.rTensor_injective_of_forall_vanishesTrivially π Mathlib.LinearAlgebra.TensorProduct.Vanishing
(R : Type u_1) [CommRing R] {M : Type u_2} [AddCommGroup M] [Module R M] {N : Type u_3} [AddCommGroup N] [Module R N] (hMN : β {l : β} {m : Fin l β M} {n : Fin l β N}, β i, m i ββ[R] n i = 0 β TensorProduct.VanishesTrivially R m n) (M' : Submodule R M) : Function.Injective β(LinearMap.rTensor N M'.subtype) - TensorProduct.forall_vanishesTrivially_iff_forall_rTensor_injective π Mathlib.LinearAlgebra.TensorProduct.Vanishing
(R : Type u_1) [CommRing R] {M : Type u_2} [AddCommGroup M] [Module R M] {N : Type u_3} [AddCommGroup N] [Module R N] : (β {l : β} {m : Fin l β M} {n : Fin l β N}, β i, m i ββ[R] n i = 0 β TensorProduct.VanishesTrivially R m n) β β (M' : Submodule R M), Function.Injective β(LinearMap.rTensor N M'.subtype) - TensorProduct.forall_vanishesTrivially_iff_forall_FG_rTensor_injective π Mathlib.LinearAlgebra.TensorProduct.Vanishing
(R : Type u_1) [CommRing R] {M : Type u_2} [AddCommGroup M] [Module R M] {N : Type u_3} [AddCommGroup N] [Module R N] : (β {l : β} {m : Fin l β M} {n : Fin l β N}, β i, m i ββ[R] n i = 0 β TensorProduct.VanishesTrivially R m n) β β (M' : Submodule R M), M'.FG β Function.Injective β(LinearMap.rTensor N M'.subtype) - TensorProduct.forall_vanishesTrivially_iff_forall_fg_rTensor_injective π Mathlib.LinearAlgebra.TensorProduct.Vanishing
(R : Type u_1) [CommRing R] {M : Type u_2} [AddCommGroup M] [Module R M] {N : Type u_3} [AddCommGroup N] [Module R N] : (β {l : β} {m : Fin l β M} {n : Fin l β N}, β i, m i ββ[R] n i = 0 β TensorProduct.VanishesTrivially R m n) β β (M' : Submodule R M), M'.FG β Function.Injective β(LinearMap.rTensor N M'.subtype) - TensorProduct.vanishesTrivially_of_sum_tmul_eq_zero_of_rTensor_injective π Mathlib.LinearAlgebra.TensorProduct.Vanishing
(R : Type u_1) [CommRing R] {M : Type u_2} [AddCommGroup M] [Module R M] {N : Type u_3} [AddCommGroup N] [Module R N] {ΞΉ : Type u_4} [Fintype ΞΉ] {m : ΞΉ β M} {n : ΞΉ β N} (hm : Function.Injective β(LinearMap.rTensor N (Submodule.span R (Set.range m)).subtype)) (hmn : β i, m i ββ[R] n i = 0) : TensorProduct.VanishesTrivially R m n - TensorProduct.vanishesTrivially_iff_sum_tmul_eq_zero_of_rTensor_injective π Mathlib.LinearAlgebra.TensorProduct.Vanishing
(R : Type u_1) [CommRing R] {M : Type u_2} [AddCommGroup M] [Module R M] {N : Type u_3} [AddCommGroup N] [Module R N] {ΞΉ : Type u_4} [Fintype ΞΉ] {m : ΞΉ β M} {n : ΞΉ β N} (hm : Function.Injective β(LinearMap.rTensor N (Submodule.span R (Set.range m)).subtype)) : TensorProduct.VanishesTrivially R m n β β i, m i ββ[R] n i = 0 - TensorProduct.rTensor_injective_of_forall_FG_rTensor_injective π Mathlib.LinearAlgebra.TensorProduct.Vanishing
(R : Type u_1) [CommRing R] {M : Type u_2} [AddCommGroup M] [Module R M] {N : Type u_3} [AddCommGroup N] [Module R N] (hMN : β (M' : Submodule R M), M'.FG β Function.Injective β(LinearMap.rTensor N M'.subtype)) (M' : Submodule R M) : Function.Injective β(LinearMap.rTensor N M'.subtype) - TensorProduct.rTensor_injective_of_forall_fg_rTensor_injective π Mathlib.LinearAlgebra.TensorProduct.Vanishing
(R : Type u_1) [CommRing R] {M : Type u_2} [AddCommGroup M] [Module R M] {N : Type u_3} [AddCommGroup N] [Module R N] (hMN : β (M' : Submodule R M), M'.FG β Function.Injective β(LinearMap.rTensor N M'.subtype)) (M' : Submodule R M) : Function.Injective β(LinearMap.rTensor N M'.subtype) - lTensor_injective_of_exact_of_exact_of_rTensor_injective π Mathlib.RingTheory.LocalRing.Module
{R : Type u_7} [CommRing R] {Mβ : Type u_1} {Mβ : Type u_2} {Mβ : Type u_3} {Nβ : Type u_4} {Nβ : Type u_5} {Nβ : Type u_6} [AddCommGroup Mβ] [Module R Mβ] [AddCommGroup Mβ] [Module R Mβ] [AddCommGroup Mβ] [Module R Mβ] [AddCommGroup Nβ] [Module R Nβ] [AddCommGroup Nβ] [Module R Nβ] [AddCommGroup Nβ] [Module R Nβ] {fβ : Mβ ββ[R] Mβ} {fβ : Mβ ββ[R] Mβ} {gβ : Nβ ββ[R] Nβ} {gβ : Nβ ββ[R] Nβ} (hfexact : Function.Exact βfβ βfβ) (hfsurj : Function.Surjective βfβ) (hgexact : Function.Exact βgβ βgβ) (hgsurj : Function.Surjective βgβ) (hfinj : Function.Injective β(LinearMap.rTensor Nβ fβ)) (hginj : Function.Injective β(LinearMap.lTensor Mβ gβ)) : Function.Injective β(LinearMap.lTensor Mβ gβ) - Module.free_of_maximalIdeal_rTensor_injective π Mathlib.RingTheory.LocalRing.Module
{R : Type u_1} [CommRing R] {M : Type u_2} [AddCommGroup M] [Module R M] [IsLocalRing R] [Module.FinitePresentation R M] (H : Function.Injective β(LinearMap.rTensor M (Submodule.subtype (IsLocalRing.maximalIdeal R)))) : Module.Free R M - Module.exists_basis_of_span_of_maximalIdeal_rTensor_injective π Mathlib.RingTheory.LocalRing.Module
{R : Type u_1} [CommRing R] {M : Type u_2} [AddCommGroup M] [Module R M] [IsLocalRing R] [Module.FinitePresentation R M] (H : Function.Injective β(LinearMap.rTensor M (Submodule.subtype (IsLocalRing.maximalIdeal R)))) {ΞΉ : Type u} (v : ΞΉ β M) (hv : Submodule.span R (Set.range v) = β€) : β ΞΊ a b, β (i : ΞΊ), b i = v (a i)
About
Loogle searches Lean and Mathlib definitions and theorems.
You can use Loogle from within the Lean4 VSCode language extension
using (by default) Ctrl-K Ctrl-S. You can also try the
#loogle
command from LeanSearchClient,
the CLI version, the Loogle
VS Code extension, the lean.nvim
integration or the Zulip bot.
Usage
Loogle finds definitions and lemmas in various ways:
By constant:
πReal.sin
finds all lemmas whose statement somehow mentions the sine function.By lemma name substring:
π"differ"
finds all lemmas that have"differ"
somewhere in their lemma name.By subexpression:
π_ * (_ ^ _)
finds all lemmas whose statements somewhere include a product where the second argument is raised to some power.The pattern can also be non-linear, as in
πReal.sqrt ?a * Real.sqrt ?a
If the pattern has parameters, they are matched in any order. Both of these will find
List.map
:
π(?a -> ?b) -> List ?a -> List ?b
πList ?a -> (?a -> ?b) -> List ?b
By main conclusion:
π|- tsum _ = _ * tsum _
finds all lemmas where the conclusion (the subexpression to the right of allβ
andβ
) has the given shape.As before, if the pattern has parameters, they are matched against the hypotheses of the lemma in any order; for example,
π|- _ < _ β tsum _ < tsum _
will findtsum_lt_tsum
even though the hypothesisf i < g i
is not the last.
If you pass more than one such search filter, separated by commas
Loogle will return lemmas which match all of them. The
search
π Real.sin, "two", tsum, _ * _, _ ^ _, |- _ < _ β _
would find all lemmas which mention the constants Real.sin
and tsum
, have "two"
as a substring of the
lemma name, include a product and a power somewhere in the type,
and have a hypothesis of the form _ < _
(if
there were any such lemmas). Metavariables (?a
) are
assigned independently in each filter.
The #lucky
button will directly send you to the
documentation of the first hit.
Source code
You can find the source code for this service at https://github.com/nomeata/loogle. The https://loogle.lean-lang.org/ service is provided by the Lean FRO.
This is Loogle revision 19971e9
serving mathlib revision bce1d65