-- Mathlib/Algebra/Category/CoalgebraCat/ComonEquivalence.lean
theorem associator_hom_toLinearMap :
    (α_ (CoalgebraCat.of R M) (CoalgebraCat.of R N) (CoalgebraCat.of R P)).hom.1.toLinearMap
      = (TensorProduct.assoc R M N P).toLinearMap :=
  TensorProduct.ext <| TensorProduct.ext <| by ext; rfl

Proof state:
R : Type u
inst✝⁹ : CommRing R
M N P : Type u
inst✝⁸ : AddCommGroup M
inst✝⁷ : AddCommGroup N
inst✝⁶ : AddCommGroup P
inst✝⁵ : Module R M
inst✝⁴ : Module R N
inst✝³ : Module R P
inst✝² : Coalgebra R M
inst✝¹ : Coalgebra R N
inst✝ : Coalgebra R P
⊢ (TensorProduct.mk R
          ↑(Opposite.unop
              (Opposite.unop
                  ((Comon_.Comon_EquivMon_OpOp (ModuleCat R)).symm.inverse.obj
                    ((comonEquivalence R).symm.inverse.obj (of R M)))).X)
          ↑(Opposite.unop
              (Opposite.unop
                  ((Comon_.Comon_EquivMon_OpOp (ModuleCat R)).symm.inverse.obj
                    ((comonEquivalence R).symm.inverse.obj (of R N)))).X)).compr₂
      ((TensorProduct.mk R
            ↑(Opposite.unop
                (Opposite.unop
                    ((Comon_.Comon_EquivMon_OpOp (ModuleCat R)).symm.inverse.obj
                      ((comonEquivalence R).symm.inverse.obj (of R M ⊗ of R N)))).X)
            ↑(Opposite.unop
                (Opposite.unop
                    ((Comon_.Comon_EquivMon_OpOp (ModuleCat R)).symm.inverse.obj
                      ((comonEquivalence R).symm.inverse.obj (of R P)))).X)).compr₂
        (α_ (of R M) (of R N) (of R P)).hom.toCoalgHom'.toLinearMap) =
    (TensorProduct.mk R
          ↑(Opposite.unop
              (Opposite.unop
                  ((Comon_.Comon_EquivMon_OpOp (ModuleCat R)).symm.inverse.obj
                    ((comonEquivalence R).symm.inverse.obj (of R M)))).X)
          ↑(Opposite.unop
              (Opposite.unop
                  ((Comon_.Comon_EquivMon_OpOp (ModuleCat R)).symm.inverse.obj
                    ((comonEquivalence R).symm.inverse.obj (of R N)))).X)).compr₂
      ((TensorProduct.mk R
            ↑(Opposite.unop
                (Opposite.unop
                    ((Comon_.Comon_EquivMon_OpOp (ModuleCat R)).symm.inverse.obj
                      ((comonEquivalence R).symm.inverse.obj (of R M ⊗ of R N)))).X)
            ↑(Opposite.unop
                (Opposite.unop
                    ((Comon_.Comon_EquivMon_OpOp (ModuleCat R)).symm.inverse.obj
                      ((comonEquivalence R).symm.inverse.obj (of R P)))).X)).compr₂
        ↑(TensorProduct.assoc R M N P))

Tactic:
ext

Result:
case h.h.h
R : Type u
inst✝⁹ : CommRing R
M N P : Type u
inst✝⁸ : AddCommGroup M
inst✝⁷ : AddCommGroup N
inst✝⁶ : AddCommGroup P
inst✝⁵ : Module R M
inst✝⁴ : Module R N
inst✝³ : Module R P
inst✝² : Coalgebra R M
inst✝¹ : Coalgebra R N
inst✝ : Coalgebra R P
x✝² :
  ↑(Opposite.unop
      (Opposite.unop
          ((Comon_.Comon_EquivMon_OpOp (ModuleCat R)).symm.inverse.obj
            ((comonEquivalence R).symm.inverse.obj (of R M)))).X)
x✝¹ :
  ↑(Opposite.unop
      (Opposite.unop
          ((Comon_.Comon_EquivMon_OpOp (ModuleCat R)).symm.inverse.obj
            ((comonEquivalence R).symm.inverse.obj (of R N)))).X)
x✝ :
  ↑(Opposite.unop
      (Opposite.unop
          ((Comon_.Comon_EquivMon_OpOp (ModuleCat R)).symm.inverse.obj
            ((comonEquivalence R).symm.inverse.obj (of R P)))).X)
⊢ ((((TensorProduct.mk R
                ↑(Opposite.unop
                    (Opposite.unop
                        ((Comon_.Comon_EquivMon_OpOp (ModuleCat R)).symm.inverse.obj
                          ((comonEquivalence R).symm.inverse.obj (of R M)))).X)
                ↑(Opposite.unop
                    (Opposite.unop
                        ((Comon_.Comon_EquivMon_OpOp (ModuleCat R)).symm.inverse.obj
                          ((comonEquivalence R).symm.inverse.obj (of R N)))).X)).compr₂
            ((TensorProduct.mk R
                  ↑(Opposite.unop
                      (Opposite.unop
                          ((Comon_.Comon_EquivMon_OpOp (ModuleCat R)).symm.inverse.obj
                            ((comonEquivalence R).symm.inverse.obj (of R M ⊗ of R N)))).X)
                  ↑(Opposite.unop
                      (Opposite.unop
                          ((Comon_.Comon_EquivMon_OpOp (ModuleCat R)).symm.inverse.obj
                            ((comonEquivalence R).symm.inverse.obj (of R P)))).X)).compr₂
              (α_ (of R M) (of R N) (of R P)).hom.toCoalgHom'.toLinearMap))
          x✝²)
        x✝¹)
      x✝ =
    ((((TensorProduct.mk R
                ↑(Opposite.unop
                    (Opposite.unop
                        ((Comon_.Comon_EquivMon_OpOp (ModuleCat R)).symm.inverse.obj
                          ((comonEquivalence R).symm.inverse.obj (of R M)))).X)
                ↑(Opposite.unop
                    (Opposite.unop
                        ((Comon_.Comon_EquivMon_OpOp (ModuleCat R)).symm.inverse.obj
                          ((comonEquivalence R).symm.inverse.obj (of R N)))).X)).compr₂
            ((TensorProduct.mk R
                  ↑(Opposite.unop
                      (Opposite.unop
                          ((Comon_.Comon_EquivMon_OpOp (ModuleCat R)).symm.inverse.obj
                            ((comonEquivalence R).symm.inverse.obj (of R M ⊗ of R N)))).X)
                  ↑(Opposite.unop
                      (Opposite.unop
                          ((Comon_.Comon_EquivMon_OpOp (ModuleCat R)).symm.inverse.obj
                            ((comonEquivalence R).symm.inverse.obj (of R P)))).X)).compr₂
              ↑(TensorProduct.assoc R M N P)))
          x✝²)
        x✝¹)
      x✝