Loogle!
Result
Found 138 declarations mentioning TensorProduct.map.
- TensorProduct.map π Mathlib.LinearAlgebra.TensorProduct.Basic
{R : Type u_1} {Rβ : Type u_2} [CommSemiring R] [CommSemiring Rβ] {Οββ : R β+* Rβ} {M : Type u_7} {N : Type u_8} {Mβ : Type u_12} {Nβ : Type u_14} [AddCommMonoid M] [AddCommMonoid N] [AddCommMonoid Mβ] [AddCommMonoid Nβ] [Module R M] [Module R N] [Module Rβ Mβ] [Module Rβ Nβ] (f : M βββ[Οββ] Mβ) (g : N βββ[Οββ] Nβ) : TensorProduct R M N βββ[Οββ] TensorProduct Rβ Mβ Nβ - TensorProduct.map_id π Mathlib.LinearAlgebra.TensorProduct.Basic
{R : Type u_1} [CommSemiring R] {M : Type u_7} {N : Type u_8} [AddCommMonoid M] [AddCommMonoid N] [Module R M] [Module R N] : TensorProduct.map LinearMap.id LinearMap.id = LinearMap.id - LinearMap.lTensor_def π Mathlib.LinearAlgebra.TensorProduct.Basic
{R : Type u_1} [CommSemiring R] (M : Type u_7) {N : Type u_8} {P : Type u_9} [AddCommMonoid M] [AddCommMonoid N] [AddCommMonoid P] [Module R M] [Module R N] [Module R P] (f : N ββ[R] P) : LinearMap.lTensor M f = TensorProduct.map LinearMap.id f - LinearMap.rTensor_def π Mathlib.LinearAlgebra.TensorProduct.Basic
{R : Type u_1} [CommSemiring R] (M : Type u_7) {N : Type u_8} {P : Type u_9} [AddCommMonoid M] [AddCommMonoid N] [AddCommMonoid P] [Module R M] [Module R N] [Module R P] (f : N ββ[R] P) : LinearMap.rTensor M f = TensorProduct.map f LinearMap.id - LinearMap.lTensor.eq_1 π Mathlib.LinearAlgebra.TensorProduct.Basic
{R : Type u_1} [CommSemiring R] (M : Type u_7) {N : Type u_8} {P : Type u_9} [AddCommMonoid M] [AddCommMonoid N] [AddCommMonoid P] [Module R M] [Module R N] [Module R P] (f : N ββ[R] P) : LinearMap.lTensor M f = TensorProduct.map LinearMap.id f - LinearMap.rTensor.eq_1 π Mathlib.LinearAlgebra.TensorProduct.Basic
{R : Type u_1} [CommSemiring R] (M : Type u_7) {N : Type u_8} {P : Type u_9} [AddCommMonoid M] [AddCommMonoid N] [AddCommMonoid P] [Module R M] [Module R N] [Module R P] (f : N ββ[R] P) : LinearMap.rTensor M f = TensorProduct.map f LinearMap.id - LinearMap.lTensor_comp_rTensor π Mathlib.LinearAlgebra.TensorProduct.Basic
{R : Type u_1} [CommSemiring R] (M : Type u_7) {N : Type u_8} {P : Type u_9} {Q : Type u_10} [AddCommMonoid M] [AddCommMonoid N] [AddCommMonoid P] [AddCommMonoid Q] [Module R M] [Module R N] [Module R P] [Module R Q] (f : M ββ[R] P) (g : N ββ[R] Q) : LinearMap.lTensor P g ββ LinearMap.rTensor N f = TensorProduct.map f g - LinearMap.rTensor_comp_lTensor π Mathlib.LinearAlgebra.TensorProduct.Basic
{R : Type u_1} [CommSemiring R] (M : Type u_7) {N : Type u_8} {P : Type u_9} {Q : Type u_10} [AddCommMonoid M] [AddCommMonoid N] [AddCommMonoid P] [AddCommMonoid Q] [Module R M] [Module R N] [Module R P] [Module R Q] (f : M ββ[R] P) (g : N ββ[R] Q) : LinearMap.rTensor Q f ββ LinearMap.lTensor M g = TensorProduct.map f g - TensorProduct.toLinearMap_congr π Mathlib.LinearAlgebra.TensorProduct.Basic
{R : Type u_1} {Rβ : Type u_2} [CommSemiring R] [CommSemiring Rβ] {Οββ : R β+* Rβ} {M : Type u_7} {N : Type u_8} {Mβ : Type u_12} {Nβ : Type u_14} [AddCommMonoid M] [AddCommMonoid N] [AddCommMonoid Mβ] [AddCommMonoid Nβ] [Module R M] [Module R N] [Module Rβ Mβ] [Module Rβ Nβ] {Οββ : Rβ β+* R} [RingHomInvPair Οββ Οββ] [RingHomInvPair Οββ Οββ] (f : M βββ[Οββ] Mβ) (g : N βββ[Οββ] Nβ) : β(TensorProduct.congr f g) = TensorProduct.map βf βg - TensorProduct.map_tmul π Mathlib.LinearAlgebra.TensorProduct.Basic
{R : Type u_1} {Rβ : Type u_2} [CommSemiring R] [CommSemiring Rβ] {Οββ : R β+* Rβ} {M : Type u_7} {N : Type u_8} {Mβ : Type u_12} {Nβ : Type u_14} [AddCommMonoid M] [AddCommMonoid N] [AddCommMonoid Mβ] [AddCommMonoid Nβ] [Module R M] [Module R N] [Module Rβ Mβ] [Module Rβ Nβ] (f : M βββ[Οββ] Mβ) (g : N βββ[Οββ] Nβ) (m : M) (n : N) : (TensorProduct.map f g) (m ββ[R] n) = f m ββ[Rβ] g n - TensorProduct.map_one π Mathlib.LinearAlgebra.TensorProduct.Basic
{R : Type u_1} [CommSemiring R] {M : Type u_7} {N : Type u_8} [AddCommMonoid M] [AddCommMonoid N] [Module R M] [Module R N] : TensorProduct.map 1 1 = 1 - TensorProduct.map_bijective π Mathlib.LinearAlgebra.TensorProduct.Basic
{R : Type u_1} [CommSemiring R] {M : Type u_7} {N : Type u_8} {P : Type u_9} {Q : Type u_10} [AddCommMonoid M] [AddCommMonoid N] [AddCommMonoid P] [AddCommMonoid Q] [Module R M] [Module R N] [Module R P] [Module R Q] {f : M ββ[R] N} {g : P ββ[R] Q} (hf : Function.Bijective βf) (hg : Function.Bijective βg) : Function.Bijective β(TensorProduct.map f g) - TensorProduct.map_zero_left π Mathlib.LinearAlgebra.TensorProduct.Basic
{R : Type u_1} {Rβ : Type u_2} [CommSemiring R] [CommSemiring Rβ] {Οββ : R β+* Rβ} {M : Type u_7} {N : Type u_8} {Mβ : Type u_12} {Nβ : Type u_14} [AddCommMonoid M] [AddCommMonoid N] [AddCommMonoid Mβ] [AddCommMonoid Nβ] [Module R M] [Module R N] [Module Rβ Mβ] [Module Rβ Nβ] (g : N βββ[Οββ] Nβ) : TensorProduct.map 0 g = 0 - TensorProduct.map_zero_right π Mathlib.LinearAlgebra.TensorProduct.Basic
{R : Type u_1} {Rβ : Type u_2} [CommSemiring R] [CommSemiring Rβ] {Οββ : R β+* Rβ} {M : Type u_7} {N : Type u_8} {Mβ : Type u_12} {Nβ : Type u_14} [AddCommMonoid M] [AddCommMonoid N] [AddCommMonoid Mβ] [AddCommMonoid Nβ] [Module R M] [Module R N] [Module Rβ Mβ] [Module Rβ Nβ] (f : M βββ[Οββ] Mβ) : TensorProduct.map f 0 = 0 - LinearMap.lTensor_comp_map π Mathlib.LinearAlgebra.TensorProduct.Basic
{R : Type u_1} [CommSemiring R] (M : Type u_7) {N : Type u_8} {P : Type u_9} {Q : Type u_10} {S : Type u_11} [AddCommMonoid M] [AddCommMonoid N] [AddCommMonoid P] [AddCommMonoid Q] [AddCommMonoid S] [Module R M] [Module R N] [Module R S] [Module R P] [Module R Q] (g' : Q ββ[R] S) (f : M ββ[R] P) (g : N ββ[R] Q) : LinearMap.lTensor P g' ββ TensorProduct.map f g = TensorProduct.map f (g' ββ g) - LinearMap.map_comp_lTensor π Mathlib.LinearAlgebra.TensorProduct.Basic
{R : Type u_1} [CommSemiring R] (M : Type u_7) {N : Type u_8} {P : Type u_9} {Q : Type u_10} {S : Type u_11} [AddCommMonoid M] [AddCommMonoid N] [AddCommMonoid P] [AddCommMonoid Q] [AddCommMonoid S] [Module R M] [Module R N] [Module R S] [Module R P] [Module R Q] (f : M ββ[R] P) (g : N ββ[R] Q) (g' : S ββ[R] N) : TensorProduct.map f g ββ LinearMap.lTensor M g' = TensorProduct.map f (g ββ g') - LinearMap.map_comp_rTensor π Mathlib.LinearAlgebra.TensorProduct.Basic
{R : Type u_1} [CommSemiring R] (M : Type u_7) {N : Type u_8} {P : Type u_9} {Q : Type u_10} {S : Type u_11} [AddCommMonoid M] [AddCommMonoid N] [AddCommMonoid P] [AddCommMonoid Q] [AddCommMonoid S] [Module R M] [Module R N] [Module R S] [Module R P] [Module R Q] (f : M ββ[R] P) (g : N ββ[R] Q) (f' : S ββ[R] M) : TensorProduct.map f g ββ LinearMap.rTensor N f' = TensorProduct.map (f ββ f') g - LinearMap.rTensor_comp_map π Mathlib.LinearAlgebra.TensorProduct.Basic
{R : Type u_1} [CommSemiring R] (M : Type u_7) {N : Type u_8} {P : Type u_9} {Q : Type u_10} {S : Type u_11} [AddCommMonoid M] [AddCommMonoid N] [AddCommMonoid P] [AddCommMonoid Q] [AddCommMonoid S] [Module R M] [Module R N] [Module R S] [Module R P] [Module R Q] (f' : P ββ[R] S) (f : M ββ[R] P) (g : N ββ[R] Q) : LinearMap.rTensor Q f' ββ TensorProduct.map f g = TensorProduct.map (f' ββ f) g - TensorProduct.map_comp π Mathlib.LinearAlgebra.TensorProduct.Basic
{R : Type u_1} {Rβ : Type u_2} {Rβ : Type u_3} [CommSemiring R] [CommSemiring Rβ] [CommSemiring Rβ] {Οββ : R β+* Rβ} {Οββ : Rβ β+* Rβ} {Οββ : R β+* Rβ} {M : Type u_7} {N : Type u_8} {Mβ : Type u_12} {Mβ : Type u_13} {Nβ : Type u_14} {Nβ : Type u_15} [AddCommMonoid M] [AddCommMonoid N] [AddCommMonoid Mβ] [AddCommMonoid Nβ] [AddCommMonoid Mβ] [AddCommMonoid Nβ] [Module R M] [Module R N] [Module Rβ Mβ] [Module Rβ Nβ] [Module Rβ Mβ] [Module Rβ Nβ] [RingHomCompTriple Οββ Οββ Οββ] (fβ : Mβ βββ[Οββ] Mβ) (gβ : Nβ βββ[Οββ] Nβ) (fβ : M βββ[Οββ] Mβ) (gβ : N βββ[Οββ] Nβ) : TensorProduct.map (fβ βββ fβ) (gβ βββ gβ) = TensorProduct.map fβ gβ βββ TensorProduct.map fβ gβ - TensorProduct.mapIncl.eq_1 π Mathlib.LinearAlgebra.TensorProduct.Basic
{R : Type u_1} [CommSemiring R] {P : Type u_9} {Q : Type u_10} [AddCommMonoid P] [AddCommMonoid Q] [Module R P] [Module R Q] (p : Submodule R P) (q : Submodule R Q) : TensorProduct.mapIncl p q = TensorProduct.map p.subtype q.subtype - TensorProduct.lift_comp_map π Mathlib.LinearAlgebra.TensorProduct.Basic
{R : Type u_1} {Rβ : Type u_2} {Rβ : Type u_3} [CommSemiring R] [CommSemiring Rβ] [CommSemiring Rβ] {Οββ : R β+* Rβ} {Οββ : Rβ β+* Rβ} {Οββ : R β+* Rβ} {M : Type u_7} {N : Type u_8} {Mβ : Type u_12} {Nβ : Type u_14} {Pβ : Type u_18} [AddCommMonoid M] [AddCommMonoid N] [AddCommMonoid Mβ] [AddCommMonoid Nβ] [AddCommMonoid Pβ] [Module R M] [Module R N] [Module Rβ Mβ] [Module Rβ Nβ] [Module Rβ Pβ] [RingHomCompTriple Οββ Οββ Οββ] (i : Mβ βββ[Οββ] Nβ βββ[Οββ] Pβ) (f : M βββ[Οββ] Mβ) (g : N βββ[Οββ] Nβ) : TensorProduct.lift i βββ TensorProduct.map f g = TensorProduct.lift ((i βββ f).complβ g) - TensorProduct.map_range_eq_span_tmul π Mathlib.LinearAlgebra.TensorProduct.Basic
{R : Type u_1} [CommSemiring R] {M : Type u_7} {N : Type u_8} {P : Type u_9} {Q : Type u_10} [AddCommMonoid M] [AddCommMonoid N] [AddCommMonoid P] [AddCommMonoid Q] [Module R M] [Module R N] [Module R P] [Module R Q] (f : M ββ[R] P) (g : N ββ[R] Q) : LinearMap.range (TensorProduct.map f g) = Submodule.span R {t | β m n, f m ββ[R] g n = t} - TensorProduct.range_map_eq_span_tmul π Mathlib.LinearAlgebra.TensorProduct.Basic
{R : Type u_1} [CommSemiring R] {M : Type u_7} {N : Type u_8} {P : Type u_9} {Q : Type u_10} [AddCommMonoid M] [AddCommMonoid N] [AddCommMonoid P] [AddCommMonoid Q] [Module R M] [Module R N] [Module R P] [Module R Q] (f : M ββ[R] P) (g : N ββ[R] Q) : LinearMap.range (TensorProduct.map f g) = Submodule.span R {t | β m n, f m ββ[R] g n = t} - TensorProduct.map_comp_comm_eq π Mathlib.LinearAlgebra.TensorProduct.Basic
{R : Type u_1} {Rβ : Type u_2} [CommSemiring R] [CommSemiring Rβ] {Οββ : R β+* Rβ} {M : Type u_7} {N : Type u_8} {Mβ : Type u_12} {Nβ : Type u_14} [AddCommMonoid M] [AddCommMonoid N] [AddCommMonoid Mβ] [AddCommMonoid Nβ] [Module R M] [Module R N] [Module Rβ Mβ] [Module Rβ Nβ] (f : M βββ[Οββ] Mβ) (g : N βββ[Οββ] Nβ) : TensorProduct.map f g βββ β(TensorProduct.comm R N M) = β(TensorProduct.comm Rβ Nβ Mβ) βββ TensorProduct.map g f - TensorProduct.map_add_left π Mathlib.LinearAlgebra.TensorProduct.Basic
{R : Type u_1} {Rβ : Type u_2} [CommSemiring R] [CommSemiring Rβ] {Οββ : R β+* Rβ} {M : Type u_7} {N : Type u_8} {Mβ : Type u_12} {Nβ : Type u_14} [AddCommMonoid M] [AddCommMonoid N] [AddCommMonoid Mβ] [AddCommMonoid Nβ] [Module R M] [Module R N] [Module Rβ Mβ] [Module Rβ Nβ] (fβ fβ : M βββ[Οββ] Mβ) (g : N βββ[Οββ] Nβ) : TensorProduct.map (fβ + fβ) g = TensorProduct.map fβ g + TensorProduct.map fβ g - TensorProduct.map_add_right π Mathlib.LinearAlgebra.TensorProduct.Basic
{R : Type u_1} {Rβ : Type u_2} [CommSemiring R] [CommSemiring Rβ] {Οββ : R β+* Rβ} {M : Type u_7} {N : Type u_8} {Mβ : Type u_12} {Nβ : Type u_14} [AddCommMonoid M] [AddCommMonoid N] [AddCommMonoid Mβ] [AddCommMonoid Nβ] [Module R M] [Module R N] [Module Rβ Mβ] [Module Rβ Nβ] (f : M βββ[Οββ] Mβ) (gβ gβ : N βββ[Οββ] Nβ) : TensorProduct.map f (gβ + gβ) = TensorProduct.map f gβ + TensorProduct.map f gβ - TensorProduct.map_smul_left π Mathlib.LinearAlgebra.TensorProduct.Basic
{R : Type u_1} {Rβ : Type u_2} [CommSemiring R] [CommSemiring Rβ] {Οββ : R β+* Rβ} {M : Type u_7} {N : Type u_8} {Mβ : Type u_12} {Nβ : Type u_14} [AddCommMonoid M] [AddCommMonoid N] [AddCommMonoid Mβ] [AddCommMonoid Nβ] [Module R M] [Module R N] [Module Rβ Mβ] [Module Rβ Nβ] (r : Rβ) (f : M βββ[Οββ] Mβ) (g : N βββ[Οββ] Nβ) : TensorProduct.map (r β’ f) g = r β’ TensorProduct.map f g - TensorProduct.map_smul_right π Mathlib.LinearAlgebra.TensorProduct.Basic
{R : Type u_1} {Rβ : Type u_2} [CommSemiring R] [CommSemiring Rβ] {Οββ : R β+* Rβ} {M : Type u_7} {N : Type u_8} {Mβ : Type u_12} {Nβ : Type u_14} [AddCommMonoid M] [AddCommMonoid N] [AddCommMonoid Mβ] [AddCommMonoid Nβ] [Module R M] [Module R N] [Module Rβ Mβ] [Module Rβ Nβ] (r : Rβ) (f : M βββ[Οββ] Mβ) (g : N βββ[Οββ] Nβ) : TensorProduct.map f (r β’ g) = r β’ TensorProduct.map f g - TensorProduct.range_map π Mathlib.LinearAlgebra.TensorProduct.Basic
{R : Type u_1} [CommSemiring R] {M : Type u_7} {N : Type u_8} {P : Type u_9} {Q : Type u_10} [AddCommMonoid M] [AddCommMonoid N] [AddCommMonoid P] [AddCommMonoid Q] [Module R M] [Module R N] [Module R P] [Module R Q] (f : M ββ[R] P) (g : N ββ[R] Q) : LinearMap.range (TensorProduct.map f g) = Submodule.mapβ (TensorProduct.mk R P Q) (LinearMap.range f) (LinearMap.range g) - TensorProduct.map_pow π Mathlib.LinearAlgebra.TensorProduct.Basic
{R : Type u_1} [CommSemiring R] {M : Type u_7} {N : Type u_8} [AddCommMonoid M] [AddCommMonoid N] [Module R M] [Module R N] (f : M ββ[R] M) (g : N ββ[R] N) (n : β) : TensorProduct.map f g ^ n = TensorProduct.map (f ^ n) (g ^ n) - LinearMap.lTensor_map π Mathlib.LinearAlgebra.TensorProduct.Basic
{R : Type u_1} [CommSemiring R] (M : Type u_7) {N : Type u_8} {P : Type u_9} {Q : Type u_10} {S : Type u_11} [AddCommMonoid M] [AddCommMonoid N] [AddCommMonoid P] [AddCommMonoid Q] [AddCommMonoid S] [Module R M] [Module R N] [Module R S] [Module R P] [Module R Q] (g' : Q ββ[R] S) (f : M ββ[R] P) (g : N ββ[R] Q) (x : TensorProduct R M N) : (LinearMap.lTensor P g') ((TensorProduct.map f g) x) = (TensorProduct.map f (g' ββ g)) x - LinearMap.map_lTensor π Mathlib.LinearAlgebra.TensorProduct.Basic
{R : Type u_1} [CommSemiring R] (M : Type u_7) {N : Type u_8} {P : Type u_9} {Q : Type u_10} {S : Type u_11} [AddCommMonoid M] [AddCommMonoid N] [AddCommMonoid P] [AddCommMonoid Q] [AddCommMonoid S] [Module R M] [Module R N] [Module R S] [Module R P] [Module R Q] (f : M ββ[R] P) (g : N ββ[R] Q) (g' : S ββ[R] N) (x : TensorProduct R M S) : (TensorProduct.map f g) ((LinearMap.lTensor M g') x) = (TensorProduct.map f (g ββ g')) x - LinearMap.map_rTensor π Mathlib.LinearAlgebra.TensorProduct.Basic
{R : Type u_1} [CommSemiring R] (M : Type u_7) {N : Type u_8} {P : Type u_9} {Q : Type u_10} {S : Type u_11} [AddCommMonoid M] [AddCommMonoid N] [AddCommMonoid P] [AddCommMonoid Q] [AddCommMonoid S] [Module R M] [Module R N] [Module R S] [Module R P] [Module R Q] (f : M ββ[R] P) (g : N ββ[R] Q) (f' : S ββ[R] M) (x : TensorProduct R S N) : (TensorProduct.map f g) ((LinearMap.rTensor N f') x) = (TensorProduct.map (f ββ f') g) x - LinearMap.rTensor_map π Mathlib.LinearAlgebra.TensorProduct.Basic
{R : Type u_1} [CommSemiring R] (M : Type u_7) {N : Type u_8} {P : Type u_9} {Q : Type u_10} {S : Type u_11} [AddCommMonoid M] [AddCommMonoid N] [AddCommMonoid P] [AddCommMonoid Q] [AddCommMonoid S] [Module R M] [Module R N] [Module R S] [Module R P] [Module R Q] (f' : P ββ[R] S) (f : M ββ[R] P) (g : N ββ[R] Q) (x : TensorProduct R M N) : (LinearMap.rTensor Q f') ((TensorProduct.map f g) x) = (TensorProduct.map (f' ββ f) g) x - TensorProduct.map_mul π Mathlib.LinearAlgebra.TensorProduct.Basic
{R : Type u_1} [CommSemiring R] {M : Type u_7} {N : Type u_8} [AddCommMonoid M] [AddCommMonoid N] [Module R M] [Module R N] (fβ fβ : M ββ[R] M) (gβ gβ : N ββ[R] N) : TensorProduct.map (fβ * fβ) (gβ * gβ) = TensorProduct.map fβ gβ * TensorProduct.map fβ gβ - TensorProduct.map_map π Mathlib.LinearAlgebra.TensorProduct.Basic
{R : Type u_1} {Rβ : Type u_2} {Rβ : Type u_3} [CommSemiring R] [CommSemiring Rβ] [CommSemiring Rβ] {Οββ : R β+* Rβ} {Οββ : Rβ β+* Rβ} {Οββ : R β+* Rβ} {M : Type u_7} {N : Type u_8} {Mβ : Type u_12} {Mβ : Type u_13} {Nβ : Type u_14} {Nβ : Type u_15} [AddCommMonoid M] [AddCommMonoid N] [AddCommMonoid Mβ] [AddCommMonoid Nβ] [AddCommMonoid Mβ] [AddCommMonoid Nβ] [Module R M] [Module R N] [Module Rβ Mβ] [Module Rβ Nβ] [Module Rβ Mβ] [Module Rβ Nβ] [RingHomCompTriple Οββ Οββ Οββ] (fβ : Mβ βββ[Οββ] Mβ) (gβ : Nβ βββ[Οββ] Nβ) (fβ : M βββ[Οββ] Mβ) (gβ : N βββ[Οββ] Nβ) (x : TensorProduct R M N) : (TensorProduct.map fβ gβ) ((TensorProduct.map fβ gβ) x) = (TensorProduct.map (fβ βββ fβ) (gβ βββ gβ)) x - TensorProduct.map_comm π Mathlib.LinearAlgebra.TensorProduct.Basic
{R : Type u_1} {Rβ : Type u_2} [CommSemiring R] [CommSemiring Rβ] {Οββ : R β+* Rβ} {M : Type u_7} {N : Type u_8} {Mβ : Type u_12} {Nβ : Type u_14} [AddCommMonoid M] [AddCommMonoid N] [AddCommMonoid Mβ] [AddCommMonoid Nβ] [Module R M] [Module R N] [Module Rβ Mβ] [Module Rβ Nβ] (f : M βββ[Οββ] Mβ) (g : N βββ[Οββ] Nβ) (x : TensorProduct R N M) : (TensorProduct.map f g) ((TensorProduct.comm R N M) x) = (TensorProduct.comm Rβ Nβ Mβ) ((TensorProduct.map g f) x) - TensorProduct.range_map_mono π Mathlib.LinearAlgebra.TensorProduct.Basic
{R : Type u_1} [CommSemiring R] {M : Type u_7} {N : Type u_8} {Mβ : Type u_12} {Mβ : Type u_13} {Nβ : Type u_14} {Nβ : Type u_15} [AddCommMonoid M] [AddCommMonoid N] [AddCommMonoid Mβ] [AddCommMonoid Nβ] [AddCommMonoid Mβ] [AddCommMonoid Nβ] [Module R M] [Module R N] [Module R Mβ] [Module R Mβ] [Module R Nβ] [Module R Nβ] {a : M ββ[R] Mβ} {b : Mβ ββ[R] Mβ} {c : N ββ[R] Nβ} {d : Nβ ββ[R] Nβ} (hab : LinearMap.range a β€ LinearMap.range b) (hcd : LinearMap.range c β€ LinearMap.range d) : LinearMap.range (TensorProduct.map a c) β€ LinearMap.range (TensorProduct.map b d) - TensorProduct.mapβ_apply_tmul π Mathlib.LinearAlgebra.TensorProduct.Basic
{R : Type u_1} {Rβ : Type u_2} {Rβ : Type u_3} [CommSemiring R] [CommSemiring Rβ] [CommSemiring Rβ] {Οββ : Rβ β+* Rβ} {Οββ : R β+* Rβ} {M : Type u_7} {N : Type u_8} {Mβ : Type u_12} {Mβ : Type u_13} {Nβ : Type u_14} {Nβ : Type u_15} [AddCommMonoid M] [AddCommMonoid N] [AddCommMonoid Mβ] [AddCommMonoid Nβ] [AddCommMonoid Mβ] [AddCommMonoid Nβ] [Module R M] [Module R N] [Module Rβ Mβ] [Module Rβ Nβ] [Module Rβ Mβ] [Module Rβ Nβ] (f : M βββ[Οββ] Mβ βββ[Οββ] Mβ) (g : N βββ[Οββ] Nβ βββ[Οββ] Nβ) (m : M) (n : N) : (TensorProduct.mapβ f g) (m ββ[R] n) = TensorProduct.map (f m) (g n) - TensorProduct.homTensorHomMap_apply π Mathlib.LinearAlgebra.TensorProduct.Basic
{R : Type u_1} {Rβ : Type u_2} [CommSemiring R] [CommSemiring Rβ] {Οββ : R β+* Rβ} {M : Type u_7} {N : Type u_8} {Mβ : Type u_12} {Nβ : Type u_14} [AddCommMonoid M] [AddCommMonoid N] [AddCommMonoid Mβ] [AddCommMonoid Nβ] [Module R M] [Module R N] [Module Rβ Mβ] [Module Rβ Nβ] (f : M βββ[Οββ] Mβ) (g : N βββ[Οββ] Nβ) : (TensorProduct.homTensorHomMap Οββ M N Mβ Nβ) (f ββ[Rβ] g) = TensorProduct.map f g - TensorProduct.mapBilinear_apply π Mathlib.LinearAlgebra.TensorProduct.Basic
{R : Type u_1} {Rβ : Type u_2} [CommSemiring R] [CommSemiring Rβ] {Οββ : R β+* Rβ} {M : Type u_7} {N : Type u_8} {Mβ : Type u_12} {Nβ : Type u_14} [AddCommMonoid M] [AddCommMonoid N] [AddCommMonoid Mβ] [AddCommMonoid Nβ] [Module R M] [Module R N] [Module Rβ Mβ] [Module Rβ Nβ] (f : M βββ[Οββ] Mβ) (g : N βββ[Οββ] Nβ) : ((TensorProduct.mapBilinear Οββ M N Mβ Nβ) f) g = TensorProduct.map f g - AlgHom.comp_mul' π Mathlib.Algebra.Algebra.Bilinear
{R : Type u_1} {A : Type u_2} {B : Type u_3} [CommSemiring R] [Semiring A] [Semiring B] [Algebra R A] [Algebra R B] (f : A ββ[R] B) : f.toLinearMap ββ LinearMap.mul' R A = LinearMap.mul' R B ββ TensorProduct.map f.toLinearMap f.toLinearMap - NonUnitalAlgHom.comp_mul' π Mathlib.Algebra.Algebra.Bilinear
{R : Type u_1} {A : Type u_2} {B : Type u_3} [CommSemiring R] [NonUnitalSemiring A] [Module R A] [SMulCommClass R A A] [IsScalarTower R A A] [NonUnitalNonAssocSemiring B] [Module R B] [SMulCommClass R B B] [IsScalarTower R B B] (f : A βββ[R] B) : βf ββ LinearMap.mul' R A = LinearMap.mul' R B ββ TensorProduct.map βf βf - TensorProduct.map_map_comp_assoc_eq π Mathlib.LinearAlgebra.TensorProduct.Associator
{R : Type u_1} [CommSemiring R] {M : Type u_5} {N : Type u_6} {P : Type u_7} {Q : Type u_8} {S : Type u_9} {T : Type u_10} [AddCommMonoid M] [AddCommMonoid N] [AddCommMonoid P] [AddCommMonoid Q] [AddCommMonoid S] [AddCommMonoid T] [Module R M] [Module R N] [Module R Q] [Module R S] [Module R T] [Module R P] (f : M ββ[R] Q) (g : N ββ[R] S) (h : P ββ[R] T) : TensorProduct.map f (TensorProduct.map g h) ββ β(TensorProduct.assoc R M N P) = β(TensorProduct.assoc R Q S T) ββ TensorProduct.map (TensorProduct.map f g) h - TensorProduct.map_map_comp_assoc_symm_eq π Mathlib.LinearAlgebra.TensorProduct.Associator
{R : Type u_1} [CommSemiring R] {M : Type u_5} {N : Type u_6} {P : Type u_7} {Q : Type u_8} {S : Type u_9} {T : Type u_10} [AddCommMonoid M] [AddCommMonoid N] [AddCommMonoid P] [AddCommMonoid Q] [AddCommMonoid S] [AddCommMonoid T] [Module R M] [Module R N] [Module R Q] [Module R S] [Module R T] [Module R P] (f : M ββ[R] Q) (g : N ββ[R] S) (h : P ββ[R] T) : TensorProduct.map (TensorProduct.map f g) h ββ β(TensorProduct.assoc R M N P).symm = β(TensorProduct.assoc R Q S T).symm ββ TensorProduct.map f (TensorProduct.map g h) - TensorProduct.tensorTensorTensorComm_comp_map π Mathlib.LinearAlgebra.TensorProduct.Associator
(R : Type u_1) [CommSemiring R] {M : Type u_5} {N : Type u_6} {P : Type u_7} {Q : Type u_8} {S : Type u_9} {T : Type u_10} [AddCommMonoid M] [AddCommMonoid N] [AddCommMonoid P] [AddCommMonoid Q] [AddCommMonoid S] [AddCommMonoid T] [Module R M] [Module R N] [Module R Q] [Module R S] [Module R T] [Module R P] {V : Type u_13} {W : Type u_14} [AddCommMonoid V] [AddCommMonoid W] [Module R V] [Module R W] (f : M ββ[R] S) (g : N ββ[R] T) (h : P ββ[R] V) (j : Q ββ[R] W) : β(TensorProduct.tensorTensorTensorComm R S T V W) ββ TensorProduct.map (TensorProduct.map f g) (TensorProduct.map h j) = TensorProduct.map (TensorProduct.map f h) (TensorProduct.map g j) ββ β(TensorProduct.tensorTensorTensorComm R M N P Q) - TensorProduct.map_map_assoc π Mathlib.LinearAlgebra.TensorProduct.Associator
{R : Type u_1} [CommSemiring R] {M : Type u_5} {N : Type u_6} {P : Type u_7} {Q : Type u_8} {S : Type u_9} {T : Type u_10} [AddCommMonoid M] [AddCommMonoid N] [AddCommMonoid P] [AddCommMonoid Q] [AddCommMonoid S] [AddCommMonoid T] [Module R M] [Module R N] [Module R Q] [Module R S] [Module R T] [Module R P] (f : M ββ[R] Q) (g : N ββ[R] S) (h : P ββ[R] T) (x : TensorProduct R (TensorProduct R M N) P) : (TensorProduct.map f (TensorProduct.map g h)) ((TensorProduct.assoc R M N P) x) = (TensorProduct.assoc R Q S T) ((TensorProduct.map (TensorProduct.map f g) h) x) - TensorProduct.map_map_assoc_symm π Mathlib.LinearAlgebra.TensorProduct.Associator
{R : Type u_1} [CommSemiring R] {M : Type u_5} {N : Type u_6} {P : Type u_7} {Q : Type u_8} {S : Type u_9} {T : Type u_10} [AddCommMonoid M] [AddCommMonoid N] [AddCommMonoid P] [AddCommMonoid Q] [AddCommMonoid S] [AddCommMonoid T] [Module R M] [Module R N] [Module R Q] [Module R S] [Module R T] [Module R P] (f : M ββ[R] Q) (g : N ββ[R] S) (h : P ββ[R] T) (x : TensorProduct R M (TensorProduct R N P)) : (TensorProduct.map (TensorProduct.map f g) h) ((TensorProduct.assoc R M N P).symm x) = (TensorProduct.assoc R Q S T).symm ((TensorProduct.map f (TensorProduct.map g h)) x) - TensorProduct.AlgebraTensorModule.map_eq π Mathlib.LinearAlgebra.TensorProduct.Tower
{R : Type uR} {M : Type uM} {N : Type uN} {P : Type uP} {Q : Type uQ} [CommSemiring R] [AddCommMonoid M] [Module R M] [AddCommMonoid N] [Module R N] [AddCommMonoid P] [Module R P] [AddCommMonoid Q] [Module R Q] (f : M ββ[R] P) (g : N ββ[R] Q) : TensorProduct.AlgebraTensorModule.map f g = TensorProduct.map f g - LinearMap.mulLeft_tmul π Mathlib.RingTheory.TensorProduct.Basic
{R : Type u_1} {A : Type u_2} {B : Type u_3} [CommSemiring R] [NonUnitalNonAssocSemiring A] [NonUnitalNonAssocSemiring B] [Module R A] [Module R B] [SMulCommClass R A A] [SMulCommClass R B B] [IsScalarTower R A A] [IsScalarTower R B B] (a : A) (b : B) : LinearMap.mulLeft R (a ββ[R] b) = TensorProduct.map (LinearMap.mulLeft R a) (LinearMap.mulLeft R b) - LinearMap.mulRight_tmul π Mathlib.RingTheory.TensorProduct.Basic
{R : Type u_1} {A : Type u_2} {B : Type u_3} [CommSemiring R] [NonUnitalNonAssocSemiring A] [NonUnitalNonAssocSemiring B] [Module R A] [Module R B] [SMulCommClass R A A] [SMulCommClass R B B] [IsScalarTower R A A] [IsScalarTower R B B] (a : A) (b : B) : LinearMap.mulRight R (a ββ[R] b) = TensorProduct.map (LinearMap.mulRight R a) (LinearMap.mulRight R b) - TensorProduct.Algebra.linearMap_comp_mul' π Mathlib.RingTheory.TensorProduct.Basic
{R : Type u_1} {A : Type u_2} {B : Type u_3} [CommSemiring R] [Semiring A] [Semiring B] [Algebra R A] [Algebra R B] : Algebra.linearMap R (TensorProduct R A B) ββ LinearMap.mul' R R = TensorProduct.map (Algebra.linearMap R A) (Algebra.linearMap R B) - TensorProduct.Algebra.mul'_comp_tensorTensorTensorComm π Mathlib.RingTheory.TensorProduct.Basic
{R : Type u_1} {A : Type u_2} {B : Type u_3} [CommSemiring R] [NonUnitalNonAssocSemiring A] [NonUnitalNonAssocSemiring B] [Module R A] [Module R B] [SMulCommClass R A A] [SMulCommClass R B B] [IsScalarTower R A A] [IsScalarTower R B B] : LinearMap.mul' R (TensorProduct R A B) ββ β(TensorProduct.tensorTensorTensorComm R A A B B) = TensorProduct.map (LinearMap.mul' R A) (LinearMap.mul' R B) - LinearMap.mul'_tensor π Mathlib.RingTheory.TensorProduct.Basic
{R : Type u_1} {A : Type u_2} {B : Type u_3} [CommSemiring R] [NonUnitalNonAssocSemiring A] [NonUnitalNonAssocSemiring B] [Module R A] [Module R B] [SMulCommClass R A A] [SMulCommClass R B B] [IsScalarTower R A A] [IsScalarTower R B B] : LinearMap.mul' R (TensorProduct R A B) = TensorProduct.map (LinearMap.mul' R A) (LinearMap.mul' R B) ββ β(TensorProduct.tensorTensorTensorComm R A B A B) - TensorProduct.map_surjective π Mathlib.LinearAlgebra.TensorProduct.RightExactness
{R : Type u_1} [CommSemiring R] {N : Type u_3} {P : Type u_4} [AddCommMonoid N] [AddCommMonoid P] [Module R N] [Module R P] {g : N ββ[R] P} (hg : Function.Surjective βg) {N' : Type u_6} {P' : Type u_7} [AddCommMonoid N'] [AddCommMonoid P'] [Module R N'] [Module R P'] {g' : N' ββ[R] P'} (hg' : Function.Surjective βg') : Function.Surjective β(TensorProduct.map g g') - TensorProduct.map_ker π Mathlib.LinearAlgebra.TensorProduct.RightExactness
{R : Type u_1} {M : Type u_2} {N : Type u_3} {P : Type u_4} [CommRing R] [AddCommGroup M] [AddCommGroup N] [AddCommGroup P] [Module R M] [Module R N] [Module R P] {f : M ββ[R] N} {g : N ββ[R] P} (hfg : Function.Exact βf βg) (hg : Function.Surjective βg) {M' : Type u_6} {N' : Type u_7} {P' : Type u_8} [AddCommGroup M'] [AddCommGroup N'] [AddCommGroup P'] [Module R M'] [Module R N'] [Module R P'] {f' : M' ββ[R] N'} {g' : N' ββ[R] P'} (hfg' : Function.Exact βf' βg') (hg' : Function.Surjective βg') : LinearMap.ker (TensorProduct.map g g') = LinearMap.range (LinearMap.lTensor N f') β LinearMap.range (LinearMap.rTensor N' f) - IsTensorProduct.map.eq_1 π Mathlib.RingTheory.IsTensorProduct
{R : Type u_1} [CommSemiring R] {Mβ : Type u_2} {Mβ : Type u_3} {M : Type u_4} [AddCommMonoid Mβ] [AddCommMonoid Mβ] [AddCommMonoid M] [Module R Mβ] [Module R Mβ] [Module R M] {f : Mβ ββ[R] Mβ ββ[R] M} {Nβ : Type u_6} {Nβ : Type u_7} {N : Type u_8} [AddCommMonoid Nβ] [AddCommMonoid Nβ] [AddCommMonoid N] [Module R Nβ] [Module R Nβ] [Module R N] {g : Nβ ββ[R] Nβ ββ[R] N} (hf : IsTensorProduct f) (hg : IsTensorProduct g) (iβ : Mβ ββ[R] Nβ) (iβ : Mβ ββ[R] Nβ) : hf.map hg iβ iβ = βhg.equiv ββ TensorProduct.map iβ iβ ββ βhf.equiv.symm - TensorProduct.exists_finite_submodule_of_finite' π Mathlib.LinearAlgebra.TensorProduct.Finiteness
{R : Type u_1} {M : Type u_2} {N : Type u_3} [CommSemiring R] [AddCommMonoid M] [AddCommMonoid N] [Module R M] [Module R N] {Mβ : Submodule R M} {Nβ : Submodule R N} (s : Set (TensorProduct R β₯Mβ β₯Nβ)) (hs : s.Finite) : β M' N', β (hM : M' β€ Mβ) (hN : N' β€ Nβ), Module.Finite R β₯M' β§ Module.Finite R β₯N' β§ s β β(LinearMap.range (TensorProduct.map (Submodule.inclusion hM) (Submodule.inclusion hN))) - TensorProduct.exists_finite_submodule_of_setFinite' π Mathlib.LinearAlgebra.TensorProduct.Finiteness
{R : Type u_1} {M : Type u_2} {N : Type u_3} [CommSemiring R] [AddCommMonoid M] [AddCommMonoid N] [Module R M] [Module R N] {Mβ : Submodule R M} {Nβ : Submodule R N} (s : Set (TensorProduct R β₯Mβ β₯Nβ)) (hs : s.Finite) : β M' N', β (hM : M' β€ Mβ) (hN : N' β€ Nβ), Module.Finite R β₯M' β§ Module.Finite R β₯N' β§ s β β(LinearMap.range (TensorProduct.map (Submodule.inclusion hM) (Submodule.inclusion hN))) - TensorProduct.map_injective_of_flat_flat π Mathlib.RingTheory.Flat.Basic
{R : Type u_1} [CommSemiring R] {M : Type u_2} {N : Type u_3} [AddCommMonoid M] [AddCommMonoid N] [Module R M] [Module R N] {P : Type u_4} {Q : Type u_5} [AddCommMonoid P] [Module R P] [AddCommMonoid Q] [Module R Q] (f : P ββ[R] M) (g : Q ββ[R] N) [Module.Flat R M] [Module.Flat R Q] (hf : Function.Injective βf) (hg : Function.Injective βg) : Function.Injective β(TensorProduct.map f g) - TensorProduct.map_injective_of_flat_flat' π Mathlib.RingTheory.Flat.Basic
{R : Type u_1} [CommSemiring R] {M : Type u_2} {N : Type u_3} [AddCommMonoid M] [AddCommMonoid N] [Module R M] [Module R N] {P : Type u_4} {Q : Type u_5} [AddCommMonoid P] [Module R P] [AddCommMonoid Q] [Module R Q] (f : P ββ[R] M) (g : Q ββ[R] N) [Module.Flat R P] [Module.Flat R N] (hf : Function.Injective βf) (hg : Function.Injective βg) : Function.Injective β(TensorProduct.map f g) - SemimoduleCat.hom_tensorHom π Mathlib.Algebra.Category.ModuleCat.Monoidal.Basic
{R : Type u} [CommSemiring R] {K L M N : SemimoduleCat R} (f : K βΆ L) (g : M βΆ N) : SemimoduleCat.Hom.hom (CategoryTheory.MonoidalCategoryStruct.tensorHom f g) = TensorProduct.map (SemimoduleCat.Hom.hom f) (SemimoduleCat.Hom.hom g) - SemimoduleCat.MonoidalCategory.tensorHom.eq_1 π Mathlib.Algebra.Category.ModuleCat.Monoidal.Basic
{R : Type u} [CommSemiring R] {M N : SemimoduleCat R} {M' N' : SemimoduleCat R} (f : M βΆ N) (g : M' βΆ N') : SemimoduleCat.MonoidalCategory.tensorHom f g = SemimoduleCat.ofHom (TensorProduct.map (SemimoduleCat.Hom.hom f) (SemimoduleCat.Hom.hom g)) - ModuleCat.hom_tensorHom π Mathlib.Algebra.Category.ModuleCat.Monoidal.Basic
{R : Type u} [CommRing R] {K L M N : ModuleCat R} (f : K βΆ L) (g : M βΆ N) : ModuleCat.Hom.hom (CategoryTheory.MonoidalCategoryStruct.tensorHom f g) = TensorProduct.map (ModuleCat.Hom.hom f) (ModuleCat.Hom.hom g) - ModuleCat.MonoidalCategory.tensorHom_def π Mathlib.Algebra.Category.ModuleCat.Monoidal.Basic
{R : Type u} [CommRing R] {Xββ Yββ Xββ Yββ : ModuleCat R} (f : Xββ βΆ Yββ) (g : Xββ βΆ Yββ) : CategoryTheory.MonoidalCategoryStruct.tensorHom f g = ModuleCat.ofHom (TensorProduct.map (ModuleCat.Hom.hom f) (ModuleCat.Hom.hom g)) - Prod.comul_comp_fst π Mathlib.RingTheory.Coalgebra.Basic
(R : Type u) (A : Type v) (B : Type w) [CommSemiring R] [AddCommMonoid A] [AddCommMonoid B] [Module R A] [Module R B] [Coalgebra R A] [Coalgebra R B] : CoalgebraStruct.comul ββ LinearMap.fst R A B = TensorProduct.map (LinearMap.fst R A B) (LinearMap.fst R A B) ββ CoalgebraStruct.comul - Prod.comul_comp_snd π Mathlib.RingTheory.Coalgebra.Basic
(R : Type u) (A : Type v) (B : Type w) [CommSemiring R] [AddCommMonoid A] [AddCommMonoid B] [Module R A] [Module R B] [Coalgebra R A] [Coalgebra R B] : CoalgebraStruct.comul ββ LinearMap.snd R A B = TensorProduct.map (LinearMap.snd R A B) (LinearMap.snd R A B) ββ CoalgebraStruct.comul - Finsupp.comul_comp_lapply π Mathlib.RingTheory.Coalgebra.Basic
(R : Type u) (ΞΉ : Type v) (A : Type w) [CommSemiring R] [AddCommMonoid A] [Module R A] [Coalgebra R A] (i : ΞΉ) : CoalgebraStruct.comul ββ Finsupp.lapply i = TensorProduct.map (Finsupp.lapply i) (Finsupp.lapply i) ββ CoalgebraStruct.comul - Prod.comul_comp_inl π Mathlib.RingTheory.Coalgebra.Basic
(R : Type u) (A : Type v) (B : Type w) [CommSemiring R] [AddCommMonoid A] [AddCommMonoid B] [Module R A] [Module R B] [Coalgebra R A] [Coalgebra R B] : CoalgebraStruct.comul ββ LinearMap.inl R A B = TensorProduct.map (LinearMap.inl R A B) (LinearMap.inl R A B) ββ CoalgebraStruct.comul - Prod.comul_comp_inr π Mathlib.RingTheory.Coalgebra.Basic
(R : Type u) (A : Type v) (B : Type w) [CommSemiring R] [AddCommMonoid A] [AddCommMonoid B] [Module R A] [Module R B] [Coalgebra R A] [Coalgebra R B] : CoalgebraStruct.comul ββ LinearMap.inr R A B = TensorProduct.map (LinearMap.inr R A B) (LinearMap.inr R A B) ββ CoalgebraStruct.comul - DFinsupp.comul_comp_lapply π Mathlib.RingTheory.Coalgebra.Basic
(R : Type u) (ΞΉ : Type v) (A : ΞΉ β Type w) [DecidableEq ΞΉ] [CommSemiring R] [(i : ΞΉ) β AddCommMonoid (A i)] [(i : ΞΉ) β Module R (A i)] [(i : ΞΉ) β Coalgebra R (A i)] (i : ΞΉ) : CoalgebraStruct.comul ββ DFinsupp.lapply i = TensorProduct.map (DFinsupp.lapply i) (DFinsupp.lapply i) ββ CoalgebraStruct.comul - Finsupp.comul_comp_lsingle π Mathlib.RingTheory.Coalgebra.Basic
(R : Type u) (ΞΉ : Type v) (A : Type w) [CommSemiring R] [AddCommMonoid A] [Module R A] [Coalgebra R A] (i : ΞΉ) : CoalgebraStruct.comul ββ Finsupp.lsingle i = TensorProduct.map (Finsupp.lsingle i) (Finsupp.lsingle i) ββ CoalgebraStruct.comul - DFinsupp.comul_comp_lsingle π Mathlib.RingTheory.Coalgebra.Basic
(R : Type u) (ΞΉ : Type v) (A : ΞΉ β Type w) [DecidableEq ΞΉ] [CommSemiring R] [(i : ΞΉ) β AddCommMonoid (A i)] [(i : ΞΉ) β Module R (A i)] [(i : ΞΉ) β Coalgebra R (A i)] (i : ΞΉ) : CoalgebraStruct.comul ββ DFinsupp.lsingle i = TensorProduct.map (DFinsupp.lsingle i) (DFinsupp.lsingle i) ββ CoalgebraStruct.comul - Finsupp.comul_single π Mathlib.RingTheory.Coalgebra.Basic
(R : Type u) (ΞΉ : Type v) (A : Type w) [CommSemiring R] [AddCommMonoid A] [Module R A] [Coalgebra R A] (i : ΞΉ) (a : A) : (CoalgebraStruct.comul funβ | i => a) = (TensorProduct.map (Finsupp.lsingle i) (Finsupp.lsingle i)) (CoalgebraStruct.comul a) - DFinsupp.comul_single π Mathlib.RingTheory.Coalgebra.Basic
(R : Type u) (ΞΉ : Type v) (A : ΞΉ β Type w) [DecidableEq ΞΉ] [CommSemiring R] [(i : ΞΉ) β AddCommMonoid (A i)] [(i : ΞΉ) β Module R (A i)] [(i : ΞΉ) β Coalgebra R (A i)] (i : ΞΉ) (a : A i) : (CoalgebraStruct.comul funβ | i => a) = (TensorProduct.map (DFinsupp.lsingle i) (DFinsupp.lsingle i)) (CoalgebraStruct.comul a) - Prod.comul_apply π Mathlib.RingTheory.Coalgebra.Basic
(R : Type u) (A : Type v) (B : Type w) [CommSemiring R] [AddCommMonoid A] [AddCommMonoid B] [Module R A] [Module R B] [Coalgebra R A] [Coalgebra R B] (r : A Γ B) : CoalgebraStruct.comul r = (TensorProduct.map (LinearMap.inl R A B) (LinearMap.inl R A B)) (CoalgebraStruct.comul r.1) + (TensorProduct.map (LinearMap.inr R A B) (LinearMap.inr R A B)) (CoalgebraStruct.comul r.2) - CoalgHom.map_comp_comul π Mathlib.RingTheory.Coalgebra.Hom
{R : Type u_1} {A : Type u_2} {B : Type u_3} [CommSemiring R] [AddCommMonoid A] [Module R A] [AddCommMonoid B] [Module R B] [CoalgebraStruct R A] [CoalgebraStruct R B] (self : A ββc[R] B) : TensorProduct.map self.toLinearMap self.toLinearMap ββ CoalgebraStruct.comul = CoalgebraStruct.comul ββ self.toLinearMap - CoalgHomClass.map_comp_comul π Mathlib.RingTheory.Coalgebra.Hom
{F : Type u_1} {R : outParam (Type u_2)} {A : outParam (Type u_3)} {B : outParam (Type u_4)} {instβ : CommSemiring R} {instβΒΉ : AddCommMonoid A} {instβΒ² : Module R A} {instβΒ³ : AddCommMonoid B} {instββ΄ : Module R B} {instββ΅ : CoalgebraStruct R A} {instββΆ : CoalgebraStruct R B} {instββ· : FunLike F A B} [self : CoalgHomClass F R A B] (f : F) : TensorProduct.map βf βf ββ CoalgebraStruct.comul = CoalgebraStruct.comul ββ βf - CoalgHom.mk π Mathlib.RingTheory.Coalgebra.Hom
{R : Type u_1} {A : Type u_2} {B : Type u_3} [CommSemiring R] [AddCommMonoid A] [Module R A] [AddCommMonoid B] [Module R B] [CoalgebraStruct R A] [CoalgebraStruct R B] (toLinearMap : A ββ[R] B) (counit_comp : CoalgebraStruct.counit ββ toLinearMap = CoalgebraStruct.counit) (map_comp_comul : TensorProduct.map toLinearMap toLinearMap ββ CoalgebraStruct.comul = CoalgebraStruct.comul ββ toLinearMap) : A ββc[R] B - CoalgHom.coe_mk π Mathlib.RingTheory.Coalgebra.Hom
{R : Type u_1} {A : Type u_2} {B : Type u_3} [CommSemiring R] [AddCommMonoid A] [Module R A] [AddCommMonoid B] [Module R B] [CoalgebraStruct R A] [CoalgebraStruct R B] {f : A ββ[R] B} (h : CoalgebraStruct.counit ββ f = CoalgebraStruct.counit) (hβ : TensorProduct.map f f ββ CoalgebraStruct.comul = CoalgebraStruct.comul ββ f) : β{ toLinearMap := f, counit_comp := h, map_comp_comul := hβ } = βf - CoalgHomClass.map_comp_comul_apply π Mathlib.RingTheory.Coalgebra.Hom
{R : Type u_1} {A : Type u_2} {B : Type u_3} {F : Type u_4} [CommSemiring R] [AddCommMonoid A] [Module R A] [AddCommMonoid B] [Module R B] [CoalgebraStruct R A] [CoalgebraStruct R B] [FunLike F A B] [CoalgHomClass F R A B] (f : F) (x : A) : (TensorProduct.map βf βf) (CoalgebraStruct.comul x) = CoalgebraStruct.comul (f x) - CoalgHomClass.mk π Mathlib.RingTheory.Coalgebra.Hom
{F : Type u_1} {R : outParam (Type u_2)} {A : outParam (Type u_3)} {B : outParam (Type u_4)} [CommSemiring R] [AddCommMonoid A] [Module R A] [AddCommMonoid B] [Module R B] [CoalgebraStruct R A] [CoalgebraStruct R B] [FunLike F A B] [toSemilinearMapClass : SemilinearMapClass F (RingHom.id R) A B] (counit_comp : β (f : F), CoalgebraStruct.counit ββ βf = CoalgebraStruct.counit) (map_comp_comul : β (f : F), TensorProduct.map βf βf ββ CoalgebraStruct.comul = CoalgebraStruct.comul ββ βf) : CoalgHomClass F R A B - CoalgHom.coe_linearMap_mk π Mathlib.RingTheory.Coalgebra.Hom
{R : Type u_1} {A : Type u_2} {B : Type u_3} [CommSemiring R] [AddCommMonoid A] [Module R A] [AddCommMonoid B] [Module R B] [CoalgebraStruct R A] [CoalgebraStruct R B] {f : A ββ[R] B} (h : CoalgebraStruct.counit ββ f = CoalgebraStruct.counit) (hβ : TensorProduct.map f f ββ CoalgebraStruct.comul = CoalgebraStruct.comul ββ f) : β{ toLinearMap := f, counit_comp := h, map_comp_comul := hβ } = f - CoalgHom.coe_mks π Mathlib.RingTheory.Coalgebra.Hom
{R : Type u_1} {A : Type u_2} {B : Type u_3} [CommSemiring R] [AddCommMonoid A] [Module R A] [AddCommMonoid B] [Module R B] [CoalgebraStruct R A] [CoalgebraStruct R B] {f : A β B} (hβ : β (x y : A), f (x + y) = f x + f y) (hβ : β (m : R) (x : A), { toFun := f, map_add' := hβ }.toFun (m β’ x) = (RingHom.id R) m β’ { toFun := f, map_add' := hβ }.toFun x) (hβ : CoalgebraStruct.counit ββ { toFun := f, map_add' := hβ, map_smul' := hβ } = CoalgebraStruct.counit) (hβ : TensorProduct.map { toFun := f, map_add' := hβ, map_smul' := hβ } { toFun := f, map_add' := hβ, map_smul' := hβ } ββ CoalgebraStruct.comul = CoalgebraStruct.comul ββ { toFun := f, map_add' := hβ, map_smul' := hβ }) : β{ toFun := f, map_add' := hβ, map_smul' := hβ, counit_comp := hβ, map_comp_comul := hβ } = f - CoalgHom.mk.injEq π Mathlib.RingTheory.Coalgebra.Hom
{R : Type u_1} {A : Type u_2} {B : Type u_3} [CommSemiring R] [AddCommMonoid A] [Module R A] [AddCommMonoid B] [Module R B] [CoalgebraStruct R A] [CoalgebraStruct R B] (toLinearMap : A ββ[R] B) (counit_comp : CoalgebraStruct.counit ββ toLinearMap = CoalgebraStruct.counit) (map_comp_comul : TensorProduct.map toLinearMap toLinearMap ββ CoalgebraStruct.comul = CoalgebraStruct.comul ββ toLinearMap) (toLinearMapβ : A ββ[R] B) (counit_compβ : CoalgebraStruct.counit ββ toLinearMapβ = CoalgebraStruct.counit) (map_comp_comulβ : TensorProduct.map toLinearMapβ toLinearMapβ ββ CoalgebraStruct.comul = CoalgebraStruct.comul ββ toLinearMapβ) : ({ toLinearMap := toLinearMap, counit_comp := counit_comp, map_comp_comul := map_comp_comul } = { toLinearMap := toLinearMapβ, counit_comp := counit_compβ, map_comp_comul := map_comp_comulβ }) = (toLinearMap = toLinearMapβ) - CoalgHom.mk_coe π Mathlib.RingTheory.Coalgebra.Hom
{R : Type u_1} {A : Type u_2} {B : Type u_3} [CommSemiring R] [AddCommMonoid A] [Module R A] [AddCommMonoid B] [Module R B] [CoalgebraStruct R A] [CoalgebraStruct R B] {f : A ββc[R] B} (hβ : β (x y : A), f (x + y) = f x + f y) (hβ : β (m : R) (x : A), { toFun := βf, map_add' := hβ }.toFun (m β’ x) = (RingHom.id R) m β’ { toFun := βf, map_add' := hβ }.toFun x) (hβ : CoalgebraStruct.counit ββ { toFun := βf, map_add' := hβ, map_smul' := hβ } = CoalgebraStruct.counit) (hβ : TensorProduct.map { toFun := βf, map_add' := hβ, map_smul' := hβ } { toFun := βf, map_add' := hβ, map_smul' := hβ } ββ CoalgebraStruct.comul = CoalgebraStruct.comul ββ { toFun := βf, map_add' := hβ, map_smul' := hβ }) : { toFun := βf, map_add' := hβ, map_smul' := hβ, counit_comp := hβ, map_comp_comul := hβ } = f - CoalgHom.mk.sizeOf_spec π Mathlib.RingTheory.Coalgebra.Hom
{R : Type u_1} {A : Type u_2} {B : Type u_3} [CommSemiring R] [AddCommMonoid A] [Module R A] [AddCommMonoid B] [Module R B] [CoalgebraStruct R A] [CoalgebraStruct R B] [SizeOf R] [SizeOf A] [SizeOf B] (toLinearMap : A ββ[R] B) (counit_comp : CoalgebraStruct.counit ββ toLinearMap = CoalgebraStruct.counit) (map_comp_comul : TensorProduct.map toLinearMap toLinearMap ββ CoalgebraStruct.comul = CoalgebraStruct.comul ββ toLinearMap) : sizeOf { toLinearMap := toLinearMap, counit_comp := counit_comp, map_comp_comul := map_comp_comul } = 1 + sizeOf toLinearMap + sizeOf counit_comp + sizeOf map_comp_comul - TensorProduct.congr.eq_1 π Mathlib.RingTheory.Coalgebra.Equiv
{R : Type u_1} {Rβ : Type u_2} [CommSemiring R] [CommSemiring Rβ] {Οββ : R β+* Rβ} {M : Type u_7} {N : Type u_8} {Mβ : Type u_12} {Nβ : Type u_14} [AddCommMonoid M] [AddCommMonoid N] [AddCommMonoid Mβ] [AddCommMonoid Nβ] [Module R M] [Module R N] [Module Rβ Mβ] [Module Rβ Nβ] {Οββ : Rβ β+* R} [RingHomInvPair Οββ Οββ] [RingHomInvPair Οββ Οββ] (f : M βββ[Οββ] Mβ) (g : N βββ[Οββ] Nβ) : TensorProduct.congr f g = LinearEquiv.ofLinear (TensorProduct.map βf βg) (TensorProduct.map βf.symm βg.symm) β― β― - CoalgEquiv.coe_mk π Mathlib.RingTheory.Coalgebra.Equiv
{R : Type u_1} {A : Type u_2} {B : Type u_3} [CommSemiring R] [AddCommMonoid A] [AddCommMonoid B] [Module R A] [Module R B] [CoalgebraStruct R A] [CoalgebraStruct R B] {f : A β B} {h : β (x y : A), f (x + y) = f x + f y} {hβ : β (m : R) (x : A), { toFun := f, map_add' := h }.toFun (m β’ x) = (RingHom.id R) m β’ { toFun := f, map_add' := h }.toFun x} {hβ : CoalgebraStruct.counit ββ { toFun := f, map_add' := h, map_smul' := hβ } = CoalgebraStruct.counit} {hβ : TensorProduct.map { toFun := f, map_add' := h, map_smul' := hβ } { toFun := f, map_add' := h, map_smul' := hβ } ββ CoalgebraStruct.comul = CoalgebraStruct.comul ββ { toFun := f, map_add' := h, map_smul' := hβ }} {hβ : B β A} {hβ : Function.LeftInverse hβ { toFun := f, map_add' := h, map_smul' := hβ, counit_comp := hβ, map_comp_comul := hβ }.toFun} {hβ : Function.RightInverse hβ { toFun := f, map_add' := h, map_smul' := hβ, counit_comp := hβ, map_comp_comul := hβ }.toFun} : β{ toFun := f, map_add' := h, map_smul' := hβ, counit_comp := hβ, map_comp_comul := hβ, invFun := hβ, left_inv := hβ, right_inv := hβ } = f - BialgHom.coe_mks π Mathlib.RingTheory.Bialgebra.Hom
{R : Type u_1} {A : Type u_2} {B : Type u_3} [CommSemiring R] [Semiring A] [Semiring B] [Algebra R A] [Algebra R B] [CoalgebraStruct R A] [CoalgebraStruct R B] {f : A β B} (hβ : β (x y : A), f (x + y) = f x + f y) (hβ : β (m : R) (x : A), { toFun := f, map_add' := hβ }.toFun (m β’ x) = (RingHom.id R) m β’ { toFun := f, map_add' := hβ }.toFun x) (hβ : CoalgebraStruct.counit ββ { toFun := f, map_add' := hβ, map_smul' := hβ } = CoalgebraStruct.counit) (hβ : TensorProduct.map { toFun := f, map_add' := hβ, map_smul' := hβ } { toFun := f, map_add' := hβ, map_smul' := hβ } ββ CoalgebraStruct.comul = CoalgebraStruct.comul ββ { toFun := f, map_add' := hβ, map_smul' := hβ }) (hβ : { toFun := f, map_add' := hβ, map_smul' := hβ, counit_comp := hβ, map_comp_comul := hβ }.toFun 1 = 1) (hβ : β (x y : A), { toFun := f, map_add' := hβ, map_smul' := hβ, counit_comp := hβ, map_comp_comul := hβ }.toFun (x * y) = { toFun := f, map_add' := hβ, map_smul' := hβ, counit_comp := hβ, map_comp_comul := hβ }.toFun x * { toFun := f, map_add' := hβ, map_smul' := hβ, counit_comp := hβ, map_comp_comul := hβ }.toFun y) : β{ toFun := f, map_add' := hβ, map_smul' := hβ, counit_comp := hβ, map_comp_comul := hβ, map_one' := hβ, map_mul' := hβ } = f - BialgHom.mk_coe π Mathlib.RingTheory.Bialgebra.Hom
{R : Type u_1} {A : Type u_2} {B : Type u_3} [CommSemiring R] [Semiring A] [Semiring B] [Algebra R A] [Algebra R B] [CoalgebraStruct R A] [CoalgebraStruct R B] {f : A ββc[R] B} (hβ : β (x y : A), f (x + y) = f x + f y) (hβ : β (m : R) (x : A), { toFun := βf, map_add' := hβ }.toFun (m β’ x) = (RingHom.id R) m β’ { toFun := βf, map_add' := hβ }.toFun x) (hβ : CoalgebraStruct.counit ββ { toFun := βf, map_add' := hβ, map_smul' := hβ } = CoalgebraStruct.counit) (hβ : TensorProduct.map { toFun := βf, map_add' := hβ, map_smul' := hβ } { toFun := βf, map_add' := hβ, map_smul' := hβ } ββ CoalgebraStruct.comul = CoalgebraStruct.comul ββ { toFun := βf, map_add' := hβ, map_smul' := hβ }) (hβ : { toFun := βf, map_add' := hβ, map_smul' := hβ, counit_comp := hβ, map_comp_comul := hβ }.toFun 1 = 1) (hβ : β (x y : A), { toFun := βf, map_add' := hβ, map_smul' := hβ, counit_comp := hβ, map_comp_comul := hβ }.toFun (x * y) = { toFun := βf, map_add' := hβ, map_smul' := hβ, counit_comp := hβ, map_comp_comul := hβ }.toFun x * { toFun := βf, map_add' := hβ, map_smul' := hβ, counit_comp := hβ, map_comp_comul := hβ }.toFun y) : { toFun := βf, map_add' := hβ, map_smul' := hβ, counit_comp := hβ, map_comp_comul := hβ, map_one' := hβ, map_mul' := hβ } = f - CoalgCat.MonoidalCategoryAux.tensorHom_toLinearMap π Mathlib.Algebra.Category.CoalgCat.ComonEquivalence
{R : Type u} [CommRing R] {M N P Q : Type u} [AddCommGroup M] [AddCommGroup N] [AddCommGroup P] [AddCommGroup Q] [Module R M] [Module R N] [Module R P] [Module R Q] [Coalgebra R M] [Coalgebra R N] [Coalgebra R P] [Coalgebra R Q] (f : M ββc[R] N) (g : P ββc[R] Q) : (CategoryTheory.MonoidalCategoryStruct.tensorHom (CoalgCat.ofHom f) (CoalgCat.ofHom g)).toCoalgHom'.toLinearMap = TensorProduct.map f.toLinearMap g.toLinearMap - CoalgCat.MonoidalCategoryAux.tensorObj_comul π Mathlib.Algebra.Category.CoalgCat.ComonEquivalence
{R : Type u} [CommRing R] (K L : CoalgCat R) : CoalgebraStruct.comul = β(TensorProduct.tensorTensorTensorComm R βK.toModuleCat βK.toModuleCat βL.toModuleCat βL.toModuleCat) ββ TensorProduct.map CoalgebraStruct.comul CoalgebraStruct.comul - IsLocalization.instIsLocalizedModuleTensorProductMap π Mathlib.RingTheory.Localization.BaseChange
{R : Type u_1} [CommSemiring R] (S : Submonoid R) {M : Type u_3} [AddCommMonoid M] [Module R M] {M' : Type u_4} [AddCommMonoid M'] [Module R M'] (f : M ββ[R] M') (N : Type u_5) (N' : Type u_6) [AddCommMonoid N] [Module R N] [AddCommMonoid N'] [Module R N'] (g : N ββ[R] N') [IsLocalizedModule S f] [IsLocalizedModule S g] : IsLocalizedModule S (TensorProduct.map f g) - map_dualTensorHom π Mathlib.LinearAlgebra.Contraction
{R : Type u_2} {M : Type u_3} {N : Type u_4} {P : Type u_5} {Q : Type u_6} [CommSemiring R] [AddCommMonoid M] [AddCommMonoid N] [AddCommMonoid P] [AddCommMonoid Q] [Module R M] [Module R N] [Module R P] [Module R Q] (f : Module.Dual R M) (p : P) (g : Module.Dual R N) (q : Q) : TensorProduct.map ((dualTensorHom R M P) (f ββ[R] p)) ((dualTensorHom R N Q) (g ββ[R] q)) = (dualTensorHom R (TensorProduct R M N) (TensorProduct R P Q)) ((TensorProduct.dualDistrib R M N) (f ββ[R] g) ββ[R] (p ββ[R] q)) - TensorProduct.quotientTensorEquiv π Mathlib.LinearAlgebra.TensorProduct.Quotient
{R : Type u_1} {M : Type u_2} (N : Type u_3) [CommRing R] [AddCommGroup M] [Module R M] [AddCommGroup N] [Module R N] (m : Submodule R M) : TensorProduct R (M β§Έ m) N ββ[R] TensorProduct R M N β§Έ LinearMap.range (TensorProduct.map m.subtype LinearMap.id) - TensorProduct.tensorQuotientEquiv π Mathlib.LinearAlgebra.TensorProduct.Quotient
{R : Type u_1} (M : Type u_2) {N : Type u_3} [CommRing R] [AddCommGroup M] [Module R M] [AddCommGroup N] [Module R N] (n : Submodule R N) : TensorProduct R M (N β§Έ n) ββ[R] TensorProduct R M N β§Έ LinearMap.range (TensorProduct.map LinearMap.id n.subtype) - TensorProduct.quotientTensorQuotientEquiv π Mathlib.LinearAlgebra.TensorProduct.Quotient
{R : Type u_1} {M : Type u_2} {N : Type u_3} [CommRing R] [AddCommGroup M] [Module R M] [AddCommGroup N] [Module R N] (m : Submodule R M) (n : Submodule R N) : TensorProduct R (M β§Έ m) (N β§Έ n) ββ[R] TensorProduct R M N β§Έ LinearMap.range (TensorProduct.map m.subtype LinearMap.id) β LinearMap.range (TensorProduct.map LinearMap.id n.subtype) - TensorProduct.quotientTensorEquiv_apply_tmul_mk π Mathlib.LinearAlgebra.TensorProduct.Quotient
{R : Type u_1} {M : Type u_2} {N : Type u_3} [CommRing R] [AddCommGroup M] [Module R M] [AddCommGroup N] [Module R N] (m : Submodule R M) (x : M) (y : N) : (TensorProduct.quotientTensorEquiv N m) (Submodule.Quotient.mk x ββ[R] y) = Submodule.Quotient.mk (x ββ[R] y) - TensorProduct.tensorQuotientEquiv_apply_mk_tmul π Mathlib.LinearAlgebra.TensorProduct.Quotient
{R : Type u_1} {M : Type u_2} {N : Type u_3} [CommRing R] [AddCommGroup M] [Module R M] [AddCommGroup N] [Module R N] (n : Submodule R N) (x : M) (y : N) : (TensorProduct.tensorQuotientEquiv M n) (x ββ[R] Submodule.Quotient.mk y) = Submodule.Quotient.mk (x ββ[R] y) - TensorProduct.quotientTensorEquiv_symm_apply_mk_tmul π Mathlib.LinearAlgebra.TensorProduct.Quotient
{R : Type u_1} {M : Type u_2} {N : Type u_3} [CommRing R] [AddCommGroup M] [Module R M] [AddCommGroup N] [Module R N] (m : Submodule R M) (x : M) (y : N) : (TensorProduct.quotientTensorEquiv N m).symm (Submodule.Quotient.mk (x ββ[R] y)) = Submodule.Quotient.mk x ββ[R] y - TensorProduct.tensorQuotientEquiv_symm_apply_tmul_mk π Mathlib.LinearAlgebra.TensorProduct.Quotient
{R : Type u_1} {M : Type u_2} {N : Type u_3} [CommRing R] [AddCommGroup M] [Module R M] [AddCommGroup N] [Module R N] (n : Submodule R N) (x : M) (y : N) : (TensorProduct.tensorQuotientEquiv M n).symm (Submodule.Quotient.mk (x ββ[R] y)) = x ββ[R] Submodule.Quotient.mk y - TensorProduct.quotientTensorQuotientEquiv_apply_tmul_mk_tmul_mk π Mathlib.LinearAlgebra.TensorProduct.Quotient
{R : Type u_1} {M : Type u_2} {N : Type u_3} [CommRing R] [AddCommGroup M] [Module R M] [AddCommGroup N] [Module R N] (m : Submodule R M) (n : Submodule R N) (x : M) (y : N) : (TensorProduct.quotientTensorQuotientEquiv m n) (Submodule.Quotient.mk x ββ[R] Submodule.Quotient.mk y) = Submodule.Quotient.mk (x ββ[R] y) - TensorProduct.quotientTensorQuotientEquiv_symm_apply_mk_tmul π Mathlib.LinearAlgebra.TensorProduct.Quotient
{R : Type u_1} {M : Type u_2} {N : Type u_3} [CommRing R] [AddCommGroup M] [Module R M] [AddCommGroup N] [Module R N] (m : Submodule R M) (n : Submodule R N) (x : M) (y : N) : (TensorProduct.quotientTensorQuotientEquiv m n).symm (Submodule.Quotient.mk (x ββ[R] y)) = Submodule.Quotient.mk x ββ[R] Submodule.Quotient.mk y - LinearMap.trace_tensorProduct' π Mathlib.LinearAlgebra.Trace
{R : Type u_1} [CommRing R] {M : Type u_2} [AddCommGroup M] [Module R M] {N : Type u_3} [AddCommGroup N] [Module R N] [Module.Free R M] [Module.Finite R M] [Module.Free R N] [Module.Finite R N] (f : M ββ[R] M) (g : N ββ[R] N) : (LinearMap.trace R (TensorProduct R M N)) (TensorProduct.map f g) = (LinearMap.trace R M) f * (LinearMap.trace R N) g - TensorProduct.LieModule.toLinearMap_map π Mathlib.Algebra.Lie.TensorProduct
{R : Type u} [CommRing R] {L : Type v} {M : Type w} {N : Type wβ} {P : Type wβ} {Q : Type wβ} [LieRing L] [LieAlgebra R L] [AddCommGroup M] [Module R M] [LieRingModule L M] [LieModule R L M] [AddCommGroup N] [Module R N] [LieRingModule L N] [LieModule R L N] [AddCommGroup P] [Module R P] [LieRingModule L P] [LieModule R L P] [AddCommGroup Q] [Module R Q] [LieRingModule L Q] [LieModule R L Q] (f : M βββ R,Lβ P) (g : N βββ R,Lβ Q) : β(TensorProduct.LieModule.map f g) = TensorProduct.map βf βg - Representation.tprod_apply π Mathlib.RepresentationTheory.Basic
{k : Type u_1} {G : Type u_2} {V : Type u_3} {W : Type u_4} [CommSemiring k] [Monoid G] [AddCommMonoid V] [Module k V] [AddCommMonoid W] [Module k W] (ΟV : Representation k G V) (ΟW : Representation k G W) (g : G) : (ΟV.tprod ΟW) g = TensorProduct.map (ΟV g) (ΟW g) - Representation.dualTensorHom_comm π Mathlib.RepresentationTheory.Basic
{k : Type u_1} {G : Type u_2} {V : Type u_3} {W : Type u_4} [CommSemiring k] [Group G] [AddCommMonoid V] [Module k V] [AddCommMonoid W] [Module k W] (ΟV : Representation k G V) (ΟW : Representation k G W) (g : G) : dualTensorHom k V W ββ TensorProduct.map (ΟV.dual g) (ΟW g) = (ΟV.linHom ΟW) g ββ dualTensorHom k V W - TensorProduct.intrinsicStar_map π Mathlib.Algebra.Star.LinearMap
{R : Type u_5} {E : Type u_6} {F : Type u_7} {G : Type u_8} {H : Type u_9} [CommSemiring R] [StarRing R] [AddCommMonoid E] [StarAddMonoid E] [Module R E] [StarModule R E] [AddCommMonoid F] [StarAddMonoid F] [Module R F] [StarModule R F] [AddCommMonoid G] [StarAddMonoid G] [Module R G] [StarModule R G] [AddCommMonoid H] [StarAddMonoid H] [Module R H] [StarModule R H] (f : E ββ[R] F) (g : G ββ[R] H) : star (TensorProduct.map f g) = TensorProduct.map (star f) (star g) - TensorProduct.norm_map π Mathlib.Analysis.InnerProductSpace.TensorProduct
{π : Type u_1} {E : Type u_2} {F : Type u_3} {G : Type u_4} {H : Type u_5} [RCLike π] [NormedAddCommGroup E] [InnerProductSpace π E] [NormedAddCommGroup F] [InnerProductSpace π F] [NormedAddCommGroup G] [InnerProductSpace π G] [NormedAddCommGroup H] [InnerProductSpace π H] (f : E ββα΅’[π] G) (g : F ββα΅’[π] H) (x : TensorProduct π E F) : β(TensorProduct.map f.toLinearMap g.toLinearMap) xβ = βxβ - TensorProduct.toLinearMap_mapIsometry π Mathlib.Analysis.InnerProductSpace.TensorProduct
{π : Type u_1} {E : Type u_2} {F : Type u_3} {G : Type u_4} {H : Type u_5} [RCLike π] [NormedAddCommGroup E] [InnerProductSpace π E] [NormedAddCommGroup F] [InnerProductSpace π F] [NormedAddCommGroup G] [InnerProductSpace π G] [NormedAddCommGroup H] [InnerProductSpace π H] (f : E ββα΅’[π] G) (g : F ββα΅’[π] H) : (TensorProduct.mapIsometry f g).toLinearMap = TensorProduct.map f.toLinearMap g.toLinearMap - TensorProduct.nnnorm_map π Mathlib.Analysis.InnerProductSpace.TensorProduct
{π : Type u_1} {E : Type u_2} {F : Type u_3} {G : Type u_4} {H : Type u_5} [RCLike π] [NormedAddCommGroup E] [InnerProductSpace π E] [NormedAddCommGroup F] [InnerProductSpace π F] [NormedAddCommGroup G] [InnerProductSpace π G] [NormedAddCommGroup H] [InnerProductSpace π H] (f : E ββα΅’[π] G) (g : F ββα΅’[π] H) (x : TensorProduct π E F) : β(TensorProduct.map f.toLinearMap g.toLinearMap) xββ = βxββ - TensorProduct.inner_map_map π Mathlib.Analysis.InnerProductSpace.TensorProduct
{π : Type u_1} {E : Type u_2} {F : Type u_3} {G : Type u_4} {H : Type u_5} [RCLike π] [NormedAddCommGroup E] [InnerProductSpace π E] [NormedAddCommGroup F] [InnerProductSpace π F] [NormedAddCommGroup G] [InnerProductSpace π G] [NormedAddCommGroup H] [InnerProductSpace π H] (f : E ββα΅’[π] G) (g : F ββα΅’[π] H) (x y : TensorProduct π E F) : inner π ((TensorProduct.map f.toLinearMap g.toLinearMap) x) ((TensorProduct.map f.toLinearMap g.toLinearMap) y) = inner π x y - TensorProduct.enorm_map π Mathlib.Analysis.InnerProductSpace.TensorProduct
{π : Type u_1} {E : Type u_2} {F : Type u_3} {G : Type u_4} {H : Type u_5} [RCLike π] [NormedAddCommGroup E] [InnerProductSpace π E] [NormedAddCommGroup F] [InnerProductSpace π F] [NormedAddCommGroup G] [InnerProductSpace π G] [NormedAddCommGroup H] [InnerProductSpace π H] (f : E ββα΅’[π] G) (g : F ββα΅’[π] H) (x : TensorProduct π E F) : β(TensorProduct.map f.toLinearMap g.toLinearMap) xββ = βxββ - TensorProduct.mapIsometry_apply π Mathlib.Analysis.InnerProductSpace.TensorProduct
{π : Type u_1} {E : Type u_2} {F : Type u_3} {G : Type u_4} {H : Type u_5} [RCLike π] [NormedAddCommGroup E] [InnerProductSpace π E] [NormedAddCommGroup F] [InnerProductSpace π F] [NormedAddCommGroup G] [InnerProductSpace π G] [NormedAddCommGroup H] [InnerProductSpace π H] (f : E ββα΅’[π] G) (g : F ββα΅’[π] H) (x : TensorProduct π E F) : (TensorProduct.mapIsometry f g) x = (TensorProduct.map f.toLinearMap g.toLinearMap) x - TensorProduct.adjoint_map π Mathlib.Analysis.InnerProductSpace.TensorProduct
{π : Type u_1} {E : Type u_2} {F : Type u_3} {G : Type u_4} {H : Type u_5} [RCLike π] [NormedAddCommGroup E] [InnerProductSpace π E] [NormedAddCommGroup F] [InnerProductSpace π F] [NormedAddCommGroup G] [InnerProductSpace π G] [NormedAddCommGroup H] [InnerProductSpace π H] [FiniteDimensional π E] [FiniteDimensional π F] [FiniteDimensional π G] [FiniteDimensional π H] (f : E ββ[π] F) (g : G ββ[π] H) : LinearMap.adjoint (TensorProduct.map f g) = TensorProduct.map (LinearMap.adjoint f) (LinearMap.adjoint g) - Submodule.mulMap_comp_map_inclusion π Mathlib.LinearAlgebra.TensorProduct.Submodule
{R : Type u} {S : Type v} [CommSemiring R] [Semiring S] [Algebra R S] {M N M' N' : Submodule R S} (hM : M' β€ M) (hN : N' β€ N) : M.mulMap N ββ TensorProduct.map (Submodule.inclusion hM) (Submodule.inclusion hN) = M'.mulMap N' - Submodule.mulMap_map_comp_eq π Mathlib.LinearAlgebra.TensorProduct.Submodule
{R : Type u} {S : Type v} [CommSemiring R] [Semiring S] [Algebra R S] (M N : Submodule R S) {T : Type w} [Semiring T] [Algebra R T] {F : Type u_1} [FunLike F S T] [AlgHomClass F R S T] (f : F) : (Submodule.map f M).mulMap (Submodule.map f N) ββ TensorProduct.map ((βf).submoduleMap M) ((βf).submoduleMap N) = βf ββ M.mulMap N - Algebra.TensorProduct.linearEquivIncludeRange_toLinearMap π Mathlib.LinearAlgebra.TensorProduct.Subalgebra
(R : Type u_1) (S : Type u_2) (T : Type u_3) [CommSemiring R] [Semiring S] [Algebra R S] [Semiring T] [Algebra R T] : β(Algebra.TensorProduct.linearEquivIncludeRange R S T) = TensorProduct.map Algebra.TensorProduct.includeLeft.toLinearMap.rangeRestrict Algebra.TensorProduct.includeRight.toLinearMap.rangeRestrict - Algebra.TensorProduct.opAlgEquiv_apply π Mathlib.LinearAlgebra.TensorProduct.Opposite
(R : Type u_1) (S : Type u_2) (A : Type u_3) (B : Type u_4) [CommSemiring R] [CommSemiring S] [Semiring A] [Semiring B] [Algebra R S] [Algebra R A] [Algebra R B] [Algebra S A] [IsScalarTower R S A] (x : TensorProduct R Aα΅α΅α΅ Bα΅α΅α΅) : (Algebra.TensorProduct.opAlgEquiv R S A B) x = MulOpposite.op ((TensorProduct.map β(MulOpposite.opLinearEquiv R).symm β(MulOpposite.opLinearEquiv R).symm) x) - Algebra.TensorProduct.opAlgEquiv_symm_apply π Mathlib.LinearAlgebra.TensorProduct.Opposite
(R : Type u_1) (S : Type u_2) (A : Type u_3) (B : Type u_4) [CommSemiring R] [CommSemiring S] [Semiring A] [Semiring B] [Algebra R S] [Algebra R A] [Algebra R B] [Algebra S A] [IsScalarTower R S A] (x : (TensorProduct R A B)α΅α΅α΅) : (Algebra.TensorProduct.opAlgEquiv R S A B).symm x = (TensorProduct.map β(MulOpposite.opLinearEquiv R) β(MulOpposite.opLinearEquiv R)) (MulOpposite.unop x) - CliffordAlgebra.toBaseChange_involute π Mathlib.LinearAlgebra.CliffordAlgebra.BaseChange
{R : Type u_1} (A : Type u_2) {V : Type u_3} [CommRing R] [CommRing A] [AddCommGroup V] [Algebra R A] [Module R V] [Invertible 2] (Q : QuadraticForm R V) (x : CliffordAlgebra (QuadraticForm.baseChange A Q)) : (CliffordAlgebra.toBaseChange A Q) (CliffordAlgebra.involute x) = (TensorProduct.map LinearMap.id CliffordAlgebra.involute.toLinearMap) ((CliffordAlgebra.toBaseChange A Q) x) - CliffordAlgebra.toBaseChange_reverse π Mathlib.LinearAlgebra.CliffordAlgebra.BaseChange
{R : Type u_1} (A : Type u_2) {V : Type u_3} [CommRing R] [CommRing A] [AddCommGroup V] [Algebra R A] [Module R V] [Invertible 2] (Q : QuadraticForm R V) (x : CliffordAlgebra (QuadraticForm.baseChange A Q)) : (CliffordAlgebra.toBaseChange A Q) (CliffordAlgebra.reverse x) = (TensorProduct.map LinearMap.id CliffordAlgebra.reverse) ((CliffordAlgebra.toBaseChange A Q) x) - TensorProduct.gradedMul_def π Mathlib.LinearAlgebra.TensorProduct.Graded.External
(R : Type u_5) {ΞΉ : Type u_6} [CommSemiring ΞΉ] [Module ΞΉ (Additive β€Λ£)] [DecidableEq ΞΉ] (π : ΞΉ β Type u_7) (β¬ : ΞΉ β Type u_8) [CommRing R] [(i : ΞΉ) β AddCommGroup (π i)] [(i : ΞΉ) β AddCommGroup (β¬ i)] [(i : ΞΉ) β Module R (π i)] [(i : ΞΉ) β Module R (β¬ i)] [DirectSum.GRing π] [DirectSum.GRing β¬] [DirectSum.GAlgebra R π] [DirectSum.GAlgebra R β¬] : TensorProduct.gradedMul R π β¬ = TensorProduct.curry (TensorProduct.map (LinearMap.mul' R (DirectSum ΞΉ fun i => π i)) (LinearMap.mul' R (DirectSum ΞΉ fun i => β¬ i)) ββ β(TensorProduct.assoc R (DirectSum ΞΉ fun i => π i) (DirectSum ΞΉ fun i => π i) (TensorProduct R (DirectSum ΞΉ fun i => β¬ i) (DirectSum ΞΉ fun i => β¬ i))).symm ββ LinearMap.lTensor (DirectSum ΞΉ fun i => π i) (β(TensorProduct.assoc R (DirectSum ΞΉ fun i => π i) (DirectSum ΞΉ fun i => β¬ i) (DirectSum ΞΉ fun i => β¬ i)) ββ LinearMap.rTensor (DirectSum ΞΉ fun i => β¬ i) β(TensorProduct.gradedComm R β¬ π) ββ β(TensorProduct.assoc R (DirectSum ΞΉ β¬) (DirectSum ΞΉ π) (DirectSum ΞΉ β¬)).symm) ββ β(TensorProduct.assoc R (DirectSum ΞΉ π) (DirectSum ΞΉ β¬) (TensorProduct R (DirectSum ΞΉ π) (DirectSum ΞΉ β¬)))) - QuadraticForm.tmul_comp_tensorMap π Mathlib.LinearAlgebra.QuadraticForm.TensorProduct.Isometries
{R : Type uR} {Mβ : Type uMβ} {Mβ : Type uMβ} {Mβ : Type uMβ} {Mβ : Type uMβ} [CommRing R] [AddCommGroup Mβ] [AddCommGroup Mβ] [AddCommGroup Mβ] [AddCommGroup Mβ] [Module R Mβ] [Module R Mβ] [Module R Mβ] [Module R Mβ] [Invertible 2] {Qβ : QuadraticForm R Mβ} {Qβ : QuadraticForm R Mβ} {Qβ : QuadraticForm R Mβ} {Qβ : QuadraticForm R Mβ} (f : Qβ βqα΅’ Qβ) (g : Qβ βqα΅’ Qβ) : QuadraticMap.comp (Qβ.tmul Qβ) (TensorProduct.map f.toLinearMap g.toLinearMap) = Qβ.tmul Qβ - QuadraticForm.tmul_tensorMap_apply π Mathlib.LinearAlgebra.QuadraticForm.TensorProduct.Isometries
{R : Type uR} {Mβ : Type uMβ} {Mβ : Type uMβ} {Mβ : Type uMβ} {Mβ : Type uMβ} [CommRing R] [AddCommGroup Mβ] [AddCommGroup Mβ] [AddCommGroup Mβ] [AddCommGroup Mβ] [Module R Mβ] [Module R Mβ] [Module R Mβ] [Module R Mβ] [Invertible 2] {Qβ : QuadraticForm R Mβ} {Qβ : QuadraticForm R Mβ} {Qβ : QuadraticForm R Mβ} {Qβ : QuadraticForm R Mβ} (f : Qβ βqα΅’ Qβ) (g : Qβ βqα΅’ Qβ) (x : TensorProduct R Mβ Mβ) : (Qβ.tmul Qβ) ((TensorProduct.map f.toLinearMap g.toLinearMap) x) = (Qβ.tmul Qβ) x - QuadraticMap.Isometry.tmul_apply π Mathlib.LinearAlgebra.QuadraticForm.TensorProduct.Isometries
{R : Type uR} {Mβ : Type uMβ} {Mβ : Type uMβ} {Mβ : Type uMβ} {Mβ : Type uMβ} [CommRing R] [AddCommGroup Mβ] [AddCommGroup Mβ] [AddCommGroup Mβ] [AddCommGroup Mβ] [Module R Mβ] [Module R Mβ] [Module R Mβ] [Module R Mβ] [Invertible 2] {Qβ : QuadraticForm R Mβ} {Qβ : QuadraticForm R Mβ} {Qβ : QuadraticForm R Mβ} {Qβ : QuadraticForm R Mβ} (f : Qβ βqα΅’ Qβ) (g : Qβ βqα΅’ Qβ) (x : TensorProduct R Mβ Mβ) : (f.tmul g) x = (TensorProduct.map f.toLinearMap g.toLinearMap) x - Matrix.toLin_kronecker π Mathlib.LinearAlgebra.TensorProduct.Matrix
{R : Type u_1} {M : Type u_2} {N : Type u_3} {M' : Type u_5} {N' : Type u_6} {ΞΉ : Type u_7} {ΞΊ : Type u_8} {ΞΉ' : Type u_10} {ΞΊ' : Type u_11} [DecidableEq ΞΉ] [DecidableEq ΞΊ] [Fintype ΞΉ] [Fintype ΞΊ] [Finite ΞΉ'] [Finite ΞΊ'] [CommRing R] [AddCommGroup M] [AddCommGroup N] [AddCommGroup M'] [AddCommGroup N'] [Module R M] [Module R N] [Module R M'] [Module R N'] (bM : Module.Basis ΞΉ R M) (bN : Module.Basis ΞΊ R N) (bM' : Module.Basis ΞΉ' R M') (bN' : Module.Basis ΞΊ' R N') (A : Matrix ΞΉ' ΞΉ R) (B : Matrix ΞΊ' ΞΊ R) : (Matrix.toLin (bM.tensorProduct bN) (bM'.tensorProduct bN')) (Matrix.kroneckerMap (fun x1 x2 => x1 * x2) A B) = TensorProduct.map ((Matrix.toLin bM bM') A) ((Matrix.toLin bN bN') B) - TensorProduct.toMatrix_map π Mathlib.LinearAlgebra.TensorProduct.Matrix
{R : Type u_1} {M : Type u_2} {N : Type u_3} {M' : Type u_5} {N' : Type u_6} {ΞΉ : Type u_7} {ΞΊ : Type u_8} {ΞΉ' : Type u_10} {ΞΊ' : Type u_11} [DecidableEq ΞΉ] [DecidableEq ΞΊ] [Fintype ΞΉ] [Fintype ΞΊ] [Finite ΞΉ'] [Finite ΞΊ'] [CommRing R] [AddCommGroup M] [AddCommGroup N] [AddCommGroup M'] [AddCommGroup N'] [Module R M] [Module R N] [Module R M'] [Module R N'] (bM : Module.Basis ΞΉ R M) (bN : Module.Basis ΞΊ R N) (bM' : Module.Basis ΞΉ' R M') (bN' : Module.Basis ΞΊ' R N') (f : M ββ[R] M') (g : N ββ[R] N') : (LinearMap.toMatrix (bM.tensorProduct bN) (bM'.tensorProduct bN')) (TensorProduct.map f g) = Matrix.kroneckerMap (fun x1 x2 => x1 * x2) ((LinearMap.toMatrix bM bM') f) ((LinearMap.toMatrix bN bN') g) - TensorProduct.map_injective_of_flat_flat_of_isDomain π Mathlib.RingTheory.Flat.Domain
{R : Type u_1} {M : Type u_2} {N : Type u_3} [CommRing R] [IsDomain R] [AddCommGroup M] [Module R M] [AddCommGroup N] [Module R N] {P : Type u_4} {Q : Type u_5} [AddCommGroup P] [Module R P] [AddCommGroup Q] [Module R Q] (f : P ββ[R] M) (g : Q ββ[R] N) [H : Module.Flat R P] [Module.Flat R Q] (hf : Function.Injective βf) (hg : Function.Injective βg) : Function.Injective β(TensorProduct.map f g) - AddMonoidAlgebra.comul_single π Mathlib.RingTheory.Coalgebra.MonoidAlgebra
{R : Type u_1} [CommSemiring R] {A : Type u_2} [Semiring A] {X : Type u_3} [Module R A] [Coalgebra R A] (x : X) (a : A) : CoalgebraStruct.comul (AddMonoidAlgebra.single x a) = (TensorProduct.map (AddMonoidAlgebra.lsingle x) (AddMonoidAlgebra.lsingle x)) (CoalgebraStruct.comul a) - MonoidAlgebra.comul_single π Mathlib.RingTheory.Coalgebra.MonoidAlgebra
{R : Type u_1} [CommSemiring R] {A : Type u_2} [Semiring A] {X : Type u_3} [Module R A] [Coalgebra R A] (x : X) (a : A) : CoalgebraStruct.comul (MonoidAlgebra.single x a) = (TensorProduct.map (MonoidAlgebra.lsingle x) (MonoidAlgebra.lsingle x)) (CoalgebraStruct.comul a) - LaurentPolynomial.comul_C π Mathlib.RingTheory.Coalgebra.MonoidAlgebra
{R : Type u_1} {A : Type u_2} [CommSemiring R] [Semiring A] [Module R A] [Coalgebra R A] (a : A) : CoalgebraStruct.comul (LaurentPolynomial.C a) = (TensorProduct.map (AddMonoidAlgebra.lsingle 0) (AddMonoidAlgebra.lsingle 0)) (CoalgebraStruct.comul a) - LaurentPolynomial.comul_C_mul_T π Mathlib.RingTheory.Coalgebra.MonoidAlgebra
{R : Type u_1} {A : Type u_2} [CommSemiring R] [Semiring A] [Module R A] [Coalgebra R A] (a : A) (n : β€) : CoalgebraStruct.comul (LaurentPolynomial.C a * LaurentPolynomial.T n) = (TensorProduct.map (AddMonoidAlgebra.lsingle n) (AddMonoidAlgebra.lsingle n)) (CoalgebraStruct.comul a) - LinearMap.convMul_def π Mathlib.RingTheory.Coalgebra.Convolution
{R : Type u_1} {A : Type u_2} {C : Type u_4} [CommSemiring R] [NonUnitalNonAssocSemiring A] [Module R A] [SMulCommClass R A A] [IsScalarTower R A A] [AddCommMonoid C] [Module R C] [CoalgebraStruct R C] (f g : C ββ[R] A) : f * g = LinearMap.mul' R A ββ TensorProduct.map f g ββ CoalgebraStruct.comul - LinearMap.convMul_apply π Mathlib.RingTheory.Coalgebra.Convolution
{R : Type u_1} {A : Type u_2} {C : Type u_4} [CommSemiring R] [NonUnitalNonAssocSemiring A] [Module R A] [SMulCommClass R A A] [IsScalarTower R A A] [AddCommMonoid C] [Module R C] [CoalgebraStruct R C] (f g : C ββ[R] A) (c : C) : (f * g) c = (LinearMap.mul' R A) ((TensorProduct.map f g) (CoalgebraStruct.comul c)) - TensorProduct.map_convMul_map π Mathlib.RingTheory.Coalgebra.Convolution
{R : Type u_1} {A : Type u_2} {B : Type u_3} {C : Type u_4} [CommSemiring R] [NonUnitalNonAssocSemiring A] [Module R A] [SMulCommClass R A A] [IsScalarTower R A A] [AddCommMonoid C] [Module R C] [CoalgebraStruct R C] {D : Type u_5} [AddCommMonoid B] [Module R B] [CoalgebraStruct R B] [NonUnitalNonAssocSemiring D] [Module R D] [SMulCommClass R D D] [IsScalarTower R D D] {f h : C ββ[R] A} {g k : B ββ[R] D} : TensorProduct.map f g * TensorProduct.map h k = TensorProduct.map (f * h) (g * k) - MulOpposite.comul_def π Mathlib.RingTheory.Coalgebra.MulOpposite
{R : Type u_1} {A : Type u_2} [CommSemiring R] [AddCommMonoid A] [Module R A] [CoalgebraStruct R A] : CoalgebraStruct.comul = TensorProduct.map β(MulOpposite.opLinearEquiv R) β(MulOpposite.opLinearEquiv R) ββ CoalgebraStruct.comul ββ β(MulOpposite.opLinearEquiv R).symm
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 ?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.
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 6ff4759 serving mathlib revision edaf32c