mathlib3 documentation

monlib / linear_algebra.my_bimodule

(A-A)-Bimodules #

We define (A-A)-bimodules, where A is a commutative semiring, and show basic properties of them.

def bimodule.lsmul {R : Type u_1} {H₁ : Type u_2} {H₂ : Type u_3} [comm_semiring R] [semiring H₁] [semiring H₂] [algebra R H₁] [algebra R H₂] (x : H₁) (y : tensor_product R H₁ H₂) :
tensor_product R H₁ H₂
Equations
def bimodule.rsmul {R : Type u_1} {H₁ : Type u_2} {H₂ : Type u_3} [comm_semiring R] [semiring H₁] [semiring H₂] [algebra R H₁] [algebra R H₂] (x : tensor_product R H₁ H₂) (y : H₂) :
tensor_product R H₁ H₂
Equations
theorem bimodule.lsmul_apply {R : Type u_1} {H₁ : Type u_2} {H₂ : Type u_3} [comm_semiring R] [semiring H₁] [semiring H₂] [algebra R H₁] [algebra R H₂] (x a : H₁) (b : H₂) :
bimodule.lsmul x (a ⊗ₜ[R] b) = (x * a) ⊗ₜ[R] b
theorem bimodule.rsmul_apply {R : Type u_1} {H₁ : Type u_2} {H₂ : Type u_3} [comm_semiring R] [semiring H₁] [semiring H₂] [algebra R H₁] [algebra R H₂] (a : H₁) (x b : H₂) :
bimodule.rsmul (a ⊗ₜ[R] b) x = a ⊗ₜ[R] (b * x)
theorem bimodule.lsmul_rsmul_assoc {R : Type u_1} {H₁ : Type u_2} {H₂ : Type u_3} [comm_semiring R] [semiring H₁] [semiring H₂] [algebra R H₁] [algebra R H₂] (x : H₁) (y : H₂) (a : tensor_product R H₁ H₂) :
theorem bimodule.lsmul_zero {R : Type u_1} {H₁ : Type u_2} {H₂ : Type u_3} [comm_semiring R] [semiring H₁] [semiring H₂] [algebra R H₁] [algebra R H₂] (x : H₁) :
theorem bimodule.zero_lsmul {R : Type u_1} {H₁ : Type u_2} {H₂ : Type u_3} [comm_semiring R] [semiring H₁] [semiring H₂] [algebra R H₁] [algebra R H₂] (x : tensor_product R H₁ H₂) :
theorem bimodule.zero_rsmul {R : Type u_1} {H₁ : Type u_2} {H₂ : Type u_3} [comm_semiring R] [semiring H₁] [semiring H₂] [algebra R H₁] [algebra R H₂] (x : H₂) :
theorem bimodule.rsmul_zero {R : Type u_1} {H₁ : Type u_2} {H₂ : Type u_3} [comm_semiring R] [semiring H₁] [semiring H₂] [algebra R H₁] [algebra R H₂] (x : tensor_product R H₁ H₂) :
theorem bimodule.lsmul_add {R : Type u_1} {H₁ : Type u_2} {H₂ : Type u_3} [comm_semiring R] [semiring H₁] [semiring H₂] [algebra R H₁] [algebra R H₂] (x : H₁) (a b : tensor_product R H₁ H₂) :
theorem bimodule.add_rsmul {R : Type u_1} {H₁ : Type u_2} {H₂ : Type u_3} [comm_semiring R] [semiring H₁] [semiring H₂] [algebra R H₁] [algebra R H₂] (x : H₂) (a b : tensor_product R H₁ H₂) :
theorem bimodule.lsmul_sum {R : Type u_1} {H₁ : Type u_2} {H₂ : Type u_3} [comm_semiring R] [semiring H₁] [semiring H₂] [algebra R H₁] [algebra R H₂] (x : H₁) {k : Type u_4} [fintype k] (a : k tensor_product R H₁ H₂) :
bimodule.lsmul x (finset.univ.sum (λ (i : k), a i)) = finset.univ.sum (λ (i : k), bimodule.lsmul x (a i))
theorem bimodule.sum_rsmul {R : Type u_1} {H₁ : Type u_2} {H₂ : Type u_3} [comm_semiring R] [semiring H₁] [semiring H₂] [algebra R H₁] [algebra R H₂] (x : H₂) {k : Type u_4} [fintype k] (a : k tensor_product R H₁ H₂) :
bimodule.rsmul (finset.univ.sum (λ (i : k), a i)) x = finset.univ.sum (λ (i : k), bimodule.rsmul (a i) x)
theorem bimodule.one_lsmul {R : Type u_1} {H₁ : Type u_2} {H₂ : Type u_3} [comm_semiring R] [semiring H₁] [semiring H₂] [algebra R H₁] [algebra R H₂] (x : tensor_product R H₁ H₂) :
theorem bimodule.rsmul_one {R : Type u_1} {H₁ : Type u_2} {H₂ : Type u_3} [comm_semiring R] [semiring H₁] [semiring H₂] [algebra R H₁] [algebra R H₂] (x : tensor_product R H₁ H₂) :
theorem bimodule.lsmul_one {R : Type u_1} {H₁ : Type u_2} {H₂ : Type u_3} [comm_semiring R] [semiring H₁] [semiring H₂] [algebra R H₁] [algebra R H₂] (x : H₁) :
theorem bimodule.one_rsmul {R : Type u_1} {H₁ : Type u_2} {H₂ : Type u_3} [comm_semiring R] [semiring H₁] [semiring H₂] [algebra R H₁] [algebra R H₂] (x : H₂) :
theorem bimodule.lsmul_smul {R : Type u_1} {H₁ : Type u_2} {H₂ : Type u_3} [comm_semiring R] [semiring H₁] [semiring H₂] [algebra R H₁] [algebra R H₂] (α : R) (x : H₁) (a : tensor_product R H₁ H₂) :
theorem bimodule.smul_rsmul {R : Type u_1} {H₁ : Type u_2} {H₂ : Type u_3} [comm_semiring R] [semiring H₁] [semiring H₂] [algebra R H₁] [algebra R H₂] (α : R) (x : H₂) (a : tensor_product R H₁ H₂) :
theorem bimodule.lsmul_lsmul {R : Type u_1} {H₁ : Type u_2} {H₂ : Type u_3} [comm_semiring R] [semiring H₁] [semiring H₂] [algebra R H₁] [algebra R H₂] (x y : H₁) (a : tensor_product R H₁ H₂) :
theorem bimodule.rsmul_rsmul {R : Type u_1} {H₁ : Type u_2} {H₂ : Type u_3} [comm_semiring R] [semiring H₁] [semiring H₂] [algebra R H₁] [algebra R H₂] (x y : H₂) (a : tensor_product R H₁ H₂) :
def linear_map.is_bimodule_map {R : Type u_1} {H₁ : Type u_2} {H₂ : Type u_3} [comm_semiring R] [semiring H₁] [semiring H₂] [algebra R H₁] [algebra R H₂] (P : tensor_product R H₁ H₂ →ₗ[R] tensor_product R H₁ H₂) :
Prop
Equations
theorem linear_map.is_bimodule_map.lsmul {R : Type u_1} {H₁ : Type u_2} {H₂ : Type u_3} [comm_semiring R] [semiring H₁] [semiring H₂] [algebra R H₁] [algebra R H₂] {P : tensor_product R H₁ H₂ →ₗ[R] tensor_product R H₁ H₂} (hP : P.is_bimodule_map) (x : H₁) (a : tensor_product R H₁ H₂) :
theorem linear_map.is_bimodule_map.rsmul {R : Type u_1} {H₁ : Type u_2} {H₂ : Type u_3} [comm_semiring R] [semiring H₁] [semiring H₂] [algebra R H₁] [algebra R H₂] {P : tensor_product R H₁ H₂ →ₗ[R] tensor_product R H₁ H₂} (hP : P.is_bimodule_map) (x : H₂) (a : tensor_product R H₁ H₂) :
theorem linear_map.is_bimodule_map.add {R : Type u_1} {H₁ : Type u_2} {H₂ : Type u_3} [comm_semiring R] [semiring H₁] [semiring H₂] [algebra R H₁] [algebra R H₂] {P Q : tensor_product R H₁ H₂ →ₗ[R] tensor_product R H₁ H₂} (hP : P.is_bimodule_map) (hQ : Q.is_bimodule_map) :
theorem linear_map.is_bimodule_map_zero {R : Type u_1} {H₁ : Type u_2} {H₂ : Type u_3} [comm_semiring R] [semiring H₁] [semiring H₂] [algebra R H₁] [algebra R H₂] :
theorem linear_map.is_bimodule_map.smul {R : Type u_1} {H₁ : Type u_2} {H₂ : Type u_3} [comm_semiring R] [semiring H₁] [semiring H₂] [algebra R H₁] [algebra R H₂] {x : tensor_product R H₁ H₂ →ₗ[R] tensor_product R H₁ H₂} (hx : x.is_bimodule_map) (k : R) :
theorem linear_map.is_bimodule_map.nsmul {R : Type u_1} {H₁ : Type u_2} {H₂ : Type u_3} [comm_semiring R] [semiring H₁] [semiring H₂] [algebra R H₁] [algebra R H₂] {x : tensor_product R H₁ H₂ →ₗ[R] tensor_product R H₁ H₂} (hx : x.is_bimodule_map) (k : ) :
@[instance]
def is_bimodule_map.add_comm_monoid {R : Type u_1} {H₁ : Type u_2} {H₂ : Type u_3} [comm_semiring R] [semiring H₁] [semiring H₂] [algebra R H₁] [algebra R H₂] :
Equations
@[instance]
def is_bimodule_map.has_smul {R : Type u_1} {H₁ : Type u_2} {H₂ : Type u_3} [comm_semiring R] [semiring H₁] [semiring H₂] [algebra R H₁] [algebra R H₂] :
Equations
theorem is_bimodule_map.add_smul {R : Type u_1} {H₁ : Type u_2} {H₂ : Type u_3} [comm_semiring R] [semiring H₁] [semiring H₂] [algebra R H₁] [algebra R H₂] (a b : R) (x : {x // x.is_bimodule_map}) :
(a + b) x = a x + b x
@[protected, instance]
def subtype.mul_action {R : Type u_1} {H₁ : Type u_2} {H₂ : Type u_3} [comm_semiring R] [semiring H₁] [semiring H₂] [algebra R H₁] [algebra R H₂] :
Equations
@[protected, instance]
def subtype.distrib_mul_action {R : Type u_1} {H₁ : Type u_2} {H₂ : Type u_3} [comm_semiring R] [semiring H₁] [semiring H₂] [algebra R H₁] [algebra R H₂] :
Equations
@[protected, instance]
def is_bimodule_map.module {R : Type u_1} {H₁ : Type u_2} {H₂ : Type u_3} [comm_semiring R] [semiring H₁] [semiring H₂] [algebra R H₁] [algebra R H₂] :
Equations
def is_bimodule_map.submodule {R : Type u_1} {H₁ : Type u_2} {H₂ : Type u_3} [comm_semiring R] [semiring H₁] [semiring H₂] [algebra R H₁] [algebra R H₂] :
submodule R (tensor_product R H₁ H₂ →ₗ[R] tensor_product R H₁ H₂)
Equations
theorem is_bimodule_map_iff {R : Type u_1} {H₁ : Type u_2} {H₂ : Type u_3} [comm_semiring R] [semiring H₁] [semiring H₂] [algebra R H₁] [algebra R H₂] {T : tensor_product R H₁ H₂ →ₗ[R] tensor_product R H₁ H₂} :
T.is_bimodule_map (a : H₁) (b : H₂) (x : H₁) (y : H₂), T ((a * x) ⊗ₜ[R] (y * b)) = bimodule.rsmul (bimodule.lsmul a (T (x ⊗ₜ[R] y))) b
theorem is_bimodule_map_iff_ltensor_lsmul_rtensor_rsmul {R : Type u_1} {H₁ : Type u_2} {H₂ : Type u_3} [field R] [ring H₁] [ring H₂] [algebra R H₁] [algebra R H₂] {x : H₁ →ₗ[R] H₁} {y : H₂ →ₗ[R] H₂} :
def is_bimodule_map.sum {R : Type u_1} {H₁ : Type u_2} {H₂ : Type u_3} [comm_semiring R] [semiring H₁] [semiring H₂] [algebra R H₁] [algebra R H₂] {p : Type u_4} [fintype p] (x : p {x // x.is_bimodule_map}) :
Equations
theorem rmul_map_lmul_apply_apply {R : Type u_1} {H₁ : Type u_2} {H₂ : Type u_3} [comm_semiring R] [semiring H₁] [semiring H₂] [algebra R H₁] [algebra R H₂] (x : tensor_product R H₁ H₂) (a : H₁) (b : H₂) :
theorem linear_map.is_bimodule_map_iff' {R : Type u_1} {H₁ : Type u_2} {H₂ : Type u_3} [comm_semiring R] [semiring H₁] [semiring H₂] [algebra R H₁] [algebra R H₂] {f : tensor_product R H₁ H₂ →ₗ[R] tensor_product R H₁ H₂} :