Theorem: CoalgebraCat.MonoidalCategoryAux.tensorObj_comul
File: Mathlib/Algebra/Category/CoalgebraCat/ComonEquivalence.lean

Proof steps:
state_before: R : Type u
inst✝¹² : CommRing R
M N P Q : Type u
inst✝¹¹ : AddCommGroup M
inst✝¹⁰ : AddCommGroup N
inst✝⁹ : AddCommGroup P
inst✝⁸ : AddCommGroup Q
inst✝⁷ : Module R M
inst✝⁶ : Module R N
inst✝⁵ : Module R P
inst✝⁴ : Module R Q
inst✝³ : Coalgebra R M
inst✝² : Coalgebra R N
inst✝¹ : Coalgebra R P
inst✝ : Coalgebra R Q
K L : CoalgebraCat R
⊢ Coalgebra.comul =
    ↑(TensorProduct.tensorTensorTensorComm R ↑K.toModuleCat ↑K.toModuleCat ↑L.toModuleCat ↑L.toModuleCat) ∘ₗ
      TensorProduct.map Coalgebra.comul Coalgebra.comul
state_after: R : Type u
inst✝¹² : CommRing R
M N P Q : Type u
inst✝¹¹ : AddCommGroup M
inst✝¹⁰ : AddCommGroup N
inst✝⁹ : AddCommGroup P
inst✝⁸ : AddCommGroup Q
inst✝⁷ : Module R M
inst✝⁶ : Module R N
inst✝⁵ : Module R P
inst✝⁴ : Module R Q
inst✝³ : Coalgebra R M
inst✝² : Coalgebra R N
inst✝¹ : Coalgebra R P
inst✝ : Coalgebra R Q
K L : CoalgebraCat R
⊢ ((comonEquivalence R).symm.inverse.obj K ⊗ (comonEquivalence R).symm.inverse.obj L).comul =
    ↑(TensorProduct.tensorTensorTensorComm R ↑K.toModuleCat ↑K.toModuleCat ↑L.toModuleCat ↑L.toModuleCat) ∘ₗ
      TensorProduct.map Coalgebra.comul Coalgebra.comul
tactic: rw [ofComonObjCoalgebraStruct_comul]
state_before: R : Type u
inst✝¹² : CommRing R
M N P Q : Type u
inst✝¹¹ : AddCommGroup M
inst✝¹⁰ : AddCommGroup N
inst✝⁹ : AddCommGroup P
inst✝⁸ : AddCommGroup Q
inst✝⁷ : Module R M
inst✝⁶ : Module R N
inst✝⁵ : Module R P
inst✝⁴ : Module R Q
inst✝³ : Coalgebra R M
inst✝² : Coalgebra R N
inst✝¹ : Coalgebra R P
inst✝ : Coalgebra R Q
K L : CoalgebraCat R
⊢ ((comonEquivalence R).symm.inverse.obj K ⊗ (comonEquivalence R).symm.inverse.obj L).comul =
    ↑(TensorProduct.tensorTensorTensorComm R ↑K.toModuleCat ↑K.toModuleCat ↑L.toModuleCat ↑L.toModuleCat) ∘ₗ
      TensorProduct.map Coalgebra.comul Coalgebra.comul
state_after: R : Type u
inst✝¹² : CommRing R
M N P Q : Type u
inst✝¹¹ : AddCommGroup M
inst✝¹⁰ : AddCommGroup N
inst✝⁹ : AddCommGroup P
inst✝⁸ : AddCommGroup Q
inst✝⁷ : Module R M
inst✝⁶ : Module R N
inst✝⁵ : Module R P
inst✝⁴ : Module R Q
inst✝³ : Coalgebra R M
inst✝² : Coalgebra R N
inst✝¹ : Coalgebra R P
inst✝ : Coalgebra R Q
K L : CoalgebraCat R
⊢ (tensor_μ (ModuleCat R)ᵒᵖ (Opposite.op K.toModuleCat, Opposite.op L.toModuleCat)
          (Opposite.op K.toModuleCat, Opposite.op L.toModuleCat)).unop ∘ₗ
      TensorProduct.map Coalgebra.comul Coalgebra.comul =
    ↑(TensorProduct.tensorTensorTensorComm R ↑K.toModuleCat ↑K.toModuleCat ↑L.toModuleCat ↑L.toModuleCat) ∘ₗ
      TensorProduct.map Coalgebra.comul Coalgebra.comul
tactic: dsimp [ModuleCat.ofHom, -Mon_.monMonoidalStruct_tensorObj_X,
    instMonoidalCategoryStruct_tensorHom, ModuleCat.comp_def]
state_before: R : Type u
inst✝¹² : CommRing R
M N P Q : Type u
inst✝¹¹ : AddCommGroup M
inst✝¹⁰ : AddCommGroup N
inst✝⁹ : AddCommGroup P
inst✝⁸ : AddCommGroup Q
inst✝⁷ : Module R M
inst✝⁶ : Module R N
inst✝⁵ : Module R P
inst✝⁴ : Module R Q
inst✝³ : Coalgebra R M
inst✝² : Coalgebra R N
inst✝¹ : Coalgebra R P
inst✝ : Coalgebra R Q
K L : CoalgebraCat R
⊢ (tensor_μ (ModuleCat R)ᵒᵖ (Opposite.op K.toModuleCat, Opposite.op L.toModuleCat)
          (Opposite.op K.toModuleCat, Opposite.op L.toModuleCat)).unop ∘ₗ
      TensorProduct.map Coalgebra.comul Coalgebra.comul =
    ↑(TensorProduct.tensorTensorTensorComm R ↑K.toModuleCat ↑K.toModuleCat ↑L.toModuleCat ↑L.toModuleCat) ∘ₗ
      TensorProduct.map Coalgebra.comul Coalgebra.comul
state_after: no goals
tactic: simp only [BraidedCategory.unop_tensor_μ, tensor_μ_eq_tensorTensorTensorComm]