Loogle!
Result
Found 109 declarations mentioning LinearMap.restrictScalars.
- LinearMap.restrictScalars_id π Mathlib.Algebra.Module.LinearMap.Defs
(R : Type u_1) {S : Type u_5} {M : Type u_8} [Semiring R] [Semiring S] [AddCommMonoid M] [Module R M] [Module S M] [LinearMap.CompatibleSMul M M R S] : βR LinearMap.id = LinearMap.id - LinearMap.restrictScalars π Mathlib.Algebra.Module.LinearMap.Defs
(R : Type u_1) {S : Type u_5} {M : Type u_8} {Mβ : Type u_10} [Semiring R] [Semiring S] [AddCommMonoid M] [AddCommMonoid Mβ] [Module R M] [Module R Mβ] [Module S M] [Module S Mβ] [LinearMap.CompatibleSMul M Mβ R S] (fβ : M ββ[S] Mβ) : M ββ[R] Mβ - LinearMap.restrictScalars_injective π Mathlib.Algebra.Module.LinearMap.Defs
(R : Type u_1) {S : Type u_5} {M : Type u_8} {Mβ : Type u_10} [Semiring R] [Semiring S] [AddCommMonoid M] [AddCommMonoid Mβ] [Module R M] [Module R Mβ] [Module S M] [Module S Mβ] [LinearMap.CompatibleSMul M Mβ R S] : Function.Injective βR - LinearMap.restrictScalars_self π Mathlib.Algebra.Module.LinearMap.Defs
(R : Type u_1) {M : Type u_8} {Mβ : Type u_10} [Semiring R] [AddCommMonoid M] [AddCommMonoid Mβ] [Module R M] [Module R Mβ] (f : M ββ[R] Mβ) : βR f = f - LinearMap.restrictScalars_inj π Mathlib.Algebra.Module.LinearMap.Defs
(R : Type u_1) {S : Type u_5} {M : Type u_8} {Mβ : Type u_10} [Semiring R] [Semiring S] [AddCommMonoid M] [AddCommMonoid Mβ] [Module R M] [Module R Mβ] [Module S M] [Module S Mβ] [LinearMap.CompatibleSMul M Mβ R S] (fβ gβ : M ββ[S] Mβ) : βR fβ = βR gβ β fβ = gβ - LinearMap.coe_restrictScalars π Mathlib.Algebra.Module.LinearMap.Defs
(R : Type u_1) {S : Type u_5} {M : Type u_8} {Mβ : Type u_10} [Semiring R] [Semiring S] [AddCommMonoid M] [AddCommMonoid Mβ] [Module R M] [Module R Mβ] [Module S M] [Module S Mβ] [LinearMap.CompatibleSMul M Mβ R S] (f : M ββ[S] Mβ) : β(βR f) = βf - LinearMap.restrictScalars_apply π Mathlib.Algebra.Module.LinearMap.Defs
(R : Type u_1) {S : Type u_5} {M : Type u_8} {Mβ : Type u_10} [Semiring R] [Semiring S] [AddCommMonoid M] [AddCommMonoid Mβ] [Module R M] [Module R Mβ] [Module S M] [Module S Mβ] [LinearMap.CompatibleSMul M Mβ R S] (fβ : M ββ[S] Mβ) (x : M) : (βR fβ) x = fβ x - LinearMap.restrictScalars_zero π Mathlib.Algebra.Module.LinearMap.Defs
(R : Type u_14) (S : Type u_15) (M : Type u_16) (N : Type u_17) [Semiring R] [Semiring S] [AddCommMonoid M] [AddCommMonoid N] [Module R M] [Module R N] [Module S M] [Module S N] [LinearMap.CompatibleSMul M N R S] : βR 0 = 0 - LinearMap.restrictScalars_neg π Mathlib.Algebra.Module.LinearMap.Defs
{R : Type u_14} {S : Type u_15} [Semiring R] [Semiring S] {M : Type u_19} {N : Type u_20} [AddCommMonoid M] [AddCommGroup N] [Module R M] [Module R N] [Module S M] [Module S N] [LinearMap.CompatibleSMul M N R S] (f : M ββ[S] N) : βR (-f) = -βR f - LinearMap.restrictScalars_trans π Mathlib.Algebra.Module.LinearMap.Defs
{R : Type u_14} {S : Type u_15} {M : Type u_16} {N : Type u_17} [Semiring R] [Semiring S] [AddCommMonoid M] [AddCommMonoid N] [Module R M] [Module R N] [Module S M] [Module S N] [LinearMap.CompatibleSMul M N R S] {T : Type u_20} [Semiring T] [Module T M] [Module T N] [LinearMap.CompatibleSMul M N S T] [LinearMap.CompatibleSMul M N R T] (f : M ββ[T] N) : βR (βS f) = βR f - LinearMap.restrictScalars_add π Mathlib.Algebra.Module.LinearMap.Defs
{R : Type u_14} {S : Type u_15} {M : Type u_16} {N : Type u_17} [Semiring R] [Semiring S] [AddCommMonoid M] [AddCommMonoid N] [Module R M] [Module R N] [Module S M] [Module S N] [LinearMap.CompatibleSMul M N R S] (f g : M ββ[S] N) : βR (f + g) = βR f + βR g - LinearMap.restrictScalars_comp π Mathlib.Algebra.Module.LinearMap.Defs
{R : Type u_14} {S : Type u_15} {M : Type u_16} {N : Type u_17} {P : Type u_18} [Semiring R] [Semiring S] [AddCommMonoid M] [AddCommMonoid N] [Module R M] [Module R N] [Module S M] [Module S N] [LinearMap.CompatibleSMul M N R S] [AddCommMonoid P] [Module S P] [Module R P] [LinearMap.CompatibleSMul N P R S] [LinearMap.CompatibleSMul M P R S] (f : N ββ[S] P) (g : M ββ[S] N) : βR (f ββ g) = βR f ββ βR g - LinearMap.restrictScalars_smul π Mathlib.Algebra.Module.LinearMap.Defs
{R : Type u_14} {S : Type u_15} {M : Type u_16} {N : Type u_17} [Semiring R] [Semiring S] [AddCommMonoid M] [AddCommMonoid N] [Module R M] [Module R N] [Module S M] [Module S N] [LinearMap.CompatibleSMul M N R S] {Rβ : Type u_19} [Semiring Rβ] [Module Rβ N] [SMulCommClass S Rβ N] [SMulCommClass R Rβ N] (c : Rβ) (f : M ββ[S] N) : βR (c β’ f) = c β’ βR f - LinearMap.restrictScalarsβ_apply π Mathlib.Algebra.Module.LinearMap.Defs
(R : Type u_14) (S : Type u_15) (M : Type u_16) (N : Type u_17) [Semiring R] [Semiring S] [AddCommMonoid M] [AddCommMonoid N] [Module R M] [Module R N] [Module S M] [Module S N] [LinearMap.CompatibleSMul M N R S] (Rβ : Type u_19) [Semiring Rβ] [Module Rβ N] [SMulCommClass S Rβ N] [SMulCommClass R Rβ N] (fβ : M ββ[S] N) : (LinearMap.restrictScalarsβ R S M N Rβ) fβ = βR fβ - LinearEquiv.restrictScalars_toLinearMap π Mathlib.Algebra.Module.Equiv.Basic
(R : Type u_1) {S : Type u_4} {M : Type u_5} {Mβ : Type u_7} [Semiring R] [Semiring S] [AddCommMonoid M] [AddCommMonoid Mβ] [Module R M] [Module R Mβ] [Module S M] [Module S Mβ] [LinearMap.CompatibleSMul M Mβ R S] (f : M ββ[S] Mβ) : β(LinearEquiv.restrictScalars R f) = βR βf - LinearMap.ker_restrictScalars π Mathlib.Algebra.Module.Submodule.Ker
(R : Type u_10) {S : Type u_11} {M : Type u_12} {N : Type u_13} [Semiring R] [Semiring S] [SMul R S] [AddCommMonoid M] [Module R M] [Module S M] [IsScalarTower R S M] [AddCommMonoid N] [Module R N] [Module S N] [IsScalarTower R S N] (f : M ββ[S] N) : (βR f).ker = Submodule.restrictScalars R f.ker - LinearMap.range_restrictScalars π Mathlib.Algebra.Module.Submodule.Range
{R : Type u_1} {Rβ : Type u_2} {M : Type u_5} {Mβ : Type u_6} [Semiring R] [Semiring Rβ] [AddCommMonoid M] [AddCommMonoid Mβ] [Module R M] [Module Rβ Mβ] [SMul R Rβ] [Module Rβ M] [Module R Mβ] [LinearMap.CompatibleSMul M Mβ R Rβ] [IsScalarTower R Rβ Mβ] (f : M ββ[Rβ] Mβ) : (βR f).range = Submodule.restrictScalars R f.range - Submodule.restrictScalars_map π Mathlib.Algebra.Module.Submodule.Range
{R : Type u_1} {Rβ : Type u_2} {M : Type u_5} {Mβ : Type u_6} [Semiring R] [Semiring Rβ] [AddCommMonoid M] [AddCommMonoid Mβ] [Module R M] [Module Rβ Mβ] [SMul R Rβ] [Module Rβ M] [Module R Mβ] [IsScalarTower R Rβ M] [IsScalarTower R Rβ Mβ] (f : M ββ[Rβ] Mβ) (M' : Submodule Rβ M) : Submodule.restrictScalars R (Submodule.map f M') = Submodule.map (βR f) (Submodule.restrictScalars R M') - AlgHom.toLinearMap_restrictScalars π Mathlib.Algebra.Algebra.Tower
(R : Type u) {S : Type v} {A : Type w} {B : Type uβ} [CommSemiring R] [CommSemiring S] [Semiring A] [Semiring B] [Algebra R S] [Algebra S A] [Algebra S B] [Algebra R A] [Algebra R B] [IsScalarTower R S A] [IsScalarTower R S B] (f : A ββ[S] B) : (AlgHom.restrictScalars R f).toLinearMap = βR f.toLinearMap - Submodule.span_algebraMap_image_of_tower π Mathlib.Algebra.Algebra.Tower
{R : Type u} [CommSemiring R] {S : Type u_1} {T : Type u_2} [CommSemiring S] [Semiring T] [Module R S] [Algebra R T] [Algebra S T] [IsScalarTower R S T] (a : Set S) : Submodule.span R (β(algebraMap S T) '' a) = Submodule.map (βR (Algebra.linearMap S T)) (Submodule.span R a) - Finsupp.linearCombination_smul π Mathlib.LinearAlgebra.Finsupp.LinearCombination
{Ξ± : Type u_1} {M : Type u_2} (R : Type u_3) {S : Type u_4} [Semiring R] [Semiring S] [AddCommMonoid M] [Module R M] {Ξ±' : Type u_5} {v : Ξ± β M} [Module R S] [Module S M] [IsScalarTower R S M] {w : Ξ±' β S} : (Finsupp.linearCombination R fun i => w i.2 β’ v i.1) = βR (Finsupp.linearCombination S v) ββ Finsupp.mapRange.linearMap (Finsupp.linearCombination R w) ββ β(Finsupp.curryLinearEquiv R) - LinearMap.restrictScalars_mul π Mathlib.Algebra.Algebra.Bilinear
{R : Type u_1} {A : Type u_2} [CommSemiring R] [NonUnitalNonAssocSemiring A] [Module R A] [SMulCommClass R A A] [IsScalarTower R A A] {S : Type u_4} [CommSemiring S] [Module S A] [SMulCommClass S A A] [IsScalarTower S A A] [LinearMap.CompatibleSMul A A R S] (a : A) : βR ((LinearMap.mul S A) a) = (LinearMap.mul R A) a - TensorProduct.AlgebraTensorModule.curry_apply π Mathlib.LinearAlgebra.TensorProduct.Tower
{R : Type uR} {A : Type uA} {M : Type uM} {N : Type uN} {P : Type uP} [CommSemiring R] [Semiring A] [Algebra R A] [AddCommMonoid M] [Module R M] [Module A M] [IsScalarTower R A M] [AddCommMonoid N] [Module R N] [AddCommMonoid P] [Module R P] [Module A P] [IsScalarTower R A P] (f : TensorProduct R M N ββ[A] P) (a : M) : (TensorProduct.AlgebraTensorModule.curry f) a = (TensorProduct.curry (βR f)) a - TensorProduct.AlgebraTensorModule.lift_apply π Mathlib.LinearAlgebra.TensorProduct.Tower
{R : Type uR} {A : Type uA} {M : Type uM} {N : Type uN} {P : Type uP} [CommSemiring R] [Semiring A] [Algebra R A] [AddCommMonoid M] [Module R M] [Module A M] [IsScalarTower R A M] [AddCommMonoid N] [Module R N] [AddCommMonoid P] [Module R P] [Module A P] [IsScalarTower R A P] (f : M ββ[A] N ββ[R] P) (a : TensorProduct R M N) : (TensorProduct.AlgebraTensorModule.lift f) a = (TensorProduct.lift (βR f)) a - TensorProduct.AlgebraTensorModule.restrictScalars_curry π Mathlib.LinearAlgebra.TensorProduct.Tower
{R : Type uR} {A : Type uA} {M : Type uM} {N : Type uN} {P : Type uP} [CommSemiring R] [Semiring A] [Algebra R A] [AddCommMonoid M] [Module R M] [Module A M] [IsScalarTower R A M] [AddCommMonoid N] [Module R N] [AddCommMonoid P] [Module R P] [Module A P] [IsScalarTower R A P] (f : TensorProduct R M N ββ[A] P) : βR (TensorProduct.AlgebraTensorModule.curry f) = TensorProduct.curry (βR f) - TensorProduct.AlgebraTensorModule.coe_rTensor π Mathlib.LinearAlgebra.TensorProduct.Tower
{R : Type uR} {A : Type uA} {M : Type uM} {N : Type uN} {P : Type uP} [CommSemiring R] [Semiring A] [Algebra R A] [AddCommMonoid M] [Module R M] [Module A M] [IsScalarTower R A M] [AddCommMonoid N] [Module R N] [AddCommMonoid P] [Module R P] [Module A P] [IsScalarTower R A P] (f : M ββ[A] P) : β((TensorProduct.AlgebraTensorModule.rTensor R N) f) = β(LinearMap.rTensor N (βR f)) - TensorProduct.AlgebraTensorModule.restrictScalars_lTensor π Mathlib.LinearAlgebra.TensorProduct.Tower
{R : Type uR} {A : Type uA} {M : Type uM} {N : Type uN} {Q : Type uQ} [CommSemiring R] [Semiring A] [Algebra R A] [AddCommMonoid M] [Module R M] [Module A M] [IsScalarTower R A M] [AddCommMonoid N] [Module R N] [AddCommMonoid Q] [Module R Q] (f : N ββ[R] Q) : βR ((TensorProduct.AlgebraTensorModule.lTensor A M) f) = LinearMap.lTensor M f - TensorProduct.AlgebraTensorModule.restrictScalars_rTensor π Mathlib.LinearAlgebra.TensorProduct.Tower
{R : Type uR} {A : Type uA} {M : Type uM} {N : Type uN} {P : Type uP} [CommSemiring R] [Semiring A] [Algebra R A] [AddCommMonoid M] [Module R M] [Module A M] [IsScalarTower R A M] [AddCommMonoid N] [Module R N] [AddCommMonoid P] [Module R P] [Module A P] [IsScalarTower R A P] (f : M ββ[A] P) : βR ((TensorProduct.AlgebraTensorModule.rTensor R N) f) = LinearMap.rTensor N (βR f) - Module.End.baseChangeHom_apply_apply π Mathlib.LinearAlgebra.TensorProduct.Tower
(R : Type u_1) (A : Type u_2) (M : Type u_4) [CommSemiring R] [Semiring A] [Algebra R A] [AddCommMonoid M] [Module R M] (a : Module.End R M) (aβ : TensorProduct R A M) : ((Module.End.baseChangeHom R A M) a) aβ = (TensorProduct.liftAux (βR { toFun := fun h => h ββ a, map_add' := β―, map_smul' := β― } ββ βR (TensorProduct.AlgebraTensorModule.mk R A A M))) aβ - Finsupp.linearCombination_one_tmul π Mathlib.LinearAlgebra.DirectSum.Finsupp
(R : Type u_1) (S : Type u_2) (M : Type u_3) (ΞΉ : Type u_5) [CommSemiring R] [AddCommMonoid M] [Module R M] [Semiring S] [Algebra R S] [DecidableEq ΞΉ] {v : ΞΉ β M} : βR (Finsupp.linearCombination S fun x => 1 ββ[R] v x) = LinearMap.lTensor S (Finsupp.linearCombination R v) ββ β(TensorProduct.finsuppScalarRight R R S ΞΉ).symm - LinearMap.restrictScalars_toMatrix π Mathlib.LinearAlgebra.Matrix.ToLin
{R : Type u_1} [CommSemiring R] {m : Type u_3} [Fintype m] [DecidableEq m] {A : Type u_4} {M : Type u_5} {n : Type u_6} [Fintype n] [DecidableEq n] [CommSemiring A] [AddCommMonoid M] [Module R M] [Module A M] [Algebra R A] [IsScalarTower R A M] (bA : Module.Basis m R A) (bM : Module.Basis n A M) (f : M ββ[A] M) : (LinearMap.toMatrix (bA.smulTower' bM) (bA.smulTower' bM)) (βR f) = (Matrix.comp n n m m R) (((LinearMap.toMatrix bM bM) f).map β(Algebra.leftMulMatrix bA)) - LinearMap.liftBaseChange_comp π Mathlib.RingTheory.TensorProduct.Basic
{R : Type u_3} {M : Type u_4} {N : Type u_5} (A : Type u_2) [CommSemiring R] [CommSemiring A] [Algebra R A] [AddCommMonoid M] [AddCommMonoid N] [Module R M] [Module R N] [Module A N] [IsScalarTower R A N] {P : Type u_1} [AddCommMonoid P] [Module A P] [Module R P] [IsScalarTower R A P] (l : M ββ[R] N) (l' : N ββ[A] P) : l' ββ LinearMap.liftBaseChange A l = LinearMap.liftBaseChange A (βR l' ββ l) - Algebra.TensorProduct.linearMap_comp_rid π Mathlib.RingTheory.TensorProduct.Maps
(R : Type uR) (S : Type uS) {B : Type uB} [CommSemiring R] [CommSemiring S] [Algebra R S] [Semiring B] [Algebra R B] : βR (Algebra.linearMap S (TensorProduct R S B)) ββ (Algebra.TensorProduct.rid R R S).toLinearMap = LinearMap.lTensor S (Algebra.linearMap R B) - LinearMap.tensorProductEnd_apply π Mathlib.RingTheory.TensorProduct.Maps
(R : Type u_1) (A : Type u_2) (M : Type u_3) [CommSemiring R] [CommSemiring A] [Algebra R A] [AddCommMonoid M] [Module R M] (a : TensorProduct R A (Module.End R M)) : (LinearMap.tensorProductEnd R A M) a = (TensorProduct.liftAux (βR { toFun := fun a => a β’ LinearMap.baseChangeHom R A M M, map_add' := β―, map_smul' := β― })) a - LinearMap.tensorProduct_apply π Mathlib.RingTheory.TensorProduct.Maps
(R : Type u_1) (A : Type u_2) (M : Type u_3) (N : Type u_4) [CommSemiring R] [CommSemiring A] [Algebra R A] [AddCommMonoid M] [Module R M] [AddCommMonoid N] [Module R N] (aβ : TensorProduct R A (M ββ[R] N)) : (LinearMap.tensorProduct R A M N) aβ = (TensorProduct.liftAux (βR { toFun := fun a => a β’ LinearMap.baseChangeHom R A M N, map_add' := β―, map_smul' := β― })) aβ - Polynomial.lcoeff_comp_mapAlgHom_eq π Mathlib.Algebra.Polynomial.AlgebraMap
{R : Type u} {A : Type z} {B : Type u_2} [CommSemiring R] [Semiring A] [Semiring B] [Algebra R A] [Algebra R B] (f : A ββ[R] B) (n : β) : βR (Polynomial.lcoeff B n) ββ (Polynomial.mapAlgHom f).toLinearMap = f.toLinearMap ββ βR (Polynomial.lcoeff A n) - Polynomial.X_pow_smul_rTensor_monomial π Mathlib.Algebra.Polynomial.AlgebraMap
{R : Type u} {S : Type v} [CommSemiring R] [CommSemiring S] [Algebra R S] {N : Type u_3} [AddCommMonoid N] [Module R N] (k : β) (sn : TensorProduct R S N) : Polynomial.X ^ k β’ (LinearMap.rTensor N (βR (Polynomial.monomial 0))) sn = (LinearMap.rTensor N (βR (Polynomial.monomial k))) sn - TensorProduct.AlgebraTensorModule.range_lTensor_idealMap π Mathlib.LinearAlgebra.TensorProduct.RightExactness
{R : Type u_1} [CommSemiring R] (A : Type u_2) {B : Type u_3} [Semiring A] [Semiring B] [Algebra R A] [Algebra R B] (S : Type u_4) [CommSemiring S] [Algebra R S] [Algebra S A] [IsScalarTower R S A] (I : Ideal B) : ((TensorProduct.AlgebraTensorModule.lTensor S A) (βR (Submodule.subtype I))).range = Submodule.restrictScalars S (Ideal.map Algebra.TensorProduct.includeRight I) - IsBaseChange.lift_comp π Mathlib.RingTheory.IsTensorProduct
{R : Type u_1} {M : Type vβ} {N : Type vβ} {S : Type vβ} [AddCommMonoid M] [AddCommMonoid N] [CommSemiring R] [CommSemiring S] [Algebra R S] [Module R M] [Module R N] [Module S N] [IsScalarTower R S N] {f : M ββ[R] N} (h : IsBaseChange S f) {Q : Type u_3} [AddCommMonoid Q] [Module S Q] [Module R Q] [IsScalarTower R S Q] (g : M ββ[R] Q) : βR (h.lift g) ββ f = g - IsBaseChange.of_lift_unique π Mathlib.RingTheory.IsTensorProduct
{R : Type u_1} {M : Type vβ} {N : Type vβ} {S : Type vβ} [AddCommMonoid M] [AddCommMonoid N] [CommSemiring R] [CommSemiring S] [Algebra R S] [Module R M] [Module R N] [Module S N] [IsScalarTower R S N] (f : M ββ[R] N) (h : β (Q : Type (max vβ vβ vβ)) [inst : AddCommMonoid Q] [inst_1 : Module R Q] [inst_2 : Module S Q] [inst_3 : IsScalarTower R S Q] (g : M ββ[R] Q), β! g', βR g' ββ f = g) : IsBaseChange S f - IsBaseChange.iff_lift_unique π Mathlib.RingTheory.IsTensorProduct
{R : Type u_1} {M : Type vβ} {N : Type vβ} {S : Type vβ} [AddCommMonoid M] [AddCommMonoid N] [CommSemiring R] [CommSemiring S] [Algebra R S] [Module R M] [Module R N] [Module S N] [IsScalarTower R S N] {f : M ββ[R] N} : IsBaseChange S f β β (Q : Type (max vβ vβ vβ)) [inst : AddCommMonoid Q] [inst_1 : Module R Q] [inst_2 : Module S Q] [inst_3 : IsScalarTower R S Q] (g : M ββ[R] Q), β! g', βR g' ββ f = g - IsBaseChange.algHom_ext' π Mathlib.RingTheory.IsTensorProduct
{R : Type u_1} {M : Type vβ} {N : Type vβ} {S : Type vβ} [AddCommMonoid M] [AddCommMonoid N] [CommSemiring R] [CommSemiring S] [Algebra R S] [Module R M] [Module R N] [Module S N] [IsScalarTower R S N] {f : M ββ[R] N} (h : IsBaseChange S f) {Q : Type u_3} [AddCommMonoid Q] [Module S Q] [Module R Q] [IsScalarTower R S Q] (gβ gβ : N ββ[S] Q) (e : βR gβ ββ f = βR gβ ββ f) : gβ = gβ - IsBaseChange.comp π Mathlib.RingTheory.IsTensorProduct
{R : Type u_1} {M : Type vβ} {N : Type vβ} {S : Type vβ} [AddCommMonoid M] [AddCommMonoid N] [CommSemiring R] [CommSemiring S] [Algebra R S] [Module R M] [Module R N] [Module S N] [IsScalarTower R S N] {T : Type u_4} {O : Type u_5} [CommSemiring T] [Algebra R T] [Algebra S T] [IsScalarTower R S T] [AddCommMonoid O] [Module R O] [Module S O] [Module T O] [IsScalarTower S T O] [IsScalarTower R S O] [IsScalarTower R T O] {f : M ββ[R] N} (hf : IsBaseChange S f) {g : N ββ[S] O} (hg : IsBaseChange T g) : IsBaseChange T (βR g ββ f) - IsBaseChange.of_comp π Mathlib.RingTheory.IsTensorProduct
{R : Type u_1} {M : Type vβ} {N : Type vβ} {S : Type vβ} [AddCommMonoid M] [AddCommMonoid N] [CommSemiring R] [CommSemiring S] [Algebra R S] [Module R M] [Module R N] [Module S N] [IsScalarTower R S N] {T : Type u_4} {O : Type u_5} [CommSemiring T] [Algebra R T] [Algebra S T] [IsScalarTower R S T] [AddCommMonoid O] [Module R O] [Module S O] [Module T O] [IsScalarTower S T O] [IsScalarTower R S O] [IsScalarTower R T O] {f : M ββ[R] N} (hf : IsBaseChange S f) {h : N ββ[S] O} (hc : IsBaseChange T (βR h ββ f)) : IsBaseChange T h - IsBaseChange.comp_iff π Mathlib.RingTheory.IsTensorProduct
{R : Type u_1} {M : Type vβ} {N : Type vβ} {S : Type vβ} [AddCommMonoid M] [AddCommMonoid N] [CommSemiring R] [CommSemiring S] [Algebra R S] [Module R M] [Module R N] [Module S N] [IsScalarTower R S N] {T : Type u_4} {O : Type u_5} [CommSemiring T] [Algebra R T] [Algebra S T] [IsScalarTower R S T] [AddCommMonoid O] [Module R O] [Module S O] [Module T O] [IsScalarTower S T O] [IsScalarTower R S O] [IsScalarTower R T O] {f : M ββ[R] N} (hf : IsBaseChange S f) {h : N ββ[S] O} : IsBaseChange T (βR h ββ f) β IsBaseChange T h - IsBaseChange.map_id_lsmul_eq_lsmul_algebraMap π Mathlib.RingTheory.IsTensorProduct
{R : Type u_1} {M : Type vβ} {N : Type vβ} {S : Type vβ} [AddCommMonoid M] [AddCommMonoid N] [CommSemiring R] [CommSemiring S] [Algebra R S] [Module R M] [Module R N] [Module S N] [IsScalarTower R S N] {f : M ββ[R] N} (hf : IsBaseChange S f) (x : R) : IsTensorProduct.map hf hf LinearMap.id ((LinearMap.lsmul R M) x) = βR ((LinearMap.lsmul S N) ((algebraMap R S) x)) - TrivSqZeroExt.lift_inlAlgHom_inrHom π Mathlib.Algebra.TrivSqZeroExt.Basic
{S : Type u_1} {R : Type u} {M : Type v} [CommSemiring S] [Semiring R] [AddCommMonoid M] [Algebra S R] [Module S M] [Module R M] [Module Rα΅α΅α΅ M] [SMulCommClass R Rα΅α΅α΅ M] [IsScalarTower S R M] [IsScalarTower S Rα΅α΅α΅ M] : TrivSqZeroExt.lift (TrivSqZeroExt.inlAlgHom S R M) (βS (TrivSqZeroExt.inrHom R M)) β― β― β― = AlgHom.id S (TrivSqZeroExt R M) - TrivSqZeroExt.lift_comp_inrHom π Mathlib.Algebra.TrivSqZeroExt.Basic
{S : Type u_1} {R : Type u} {M : Type v} [CommSemiring S] [Semiring R] [AddCommMonoid M] [Algebra S R] [Module S M] [Module R M] [Module Rα΅α΅α΅ M] [SMulCommClass R Rα΅α΅α΅ M] [IsScalarTower S R M] [IsScalarTower S Rα΅α΅α΅ M] {A : Type u_2} [Semiring A] [Algebra S A] (f : R ββ[S] A) (g : M ββ[S] A) (hg : β (x y : M), g x * g y = 0) (hfg : β (r : R) (x : M), g (r β’ x) = f r * g x) (hgf : β (r : R) (x : M), g (MulOpposite.op r β’ x) = g x * f r) : (TrivSqZeroExt.lift f g hg hfg hgf).toLinearMap ββ βS (TrivSqZeroExt.inrHom R M) = g - TrivSqZeroExt.algHom_ext' π Mathlib.Algebra.TrivSqZeroExt.Basic
{S : Type u_1} {R : Type u} {M : Type v} [CommSemiring S] [Semiring R] [AddCommMonoid M] [Algebra S R] [Module S M] [Module R M] [Module Rα΅α΅α΅ M] [SMulCommClass R Rα΅α΅α΅ M] [IsScalarTower S R M] [IsScalarTower S Rα΅α΅α΅ M] {A : Type u_2} [Semiring A] [Algebra S A] β¦f g : TrivSqZeroExt R M ββ[S] Aβ¦ (hinl : f.comp (TrivSqZeroExt.inlAlgHom S R M) = g.comp (TrivSqZeroExt.inlAlgHom S R M)) (hinr : f.toLinearMap ββ βS (TrivSqZeroExt.inrHom R M) = g.toLinearMap ββ βS (TrivSqZeroExt.inrHom R M)) : f = g - TrivSqZeroExt.algHom_ext'_iff π Mathlib.Algebra.TrivSqZeroExt.Basic
{S : Type u_1} {R : Type u} {M : Type v} [CommSemiring S] [Semiring R] [AddCommMonoid M] [Algebra S R] [Module S M] [Module R M] [Module Rα΅α΅α΅ M] [SMulCommClass R Rα΅α΅α΅ M] [IsScalarTower S R M] [IsScalarTower S Rα΅α΅α΅ M] {A : Type u_2} [Semiring A] [Algebra S A] {f g : TrivSqZeroExt R M ββ[S] A} : f = g β f.comp (TrivSqZeroExt.inlAlgHom S R M) = g.comp (TrivSqZeroExt.inlAlgHom S R M) β§ f.toLinearMap ββ βS (TrivSqZeroExt.inrHom R M) = g.toLinearMap ββ βS (TrivSqZeroExt.inrHom R M) - TrivSqZeroExt.liftEquiv_symm_apply_coe π Mathlib.Algebra.TrivSqZeroExt.Basic
{S : Type u_1} {R : Type u} {M : Type v} [CommSemiring S] [Semiring R] [AddCommMonoid M] [Algebra S R] [Module S M] [Module R M] [Module Rα΅α΅α΅ M] [SMulCommClass R Rα΅α΅α΅ M] [IsScalarTower S R M] [IsScalarTower S Rα΅α΅α΅ M] {A : Type u_2} [Semiring A] [Algebra S A] (F : TrivSqZeroExt R M ββ[S] A) : β(TrivSqZeroExt.liftEquiv.symm F) = (F.comp (TrivSqZeroExt.inlAlgHom S R M), F.toLinearMap ββ βS (TrivSqZeroExt.inrHom R M)) - IsLocalizedModule.of_restrictScalars π Mathlib.Algebra.Module.LocalizedModule.Basic
{R : Type u_1} [CommSemiring R] {M : Type u_2} [AddCommMonoid M] {A : Type u_5} [CommSemiring A] [Algebra R A] [Module R M] (S : Submonoid R) {N : Type u_6} [AddCommMonoid N] [Module R N] [Module A M] [Module A N] [IsScalarTower R A M] [IsScalarTower R A N] (f : M ββ[A] N) [IsLocalizedModule S (βR f)] : IsLocalizedModule (Algebra.algebraMapSubmonoid A S) f - IsLocalizedModule.restrictScalars π Mathlib.Algebra.Module.LocalizedModule.Basic
{R : Type u_1} [CommSemiring R] {M : Type u_2} [AddCommMonoid M] {A : Type u_5} [CommSemiring A] [Algebra R A] [Module R M] (S : Submonoid R) [Module A M] {N : Type u_6} [AddCommMonoid N] [Module R N] [Module A N] [IsScalarTower R A M] [IsScalarTower R A N] (f : M ββ[A] N) [h : IsLocalizedModule (Algebra.algebraMapSubmonoid A S) f] : IsLocalizedModule S (βR f) - IsLocalizedModule.restrictScalars_iff π Mathlib.Algebra.Module.LocalizedModule.Basic
{R : Type u_1} [CommSemiring R] {M : Type u_2} [AddCommMonoid M] {A : Type u_5} [CommSemiring A] [Algebra R A] [Module R M] (S : Submonoid R) {N : Type u_6} [AddCommMonoid N] [Module R N] [Module A M] [Module A N] [IsScalarTower R A M] [IsScalarTower R A N] (f : M ββ[A] N) : IsLocalizedModule (Algebra.algebraMapSubmonoid A S) f β IsLocalizedModule S (βR f) - IsLocalizedModule.restrictScalars_powers π Mathlib.Algebra.Module.LocalizedModule.Basic
{R : Type u_1} [CommSemiring R] {M : Type u_2} [AddCommMonoid M] {A : Type u_5} [CommSemiring A] [Algebra R A] [Module R M] [Module A M] {N : Type u_6} [AddCommMonoid N] [Module R N] [Module A N] [IsScalarTower R A M] [IsScalarTower R A N] (r : R) (f : M ββ[A] N) [h : IsLocalizedModule (Submonoid.powers ((algebraMap R A) r)) f] : IsLocalizedModule (Submonoid.powers r) (βR f) - LinearMap.extendScalarsOfIsLocalization_apply π Mathlib.RingTheory.Localization.Module
{R : Type u_3} [CommSemiring R] (S : Submonoid R) (A : Type u_4) [CommSemiring A] [Algebra R A] [IsLocalization S A] {M : Type u_5} {N : Type u_6} [AddCommMonoid M] [Module R M] [Module A M] [IsScalarTower R A M] [AddCommMonoid N] [Module R N] [Module A N] [IsScalarTower R A N] (f : M ββ[A] N) : LinearMap.extendScalarsOfIsLocalization S A (βR f) = f - LinearMap.restrictScalars_extendScalarsOfIsLocalization π Mathlib.RingTheory.Localization.Module
{R : Type u_3} [CommSemiring R] (S : Submonoid R) (A : Type u_4) [CommSemiring A] [Algebra R A] [IsLocalization S A] {M : Type u_5} {N : Type u_6} [AddCommMonoid M] [Module R M] [Module A M] [IsScalarTower R A M] [AddCommMonoid N] [Module R N] [Module A N] [IsScalarTower R A N] (f : M ββ[R] N) : βR (LinearMap.extendScalarsOfIsLocalization S A f) = f - LinearMap.extendScalarsOfIsLocalizationEquiv_symm_apply π Mathlib.RingTheory.Localization.Module
{R : Type u_3} [CommSemiring R] (S : Submonoid R) (A : Type u_4) [CommSemiring A] [Algebra R A] [IsLocalization S A] {M : Type u_5} {N : Type u_6} [AddCommMonoid M] [Module R M] [Module A M] [IsScalarTower R A M] [AddCommMonoid N] [Module R N] [Module A N] [IsScalarTower R A N] (fβ : M ββ[A] N) : (LinearMap.extendScalarsOfIsLocalizationEquiv S A).symm fβ = βR fβ - LocalizedModule.restrictScalars_map_eq π Mathlib.RingTheory.Localization.Module
{R : Type u_1} [CommSemiring R] (S : Submonoid R) {M : Type u_2} [AddCommMonoid M] [Module R M] {N : Type u_5} [AddCommMonoid N] [Module R N] {M' : Type u_3} {N' : Type u_4} [AddCommMonoid M'] [AddCommMonoid N'] [Module R M'] [Module R N'] (gβ : M ββ[R] M') (gβ : N ββ[R] N') [IsLocalizedModule S gβ] [IsLocalizedModule S gβ] (l : M ββ[R] N) : βR ((LocalizedModule.map S) l) = β(IsLocalizedModule.iso S gβ).symm ββ (IsLocalizedModule.map S gβ gβ) l ββ β(IsLocalizedModule.iso S gβ) - IsLocalizedModule.map_linearCombination π Mathlib.RingTheory.Localization.BaseChange
{R : Type u_1} [CommSemiring R] (S : Submonoid R) (A : Type u_2) [CommSemiring A] [Algebra R A] [IsLocalization S A] {M : Type u_3} [AddCommMonoid M] [Module R M] {M' : Type u_4} [AddCommMonoid M'] [Module R M'] [Module A M'] [IsScalarTower R A M'] (f : M ββ[R] M') {Ξ± : Type u_7} {v : Ξ± β M} [IsLocalizedModule S f] : (IsLocalizedModule.map S (Finsupp.mapRange.linearMap (Algebra.linearMap R A)) f) (Finsupp.linearCombination R v) = βR (Finsupp.linearCombination A (βf β v)) - IsLocalization.map_linearMap_eq_toLinearMap_mapβ π Mathlib.RingTheory.Localization.Algebra
{R : Type u_5} [CommSemiring R] (M : Submonoid R) {A : Type u_6} [CommSemiring A] [Algebra R A] (Rβ : Type u_8) [CommSemiring Rβ] [Algebra R Rβ] [IsLocalization M Rβ] (Aβ : Type u_9) [CommSemiring Aβ] [Algebra R Aβ] [Algebra A Aβ] [IsScalarTower R A Aβ] [IsLocalization (Algebra.algebraMapSubmonoid A M) Aβ] [Algebra Rβ Aβ] [IsScalarTower R Rβ Aβ] : (IsLocalizedModule.map M (Algebra.linearMap R Rβ) (IsScalarTower.toAlgHom R A Aβ).toLinearMap) (Algebra.linearMap R A) = βR (IsLocalization.mapβ M Rβ Rβ Aβ (Algebra.ofId R A)).toLinearMap - IsLocalization.map_eq_toLinearMap_mapβ π Mathlib.RingTheory.Localization.Algebra
{R : Type u_5} [CommSemiring R] (M : Submonoid R) {A : Type u_6} [CommSemiring A] [Algebra R A] {B : Type u_7} [CommSemiring B] [Algebra R B] (Rβ : Type u_8) [CommSemiring Rβ] [Algebra R Rβ] [IsLocalization M Rβ] (Aβ : Type u_9) [CommSemiring Aβ] [Algebra R Aβ] [Algebra A Aβ] [IsScalarTower R A Aβ] [IsLocalization (Algebra.algebraMapSubmonoid A M) Aβ] (Bβ : Type u_10) [CommSemiring Bβ] [Algebra R Bβ] [Algebra B Bβ] [IsScalarTower R B Bβ] [IsLocalization (Algebra.algebraMapSubmonoid B M) Bβ] [Algebra Rβ Aβ] [Algebra Rβ Bβ] [IsScalarTower R Rβ Aβ] [IsScalarTower R Rβ Bβ] (f : A ββ[R] B) : (IsLocalizedModule.map M (IsScalarTower.toAlgHom R A Aβ).toLinearMap (IsScalarTower.toAlgHom R B Bβ).toLinearMap) f.toLinearMap = βR (IsLocalization.mapβ M Rβ Aβ Bβ f).toLinearMap - IsLocalizedModule.map_linearMap_of_isLocalization π Mathlib.RingTheory.LocalProperties.Exactness
{R : Type u_1} {S : Type u_2} [CommSemiring R] [CommSemiring S] [Algebra R S] (Rβ : Type u_5) (Sβ : Type u_6) [CommSemiring Rβ] [Algebra R Rβ] [CommSemiring Sβ] [Algebra S Sβ] [Algebra R Sβ] [IsScalarTower R S Sβ] [Algebra Rβ Sβ] [IsScalarTower R Rβ Sβ] (p : Ideal R) [p.IsPrime] [IsLocalization.AtPrime Rβ p] [IsLocalizedModule.AtPrime p β(IsScalarTower.toAlgHom R S Sβ)] : (IsLocalizedModule.map p.primeCompl (Algebra.linearMap R Rβ) β(IsScalarTower.toAlgHom R S Sβ)) (Algebra.linearMap R S) = βR (Algebra.linearMap Rβ Sβ) - TensorProduct.AlgebraTensorModule.tensorQuotientEquiv π Mathlib.LinearAlgebra.TensorProduct.Quotient
{R : Type u_1} (A : Type u_2) (B : Type u_3) [CommRing R] [CommRing A] [Algebra R A] [CommRing B] [Algebra R B] (M : Type u_4) [AddCommGroup M] [Module R M] [Module A M] [IsScalarTower R A M] {N : Type u_5} [AddCommGroup N] [Module R N] [Module B N] [IsScalarTower R B N] (n : Submodule B N) : TensorProduct R M (N β§Έ n) ββ[A] TensorProduct R M N β§Έ ((TensorProduct.AlgebraTensorModule.lTensor A M) (βR n.subtype)).range - TensorProduct.AlgebraTensorModule.tensorQuotientEquiv_apply_tmul π Mathlib.LinearAlgebra.TensorProduct.Quotient
{R : Type u_1} (A : Type u_2) (B : Type u_3) [CommRing R] [CommRing A] [Algebra R A] [CommRing B] [Algebra R B] (M : Type u_4) [AddCommGroup M] [Module R M] [Module A M] [IsScalarTower R A M] {N : Type u_5} [AddCommGroup N] [Module R N] [Module B N] [IsScalarTower R B N] (n : Submodule B N) (x : M) (y : N) : (TensorProduct.AlgebraTensorModule.tensorQuotientEquiv A B M n) (x ββ[R] Submodule.Quotient.mk y) = Submodule.Quotient.mk (x ββ[R] y) - TensorProduct.AlgebraTensorModule.tensorQuotientEquiv_symm_apply_mk_tmul π Mathlib.LinearAlgebra.TensorProduct.Quotient
{R : Type u_1} (A : Type u_2) (B : Type u_3) [CommRing R] [CommRing A] [Algebra R A] [CommRing B] [Algebra R B] (M : Type u_4) [AddCommGroup M] [Module R M] [Module A M] [IsScalarTower R A M] {N : Type u_5} [AddCommGroup N] [Module R N] [Module B N] [IsScalarTower R B N] (n : Submodule B N) (x : M) (y : N) : (TensorProduct.AlgebraTensorModule.tensorQuotientEquiv A B M n).symm (Submodule.Quotient.mk (x ββ[R] y)) = x ββ[R] Submodule.Quotient.mk y - Derivation.coe_to_linearMap_comp π Mathlib.RingTheory.Derivation.Basic
{R : Type u_1} {A : Type u_2} {M : Type u_4} [CommSemiring R] [CommSemiring A] [AddCommMonoid M] [Algebra R A] [Module A M] [Module R M] (D : Derivation R A M) {N : Type u_5} [AddCommMonoid N] [Module A N] [Module R N] [IsScalarTower R A M] [IsScalarTower R A N] (f : M ββ[A] N) : β(f.compDer D) = βR f ββ βD - Derivation.coe_comp π Mathlib.RingTheory.Derivation.Basic
{R : Type u_1} {A : Type u_2} {M : Type u_4} [CommSemiring R] [CommSemiring A] [AddCommMonoid M] [Algebra R A] [Module A M] [Module R M] (D : Derivation R A M) {N : Type u_5} [AddCommMonoid N] [Module A N] [Module R N] [IsScalarTower R A M] [IsScalarTower R A N] (f : M ββ[A] N) : β(f.compDer D) = β(βR f ββ βD) - Derivation.linearEquiv_coe_to_linearMap_comp π Mathlib.RingTheory.Derivation.Basic
{R : Type u_1} {A : Type u_2} {M : Type u_4} [CommSemiring R] [CommSemiring A] [AddCommMonoid M] [Algebra R A] [Module A M] [Module R M] (D : Derivation R A M) {N : Type u_5} [AddCommMonoid N] [Module A N] [Module R N] [IsScalarTower R A M] [IsScalarTower R A N] (e : M ββ[A] N) : β(e.compDer D) = βR βe ββ βD - Derivation.linearEquiv_coe_comp π Mathlib.RingTheory.Derivation.Basic
{R : Type u_1} {A : Type u_2} {M : Type u_4} [CommSemiring R] [CommSemiring A] [AddCommMonoid M] [Algebra R A] [Module A M] [Module R M] (D : Derivation R A M) {N : Type u_5} [AddCommMonoid N] [Module A N] [Module R N] [IsScalarTower R A M] [IsScalarTower R A N] (e : M ββ[A] N) : β(e.compDer D) = β(βR βe ββ βD) - Ideal.Cotangent.lift_comp_toCotangent π Mathlib.RingTheory.Ideal.Cotangent
{R : Type u} [CommRing R] {S : Type u_3} [CommRing S] [Algebra R S] {I : Ideal S} {M : Type u_4} [AddCommGroup M] [Module R M] (f : β₯I ββ[R] M) (hf : β (x y : β₯I), f (x * y) = 0) : Ideal.Cotangent.lift f hf ββ βR I.toCotangent = f - Algebra.TensorProduct.distribBaseChange_comp_includeLeftSubRight π Mathlib.RingTheory.TensorProduct.IncludeLeftSubRight
{R : Type u_1} [CommSemiring R] {S : Type u_2} [Ring S] [Algebra R S] (T : Type u_3) [CommRing T] [Algebra R T] : β(LinearEquiv.restrictScalars R (TensorProduct.AlgebraTensorModule.distribBaseChange R T S S)) ββ LinearMap.lTensor T (Algebra.TensorProduct.includeLeftSubRight R S) = βR (Algebra.TensorProduct.includeLeftSubRight T (TensorProduct R T S)) - DualNumber.algHom_ext' π Mathlib.Algebra.DualNumber
{R : Type u_1} {B : Type u_3} {A : Type u_4} [CommSemiring R] [Semiring A] [Semiring B] [Algebra R A] [Algebra R B] β¦f g : DualNumber A ββ[R] Bβ¦ (hinl : f.comp (TrivSqZeroExt.inlAlgHom R A A) = g.comp (TrivSqZeroExt.inlAlgHom R A A)) (hinr : f.toLinearMap ββ βR (LinearMap.toSpanSingleton A (DualNumber A) DualNumber.eps) = g.toLinearMap ββ βR (LinearMap.toSpanSingleton A (DualNumber A) DualNumber.eps)) : f = g - DualNumber.algHom_ext'_iff π Mathlib.Algebra.DualNumber
{R : Type u_1} {B : Type u_3} {A : Type u_4} [CommSemiring R] [Semiring A] [Semiring B] [Algebra R A] [Algebra R B] {f g : DualNumber A ββ[R] B} : f = g β f.comp (TrivSqZeroExt.inlAlgHom R A A) = g.comp (TrivSqZeroExt.inlAlgHom R A A) β§ f.toLinearMap ββ βR (LinearMap.toSpanSingleton A (DualNumber A) DualNumber.eps) = g.toLinearMap ββ βR (LinearMap.toSpanSingleton A (DualNumber A) DualNumber.eps) - LinearMap.IsPerfPair.restrictScalars π Mathlib.LinearAlgebra.PerfectPairing.Restrict
{R : Type u_1} {M : Type u_2} {N : Type u_3} [CommRing R] [AddCommGroup M] [Module R M] [AddCommGroup N] [Module R N] (p : M ββ[R] N ββ[R] R) [p.IsPerfPair] {S : Type u_4} {M' : Type u_5} {N' : Type u_6} [CommRing S] [IsDomain S] [Algebra S R] [Module S M] [Module S N] [IsScalarTower S R M] [IsScalarTower S R N] [Module.IsTorsionFree S R] [Nontrivial R] [AddCommGroup M'] [Module S M'] [AddCommGroup N'] [Module S N'] (i : M' ββ[S] M) (j : N' ββ[S] N) (hi : Function.Injective βi) (hj : Function.Injective βj) (hM : Submodule.span R βi.range = β€) (hN : Submodule.span R βj.range = β€) (hβ : β (g : Module.Dual S N'), β m, βS (p.toPerfPair (i m)) ββ j = Algebra.linearMap S R ββ g) (hβ : β (g : Module.Dual S M'), β n, βS (p.flip.toPerfPair (j n)) ββ i = Algebra.linearMap S R ββ g) (hp : β (m : M') (n : N'), (p (i m)) (j n) β (algebraMap S R).range) : (i.restrictScalarsRangeβ j (Algebra.linearMap S R) β― p hp).IsPerfPair - IsBaseChange.of_left_exact π Mathlib.RingTheory.Flat.IsBaseChange
{R : Type u_1} [CommRing R] (S : Type u_2) [CommRing S] [Algebra R S] {Mβ : Type u_3} {Mβ : Type u_4} {Mβ : Type u_5} {Nβ : Type u_6} {Nβ : Type u_7} {Nβ : Type u_8} [AddCommGroup Mβ] [AddCommGroup Mβ] [AddCommGroup Mβ] [AddCommGroup Nβ] [AddCommGroup Nβ] [AddCommGroup Nβ] [Module R Mβ] [Module R Mβ] [Module R Mβ] [Module R Nβ] [Module R Nβ] [Module R Nβ] [Module S Nβ] [Module S Nβ] [Module S Nβ] [IsScalarTower R S Nβ] [IsScalarTower R S Nβ] [IsScalarTower R S Nβ] (hβ : Mβ ββ[R] Nβ) (hβ : Mβ ββ[R] Nβ) (hβ : Mβ ββ[R] Nβ) {f : Mβ ββ[R] Mβ} {g : Mβ ββ[R] Mβ} {f' : Nβ ββ[S] Nβ} {g' : Nβ ββ[S] Nβ} (commβ : hβ ββ f = βR f' ββ hβ) (commβ : hβ ββ g = βR g' ββ hβ) [Module.Flat R S] (isbβ : IsBaseChange S hβ) (isbβ : IsBaseChange S hβ) (exactβ : Function.Exact βf βg) (injβ : Function.Injective βf) (exactβ : Function.Exact βf' βg') (injβ : Function.Injective βf') : IsBaseChange S hβ - Module.FinitePresentation.exists_lift_equiv_of_isLocalizedModule π Mathlib.Algebra.Module.FinitePresentation
{R : Type u_3} {M : Type u_4} {N : Type u_5} [CommRing R] [AddCommGroup M] [Module R M] [AddCommGroup N] [Module R N] (S : Submonoid R) {M' : Type u_1} [AddCommGroup M'] [Module R M'] (f : M ββ[R] M') [IsLocalizedModule S f] {N' : Type u_2} [AddCommGroup N'] [Module R N'] (g : N ββ[R] N') [IsLocalizedModule S g] [Module.FinitePresentation R M] [Module.FinitePresentation R N] (l : M' ββ[R] N') : β r, β (hr : r β S), β l', LocalizedModule.lift (Submonoid.powers r) g β― ββ βR βl' = βl ββ LocalizedModule.lift (Submonoid.powers r) f β― - Algebra.Extension.Cotangent.map_comp π Mathlib.RingTheory.Extension.Basic
{R : Type u} {S : Type v} [CommRing R] [CommRing S] [Algebra R S] {P : Algebra.Extension R S} {R' : Type u_1} {S' : Type u_2} [CommRing R'] [CommRing S'] [Algebra R' S'] {P' : Algebra.Extension R' S'} {R'' : Type u_4} {S'' : Type u_5} [CommRing R''] [CommRing S''] [Algebra R'' S''] (P'' : Algebra.Extension R'' S'') [Algebra R R'] [Algebra R' R''] [Algebra R' S''] [Algebra S S'] [Algebra S' S''] [Algebra S S''] [Algebra R S'] [IsScalarTower R R' S'] [Algebra R R''] [IsScalarTower R R' R''] [IsScalarTower R' R'' S''] [Algebra R S''] [IsScalarTower R R'' S''] [IsScalarTower S S' S''] (f : P.Hom P') (g : P'.Hom P'') : Algebra.Extension.Cotangent.map (g.comp f) = βS (Algebra.Extension.Cotangent.map g) ββ Algebra.Extension.Cotangent.map f - Algebra.Extension.Cotangent.map_comp_h1CotangentΞΉ π Mathlib.RingTheory.Extension.Cotangent.Basic
{R : Type u} {S : Type v} [CommRing R] [CommRing S] [Algebra R S] {P : Algebra.Extension R S} {R' : Type u'} {S' : Type v'} [CommRing R'] [CommRing S'] [Algebra R' S'] {P' : Algebra.Extension R' S'} [Algebra R R'] [Algebra S S'] [Algebra R S'] [IsScalarTower R R' S'] (f : P.Hom P') : Algebra.Extension.Cotangent.map f ββ Algebra.Extension.h1CotangentΞΉ = βS Algebra.Extension.h1CotangentΞΉ ββ Algebra.Extension.H1Cotangent.map f - Algebra.Extension.H1Cotangent.map_comp π Mathlib.RingTheory.Extension.Cotangent.Basic
{R : Type u} {S : Type v} [CommRing R] [CommRing S] [Algebra R S] {P : Algebra.Extension R S} {R' : Type u'} {S' : Type v'} [CommRing R'] [CommRing S'] [Algebra R' S'] {P' : Algebra.Extension R' S'} [Algebra R R'] [Algebra S S'] [Algebra R S'] [IsScalarTower R R' S'] {R'' : Type u''} {S'' : Type v''} [CommRing R''] [CommRing S''] [Algebra R'' S''] {P'' : Algebra.Extension R'' S''} [Algebra R R''] [Algebra S S''] [Algebra R S''] [IsScalarTower R R'' S''] [Algebra R' R''] [Algebra S' S''] [Algebra R' S''] [IsScalarTower R' R'' S''] [IsScalarTower R R' R''] [IsScalarTower S S' S''] (f : P.Hom P') (g : P'.Hom P'') : Algebra.Extension.H1Cotangent.map (g.comp f) = βS (Algebra.Extension.H1Cotangent.map g) ββ Algebra.Extension.H1Cotangent.map f - Algebra.Extension.CotangentSpace.map_comp_cotangentComplex π Mathlib.RingTheory.Extension.Cotangent.Basic
{R : Type u} {S : Type v} [CommRing R] [CommRing S] [Algebra R S] {P : Algebra.Extension R S} {R' : Type u'} {S' : Type v'} [CommRing R'] [CommRing S'] [Algebra R' S'] {P' : Algebra.Extension R' S'} [Algebra R R'] [Algebra S S'] [Algebra R S'] [IsScalarTower R R' S'] (f : P.Hom P') : Algebra.Extension.CotangentSpace.map f ββ P.cotangentComplex = βS P'.cotangentComplex ββ Algebra.Extension.Cotangent.map f - Algebra.Extension.CotangentSpace.map_comp π Mathlib.RingTheory.Extension.Cotangent.Basic
{R : Type u} {S : Type v} [CommRing R] [CommRing S] [Algebra R S] {P : Algebra.Extension R S} {R' : Type u'} {S' : Type v'} [CommRing R'] [CommRing S'] [Algebra R' S'] {P' : Algebra.Extension R' S'} [Algebra R R'] [Algebra S S'] [Algebra R S'] [IsScalarTower R R' S'] {R'' : Type u''} {S'' : Type v''} [CommRing R''] [CommRing S''] [Algebra R'' S''] {P'' : Algebra.Extension R'' S''} [Algebra R R''] [Algebra S S''] [Algebra R S''] [IsScalarTower R R'' S''] [Algebra R' R''] [Algebra S' S''] [Algebra R' S''] [IsScalarTower R' R'' S''] [IsScalarTower R R' R''] [IsScalarTower S S' S''] (f : P.Hom P') (g : P'.Hom P'') : Algebra.Extension.CotangentSpace.map (g.comp f) = βS (Algebra.Extension.CotangentSpace.map g) ββ Algebra.Extension.CotangentSpace.map f - Algebra.Extension.CotangentSpace.map_sub_map π Mathlib.RingTheory.Extension.Cotangent.Basic
{R : Type u} {S : Type v} [CommRing R] [CommRing S] [Algebra R S] {P : Algebra.Extension R S} {R' : Type u'} {S' : Type v'} [CommRing R'] [CommRing S'] [Algebra R' S'] {P' : Algebra.Extension R' S'} [Algebra R R'] [Algebra S S'] [Algebra R S'] [IsScalarTower R R' S'] [IsScalarTower R S S'] (f g : P.Hom P') : Algebra.Extension.CotangentSpace.map f - Algebra.Extension.CotangentSpace.map g = βS P'.cotangentComplex ββ f.sub g - Algebra.FormallyUnramified.comp_sec π Mathlib.RingTheory.Unramified.Finite
(R : Type u_1) (S : Type u_2) [CommRing R] [CommRing S] [Algebra R S] (M : Type u_3) [AddCommGroup M] [Module R M] [Module S M] [IsScalarTower R S M] [Algebra.FormallyUnramified R S] [Algebra.EssFiniteType R S] : TensorProduct.AlgebraTensorModule.lift (βR (Algebra.lsmul S S M).toLinearMap.flip).flip ββ Algebra.FormallyUnramified.sec R S M = LinearMap.id - ContinuousLinearMap.coe_restrictScalars π Mathlib.Topology.Algebra.Module.ContinuousLinearMap.RestrictScalars
{A : Type u_1} {Mβ : Type u_2} {Mβ : Type u_3} {R : Type u_4} [Semiring A] [Semiring R] [AddCommMonoid Mβ] [Module A Mβ] [Module R Mβ] [TopologicalSpace Mβ] [AddCommMonoid Mβ] [Module A Mβ] [Module R Mβ] [TopologicalSpace Mβ] [LinearMap.CompatibleSMul Mβ Mβ R A] (f : Mβ βL[A] Mβ) : β(ContinuousLinearMap.restrictScalars R f) = βR βf - LinearMap.IsSymmetric.restrictScalars π Mathlib.Analysis.InnerProductSpace.Symmetric
{π : Type u_1} {E : Type u_2} [RCLike π] [SeminormedAddCommGroup E] [InnerProductSpace π E] {T : E ββ[π] E} (hT : T.IsSymmetric) : (ββ T).IsSymmetric - Algebra.trace_comp_trace_of_basis π Mathlib.RingTheory.Trace.Defs
{R : Type u_1} {S : Type u_2} {T : Type u_3} [CommRing R] [CommRing S] [CommRing T] [Algebra R S] [Algebra R T] [Algebra S T] [IsScalarTower R S T] {ΞΉ : Type u_4} {ΞΊ : Type u_5} [Finite ΞΉ] [Finite ΞΊ] (b : Module.Basis ΞΉ R S) (c : Module.Basis ΞΊ S T) : Algebra.trace R S ββ βR (Algebra.trace S T) = Algebra.trace R T - Algebra.trace_comp_trace π Mathlib.RingTheory.Trace.Defs
{R : Type u_1} {S : Type u_2} {T : Type u_3} [CommRing R] [CommRing S] [CommRing T] [Algebra R S] [Algebra R T] [Algebra S T] [IsScalarTower R S T] [Module.Free R S] [Module.Finite R S] [Module.Free S T] [Module.Finite S T] : Algebra.trace R S ββ βR (Algebra.trace S T) = Algebra.trace R T - IsIntegralClosure.range_le_span_dualBasis π Mathlib.RingTheory.DedekindDomain.IntegralClosure
{A : Type u_1} {K : Type u_2} [CommRing A] [Field K] [Algebra A K] [IsFractionRing A K] {L : Type u_3} [Field L] (C : Type u_4) [CommRing C] [Algebra K L] [Algebra A L] [IsScalarTower A K L] [Algebra C L] [IsIntegralClosure C A L] [Algebra A C] [IsScalarTower A C L] [FiniteDimensional K L] [Algebra.IsSeparable K L] {ΞΉ : Type u_5} [Finite ΞΉ] [DecidableEq ΞΉ] (b : Module.Basis ΞΉ K L) (hb_int : β (i : ΞΉ), IsIntegral A (b i)) [IsIntegrallyClosed A] : (βA (Algebra.linearMap C L)).range β€ Submodule.span A (Set.range β((Algebra.traceForm K L).dualBasis β― b)) - Module.Dual.extendRCLikeβ_symm_apply π Mathlib.Analysis.RCLike.Extend
{π : Type u_1} [RCLike π] {F : Type u_2} [AddCommGroup F] [Module β F] [Module π F] [IsScalarTower β π F] (f : Module.Dual π F) : Module.Dual.extendRCLikeβ.symm f = RCLike.reLm ββ ββ f - Ideal.natAbs_det_equiv π Mathlib.RingTheory.Ideal.Norm.AbsNorm
{S : Type u_1} [CommRing S] [IsDedekindDomain S] [Module.Free β€ S] [Module.Finite β€ S] (I : Ideal S) {E : Type u_2} [EquivLike E S β₯I] [AddEquivClass E S β₯I] (e : E) : (LinearMap.det (ββ€ (Submodule.subtype I) ββ (βe).toIntLinearMap)).natAbs = Ideal.absNorm I - KaehlerDifferential.isLocalizedModule π Mathlib.RingTheory.Kaehler.TensorProduct
(R : Type u_1) (S : Type u_2) (A : Type u_3) (B : Type u_4) [CommRing R] [CommRing S] [Algebra R S] [CommRing A] [CommRing B] [Algebra R A] [Algebra R B] [Algebra A B] [Algebra S B] [IsScalarTower R A B] [IsScalarTower R S B] (p : Submonoid R) [IsLocalization p S] [IsLocalization (Algebra.algebraMapSubmonoid A p) B] : IsLocalizedModule p (βR (KaehlerDifferential.map R S A B)) - KaehlerDifferential.isLocalizedModule_of_isLocalizedModule π Mathlib.RingTheory.Kaehler.TensorProduct
(R : Type u_1) (S : Type u_2) (A : Type u_3) (B : Type u_4) [CommRing R] [CommRing S] [Algebra R S] [CommRing A] [CommRing B] [Algebra R A] [Algebra R B] [Algebra A B] [Algebra S B] [IsScalarTower R A B] [IsScalarTower R S B] (p : Submonoid R) [IsLocalization p S] [IsLocalizedModule p (IsScalarTower.toAlgHom R A B).toLinearMap] : IsLocalizedModule p (βR (KaehlerDifferential.map R S A B)) - KaehlerDifferential.isBaseChange π Mathlib.RingTheory.Kaehler.TensorProduct
(R : Type u_1) (S : Type u_2) (A : Type u_3) (B : Type u_4) [CommRing R] [CommRing S] [Algebra R S] [CommRing A] [CommRing B] [Algebra R A] [Algebra R B] [Algebra A B] [Algebra S B] [IsScalarTower R A B] [IsScalarTower R S B] [h : Algebra.IsPushout R S A B] : IsBaseChange S (βR (KaehlerDifferential.map R S A B)) - KaehlerDifferential.map_liftBaseChange_smul π Mathlib.RingTheory.Kaehler.TensorProduct
(R : Type u_1) (S : Type u_2) (A : Type u_3) (B : Type u_4) [CommRing R] [CommRing S] [Algebra R S] [CommRing A] [CommRing B] [Algebra R A] [Algebra R B] [Algebra A B] [Algebra S B] [IsScalarTower R A B] [IsScalarTower R S B] [h : Algebra.IsPushout R S A B] (b : B) (x : TensorProduct R S Ξ©[AβR]) : (LinearMap.liftBaseChange S (βR (KaehlerDifferential.map R S A B))) (b β’ x) = b β’ (LinearMap.liftBaseChange S (βR (KaehlerDifferential.map R S A B))) x - KaehlerDifferential.tensorKaehlerEquiv_left_inv π Mathlib.RingTheory.Kaehler.TensorProduct
(R : Type u_1) (S : Type u_2) (A : Type u_3) (B : Type u_4) [CommRing R] [CommRing S] [Algebra R S] [CommRing A] [CommRing B] [Algebra R A] [Algebra R B] [Algebra A B] [Algebra S B] [IsScalarTower R A B] [IsScalarTower R S B] [Algebra.IsPushout R S A B] : βS (KaehlerDifferential.derivationTensorProduct R S A B).liftKaehlerDifferential ββ LinearMap.liftBaseChange S (βR (KaehlerDifferential.map R S A B)) = LinearMap.id - AdicCompletion.transitionMap_comp_reduceModIdeal π Mathlib.RingTheory.AdicCompletion.Functoriality
{R : Type u_1} [CommRing R] (I : Ideal R) {M : Type u_2} [AddCommGroup M] [Module R M] {N : Type u_3} [AddCommGroup N] [Module R N] (f : M ββ[R] N) {m n : β} (hmn : m β€ n) : AdicCompletion.transitionMap I N hmn ββ βR ((LinearMap.reduceModIdeal (I ^ n)) f) = βR ((LinearMap.reduceModIdeal (I ^ m)) f) ββ AdicCompletion.transitionMap I M hmn - LinearMap.det_restrictScalars π Mathlib.RingTheory.Norm.Transitivity
{R : Type u_1} {S : Type u_2} {A : Type u_3} [CommRing R] [CommRing S] [Algebra R S] [Module.Free R S] [AddCommGroup A] [Module R A] [Module S A] [IsScalarTower R S A] [Module.Free S A] {f : A ββ[S] A} : LinearMap.det (βR f) = (Algebra.norm R) (LinearMap.det f) - Algebra.normalizedTrace_algebraMap π Mathlib.FieldTheory.NormalizedTrace
(F : Type u_3) (E : Type u_4) (K : Type u_5) [Field F] [Field E] [Field K] [Algebra F E] [Algebra E K] [Algebra F K] [IsScalarTower F E K] [Algebra.IsIntegral F E] [Algebra.IsIntegral F K] [CharZero F] : Algebra.normalizedTrace F K ββ βF (Algebra.linearMap E K) = Algebra.normalizedTrace F E - Algebra.normalizedTrace_trans π Mathlib.FieldTheory.NormalizedTrace
(F : Type u_3) (E : Type u_4) (K : Type u_5) [Field F] [Field E] [Field K] [Algebra F E] [Algebra E K] [Algebra F K] [IsScalarTower F E K] [Algebra.IsIntegral F E] [Algebra.IsIntegral F K] [CharZero F] [Algebra.IsIntegral E K] [CharZero E] : Algebra.normalizedTrace F E ββ βF (Algebra.normalizedTrace E K) = Algebra.normalizedTrace F K - IsBaseChange.endHom_comp π Mathlib.RingTheory.TensorProduct.IsBaseChangeHom
{R : Type u_1} [CommSemiring R] {S : Type u_2} [CommSemiring S] [Algebra R S] {M : Type u_3} [AddCommMonoid M] [Module R M] {P : Type u_5} [AddCommMonoid P] [Module R P] [Module S P] [IsScalarTower R S P] {Ξ± : M ββ[R] P} (j : IsBaseChange S Ξ±) (f : M ββ[R] M) : βR (j.endHom f) ββ Ξ± = Ξ± ββ f - IsBaseChange.linearMapLeftRightHom_comp π Mathlib.RingTheory.TensorProduct.IsBaseChangeHom
{R : Type u_1} [CommSemiring R] {S : Type u_2} [CommSemiring S] [Algebra R S] {M : Type u_3} [AddCommMonoid M] [Module R M] {N : Type u_4} [AddCommMonoid N] [Module R N] {P : Type u_5} [AddCommMonoid P] [Module R P] {Q : Type u_6} [AddCommMonoid Q] [Module R Q] [Module S P] [IsScalarTower R S P] [Module S Q] [IsScalarTower R S Q] {Ξ± : M ββ[R] P} (j : IsBaseChange S Ξ±) (Ξ² : N ββ[R] Q) (f : M ββ[R] N) : βR ((j.linearMapLeftRightHom Ξ²) f) ββ Ξ± = Ξ² ββ f - NumberField.instIsLocalizedModuleIntSubtypeMemSubmoduleRingOfIntegersCoeToSubmoduleValFractionalIdealNonZeroDivisorsRestrictScalarsSubtype π Mathlib.NumberTheory.NumberField.FractionalIdeal
(K : Type u_1) [Field K] [NumberField K] (I : (FractionalIdeal (nonZeroDivisors (NumberField.RingOfIntegers K)) K)Λ£) : IsLocalizedModule (nonZeroDivisors β€) (ββ€ (ββI).subtype) - differentialIdeal_le_iff π Mathlib.RingTheory.DedekindDomain.Different
{A : Type u_1} {K : Type u_2} {L : Type u} {B : Type u_3} [CommRing A] [Field K] [CommRing B] [Field L] [Algebra A K] [Algebra B L] [Algebra A B] [Algebra K L] [Algebra A L] [IsScalarTower A K L] [IsScalarTower A B L] [IsDomain A] [IsFractionRing A K] [FiniteDimensional K L] [Algebra.IsSeparable K L] [IsIntegralClosure B A L] [IsIntegrallyClosed A] [IsDedekindDomain B] [Module.IsTorsionFree A B] [IsFractionRing B L] {I : Ideal B} (hI : I β β₯) : differentIdeal A B β€ I β Submodule.map (βA (Algebra.trace K L)) (Submodule.restrictScalars A β(βI)β»ΒΉ) β€ 1 - differentialIdeal_le_fractionalIdeal_iff π Mathlib.RingTheory.DedekindDomain.Different
{A : Type u_1} {K : Type u_2} {L : Type u} {B : Type u_3} [CommRing A] [Field K] [CommRing B] [Field L] [Algebra A K] [Algebra B L] [Algebra A B] [Algebra K L] [Algebra A L] [IsScalarTower A K L] [IsScalarTower A B L] [IsDomain A] [IsFractionRing A K] [FiniteDimensional K L] [Algebra.IsSeparable K L] [IsIntegralClosure B A L] [IsIntegrallyClosed A] [IsDedekindDomain B] [Module.IsTorsionFree A B] [IsFractionRing B L] {I : FractionalIdeal (nonZeroDivisors B) L} (hI : I β 0) : β(differentIdeal A B) β€ I β Submodule.map (βA (Algebra.trace K L)) (Submodule.restrictScalars A βIβ»ΒΉ) β€ 1 - Submodule.le_traceDual_iff_map_le_one π Mathlib.RingTheory.DedekindDomain.Different
{A : Type u_1} {K : Type u_2} {L : Type u} {B : Type u_3} [CommRing A] [Field K] [CommRing B] [Field L] [Algebra A K] [Algebra B L] [Algebra A B] [Algebra K L] [Algebra A L] [IsScalarTower A K L] [IsScalarTower A B L] {I J : Submodule B L} : I β€ Submodule.traceDual A K J β Submodule.map (βA (Algebra.trace K L)) (Submodule.restrictScalars A (I * J)) β€ 1 - DividedPowerAlgebra.lift_comp_embed π Mathlib.RingTheory.DividedPowerAlgebra.Init
{R : Type u_2} {M : Type u_3} [CommSemiring R] [AddCommMonoid M] [Module R M] (S : Type u_4) [CommSemiring S] {N : Type u_5} [AddCommMonoid N] [Module R N] [Module S N] (f : M ββ[R] N) [Algebra R S] [IsScalarTower R S N] : (DividedPowerAlgebra.map S f).toLinearMap ββ DividedPowerAlgebra.embed R M = βR (DividedPowerAlgebra.embed S N) ββ f - GradedAlgHom.restrictScalars_coe_linearMap π Mathlib.RingTheory.GradedAlgebra.AlgHom
{R : Type u_1} {A : Type u_2} {B : Type u_3} {ΞΉ : Type u_6} [CommSemiring R] [Semiring A] [Semiring B] [Algebra R A] [Algebra R B] [DecidableEq ΞΉ] [AddMonoid ΞΉ] {π : ΞΉ β Submodule R A} {β¬ : ΞΉ β Submodule R B} [GradedAlgebra π] [GradedAlgebra β¬] (Rβ : Type u_7) [CommSemiring Rβ] [Algebra Rβ R] [Algebra Rβ A] [Algebra Rβ B] [IsScalarTower Rβ R A] [IsScalarTower Rβ R B] (f : π ββα΅[R] β¬) : βRβ βf = β(βRβ f) - IsBaseChange.of_right_exact π Mathlib.RingTheory.TensorProduct.IsBaseChangeRightExact
{R : Type u_1} [CommRing R] (S : Type u_2) [CommRing S] [Algebra R S] {Mβ : Type u_3} {Mβ : Type u_4} {Mβ : Type u_5} {Nβ : Type u_6} {Nβ : Type u_7} {Nβ : Type u_8} [AddCommGroup Mβ] [AddCommGroup Mβ] [AddCommGroup Mβ] [AddCommGroup Nβ] [AddCommGroup Nβ] [AddCommGroup Nβ] [Module R Mβ] [Module R Mβ] [Module R Mβ] [Module R Nβ] [Module R Nβ] [Module R Nβ] [Module S Nβ] [Module S Nβ] [Module S Nβ] [IsScalarTower R S Nβ] [IsScalarTower R S Nβ] [IsScalarTower R S Nβ] (hβ : Mβ ββ[R] Nβ) (hβ : Mβ ββ[R] Nβ) (hβ : Mβ ββ[R] Nβ) {f : Mβ ββ[R] Mβ} {g : Mβ ββ[R] Mβ} {f' : Nβ ββ[S] Nβ} {g' : Nβ ββ[S] Nβ} (commβ : hβ ββ f = βR f' ββ hβ) (commβ : hβ ββ g = βR g' ββ hβ) (isbβ : IsBaseChange S hβ) (isbβ : IsBaseChange S hβ) (exactβ : Function.Exact βf βg) (surjβ : Function.Surjective βg) (exactβ : Function.Exact βf' βg') (surjβ : Function.Surjective βg') : IsBaseChange S hβ
About
Loogle searches Lean and Mathlib definitions and theorems.
You can use Loogle from within the Lean4 VSCode language extension
using the Loogle command from the command palette. 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 ?aIf 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 ?bBy 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_tsumeven though the hypothesisf i < g iis not the last.You can filter for definitions vs theorems: Using
β’ (_ : Type _)finds all definitions which provide data whileβ’ (_ : Prop)finds all theorems (and definitions of proofs).
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. Please review the Lean FRO Terms of Use and Privacy Policy.
This is Loogle revision 9f11169 serving mathlib revision 69fae59