@@ -1048,30 +1048,41 @@ theorem leftComm_symm_tmul (m : A) (n : B) (p : C) :
1048
1048
theorem leftComm_toLinearEquiv :
1049
1049
(leftComm R A B C : _ ≃ₗ[R] _) = _root_.TensorProduct.leftComm R A B C := rfl
1050
1050
1051
- variable (R A B C D) in
1051
+ variable (R S A B C D) in
1052
+ set_option maxSynthPendingDepth 2 in
1052
1053
/-- Tensor product of algebras analogue of `mul_mul_mul_comm`.
1053
1054
1054
- This is the algebra version of `TensorProduct.tensorTensorTensorComm`. -/
1055
- def tensorTensorTensorComm : (A ⊗[R] B) ⊗[R] C ⊗[R] D ≃ₐ[R] (A ⊗[R] C) ⊗[R] B ⊗[R] D :=
1056
- let e₁ := Algebra.TensorProduct.assoc R A B (C ⊗[R] D)
1057
- let e₂ := congr (1 : A ≃ₐ[R] A) (leftComm R B C D)
1058
- let e₃ := (Algebra.TensorProduct.assoc R A C (B ⊗[R] D)).symm
1059
- e₁.trans (e₂.trans e₃)
1055
+ This is the algebra version of `TensorProduct.AlgebraTensorModule.tensorTensorTensorComm`. -/
1056
+ def tensorTensorTensorComm : (A ⊗[R] B) ⊗[S] C ⊗[R] D ≃ₐ[S] (A ⊗[S] C) ⊗[R] B ⊗[R] D :=
1057
+ AlgEquiv.ofLinearEquiv (TensorProduct.AlgebraTensorModule.tensorTensorTensorComm R S A B C D)
1058
+ rfl (LinearMap.map_mul_iff _ |>.mpr <| by ext; simp)
1060
1059
1061
1060
@[simp]
1062
1061
theorem tensorTensorTensorComm_tmul (m : A) (n : B) (p : C) (q : D) :
1063
- tensorTensorTensorComm R A B C D (m ⊗ₜ n ⊗ₜ (p ⊗ₜ q)) = m ⊗ₜ p ⊗ₜ (n ⊗ₜ q) :=
1062
+ tensorTensorTensorComm R S A B C D (m ⊗ₜ n ⊗ₜ (p ⊗ₜ q)) = m ⊗ₜ p ⊗ₜ (n ⊗ₜ q) :=
1064
1063
rfl
1065
1064
1065
+ set_option maxSynthPendingDepth 2 in
1066
1066
@[simp]
1067
+ theorem tensorTensorTensorComm_symm_tmul (m : A) (n : C) (p : B) (q : D) :
1068
+ (tensorTensorTensorComm R S A B C D).symm (m ⊗ₜ n ⊗ₜ (p ⊗ₜ q)) = m ⊗ₜ p ⊗ₜ (n ⊗ₜ q) :=
1069
+ rfl
1070
+
1067
1071
theorem tensorTensorTensorComm_symm :
1068
- (tensorTensorTensorComm R A B C D).symm = tensorTensorTensorComm R A C B D := by
1072
+ (tensorTensorTensorComm R R A B C D).symm = tensorTensorTensorComm R R A C B D := by
1069
1073
ext; rfl
1070
1074
1071
- @[simp]
1075
+ set_option maxSynthPendingDepth 2 in
1072
1076
theorem tensorTensorTensorComm_toLinearEquiv :
1073
- (tensorTensorTensorComm R A B C D : _ ≃ₗ[R] _) =
1074
- _root_.TensorProduct.tensorTensorTensorComm R A B C D := rfl
1077
+ (tensorTensorTensorComm R S A B C D).toLinearEquiv =
1078
+ TensorProduct.AlgebraTensorModule.tensorTensorTensorComm R S A B C D := rfl
1079
+
1080
+ @[simp]
1081
+ theorem toLinearEquiv_tensorTensorTensorComm :
1082
+ (tensorTensorTensorComm R R A B C D).toLinearEquiv =
1083
+ _root_.TensorProduct.tensorTensorTensorComm R A B C D := by
1084
+ apply LinearEquiv.toLinearMap_injective
1085
+ ext; simp
1075
1086
1076
1087
end
1077
1088
0 commit comments