Associators and unitors for tensor products of modules over a commutative ring. #
The base ring is a left identity for the tensor product of modules, up to linear equivalence.
Equations
- TensorProduct.lid R M = LinearEquiv.ofLinear (TensorProduct.lift (LinearMap.lsmul R M)) ((TensorProduct.mk R R M) 1) ⋯ ⋯
Instances For
The base ring is a right identity for the tensor product of modules, up to linear equivalence.
Equations
- TensorProduct.rid R M = (TensorProduct.comm R M R).trans (TensorProduct.lid R M)
Instances For
If the R- and A- action on A and M satisfy CompatibleSMul
both ways,
then A ⊗[R] M
is canonically isomorphic to M
.
Equations
- TensorProduct.lidOfCompatibleSMul R A M = (TensorProduct.equivOfCompatibleSMul R A A M).symm.trans (TensorProduct.lid A M)
Instances For
The associator for tensor product of R-modules, as a linear equivalence.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Given linear maps f : M → Q
, g : N → S
, and h : P → T
, if we identify (M ⊗ N) ⊗ P
with M ⊗ (N ⊗ P)
and (Q ⊗ S) ⊗ T
with Q ⊗ (S ⊗ T)
, then this lemma states that
f ⊗ (g ⊗ h) = (f ⊗ g) ⊗ h
.
Given linear maps f : M → Q
, g : N → S
, and h : P → T
, if we identify M ⊗ (N ⊗ P)
with (M ⊗ N) ⊗ P
and Q ⊗ (S ⊗ T)
with (Q ⊗ S) ⊗ T
, then this lemma states that
(f ⊗ g) ⊗ h = f ⊗ (g ⊗ h)
.
A tensor product analogue of mul_left_comm
.
Equations
- TensorProduct.leftComm R M N P = (TensorProduct.assoc R M N P).symm.trans ((TensorProduct.congr (TensorProduct.comm R M N) 1).trans (TensorProduct.assoc R N M P))
Instances For
This special case is worth defining explicitly since it is useful for defining multiplication on tensor products of modules carrying multiplications (e.g., associative rings, Lie rings, ...).
E.g., suppose M = P
and N = Q
and that M
and N
carry bilinear multiplications:
M ⊗ M → M
and N ⊗ N → N
. Using map
, we can define (M ⊗ M) ⊗ (N ⊗ N) → M ⊗ N
which, when
combined with this definition, yields a bilinear multiplication on M ⊗ N
:
(M ⊗ N) ⊗ (M ⊗ N) → M ⊗ N
. In particular we could use this to define the multiplication in
the TensorProduct.semiring
instance (currently defined "by hand" using TensorProduct.mul
).
See also mul_mul_mul_comm
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
This special case is useful for describing the interplay between dualTensorHomEquiv
and
composition of linear maps.
E.g., composition of linear maps gives a map (M → N) ⊗ (N → P) → (M → P)
, and applying
dual_tensor_hom_equiv.symm
to the three hom-modules gives a map
(M.dual ⊗ N) ⊗ (N.dual ⊗ P) → (M.dual ⊗ P)
, which agrees with the application of contractRight
on N ⊗ N.dual
after the suitable rebracketting.
Equations
- TensorProduct.tensorTensorTensorAssoc R M N P Q = (TensorProduct.assoc R (TensorProduct R M N) P Q).symm.trans (TensorProduct.congr (TensorProduct.assoc R M N P) 1)