algebra.module.oppositesMathlib.Algebra.Module.Opposites

This file has been ported!

Changes since the initial port

The following section lists changes to this file in mathlib3 and mathlib4 that occured after the initial port. Most recent changes are shown first. Hovering over a commit will show all commits associated with the same mathlib3 commit.

Changes in mathlib3

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(last sync)

Changes in mathlib3port

mathlib3
mathlib3port
Diff
@@ -3,8 +3,8 @@ Copyright (c) 2020 Eric Wieser. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Eric Wieser
 -/
-import Mathbin.Algebra.Module.Equiv
-import Mathbin.GroupTheory.GroupAction.Opposite
+import Algebra.Module.Equiv
+import GroupTheory.GroupAction.Opposite
 
 #align_import algebra.module.opposites from "leanprover-community/mathlib"@"fac369018417f980cec5fcdafc766a69f88d8cfe"
 
Diff
@@ -2,15 +2,12 @@
 Copyright (c) 2020 Eric Wieser. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Eric Wieser
-
-! This file was ported from Lean 3 source module algebra.module.opposites
-! leanprover-community/mathlib commit fac369018417f980cec5fcdafc766a69f88d8cfe
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
 -/
 import Mathbin.Algebra.Module.Equiv
 import Mathbin.GroupTheory.GroupAction.Opposite
 
+#align_import algebra.module.opposites from "leanprover-community/mathlib"@"fac369018417f980cec5fcdafc766a69f88d8cfe"
+
 /-!
 # Module operations on `Mᵐᵒᵖ`
 
Diff
@@ -43,37 +43,49 @@ def opLinearEquiv : M ≃ₗ[R] Mᵐᵒᵖ :=
 #align mul_opposite.op_linear_equiv MulOpposite.opLinearEquiv
 -/
 
+#print MulOpposite.coe_opLinearEquiv /-
 @[simp]
 theorem coe_opLinearEquiv : (opLinearEquiv R : M → Mᵐᵒᵖ) = op :=
   rfl
 #align mul_opposite.coe_op_linear_equiv MulOpposite.coe_opLinearEquiv
+-/
 
+#print MulOpposite.coe_opLinearEquiv_symm /-
 @[simp]
 theorem coe_opLinearEquiv_symm : ((opLinearEquiv R).symm : Mᵐᵒᵖ → M) = unop :=
   rfl
 #align mul_opposite.coe_op_linear_equiv_symm MulOpposite.coe_opLinearEquiv_symm
+-/
 
+#print MulOpposite.coe_opLinearEquiv_toLinearMap /-
 @[simp]
 theorem coe_opLinearEquiv_toLinearMap : ((opLinearEquiv R).toLinearMap : M → Mᵐᵒᵖ) = op :=
   rfl
 #align mul_opposite.coe_op_linear_equiv_to_linear_map MulOpposite.coe_opLinearEquiv_toLinearMap
+-/
 
+#print MulOpposite.coe_opLinearEquiv_symm_toLinearMap /-
 @[simp]
 theorem coe_opLinearEquiv_symm_toLinearMap :
     ((opLinearEquiv R).symm.toLinearMap : Mᵐᵒᵖ → M) = unop :=
   rfl
 #align mul_opposite.coe_op_linear_equiv_symm_to_linear_map MulOpposite.coe_opLinearEquiv_symm_toLinearMap
+-/
 
+#print MulOpposite.opLinearEquiv_toAddEquiv /-
 @[simp]
 theorem opLinearEquiv_toAddEquiv : (opLinearEquiv R : M ≃ₗ[R] Mᵐᵒᵖ).toAddEquiv = opAddEquiv :=
   rfl
 #align mul_opposite.op_linear_equiv_to_add_equiv MulOpposite.opLinearEquiv_toAddEquiv
+-/
 
+#print MulOpposite.opLinearEquiv_symm_toAddEquiv /-
 @[simp]
 theorem opLinearEquiv_symm_toAddEquiv :
     (opLinearEquiv R : M ≃ₗ[R] Mᵐᵒᵖ).symm.toAddEquiv = opAddEquiv.symm :=
   rfl
 #align mul_opposite.op_linear_equiv_symm_to_add_equiv MulOpposite.opLinearEquiv_symm_toAddEquiv
+-/
 
 end MulOpposite
 
Diff
@@ -43,62 +43,32 @@ def opLinearEquiv : M ≃ₗ[R] Mᵐᵒᵖ :=
 #align mul_opposite.op_linear_equiv MulOpposite.opLinearEquiv
 -/
 
-/- warning: mul_opposite.coe_op_linear_equiv -> MulOpposite.coe_opLinearEquiv is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align mul_opposite.coe_op_linear_equiv MulOpposite.coe_opLinearEquivₓ'. -/
 @[simp]
 theorem coe_opLinearEquiv : (opLinearEquiv R : M → Mᵐᵒᵖ) = op :=
   rfl
 #align mul_opposite.coe_op_linear_equiv MulOpposite.coe_opLinearEquiv
 
-/- warning: mul_opposite.coe_op_linear_equiv_symm -> MulOpposite.coe_opLinearEquiv_symm is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align mul_opposite.coe_op_linear_equiv_symm MulOpposite.coe_opLinearEquiv_symmₓ'. -/
 @[simp]
 theorem coe_opLinearEquiv_symm : ((opLinearEquiv R).symm : Mᵐᵒᵖ → M) = unop :=
   rfl
 #align mul_opposite.coe_op_linear_equiv_symm MulOpposite.coe_opLinearEquiv_symm
 
-/- warning: mul_opposite.coe_op_linear_equiv_to_linear_map -> MulOpposite.coe_opLinearEquiv_toLinearMap is a dubious translation:
-lean 3 declaration is
-  forall (R : Type.{u1}) {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M _inst_1 _inst_2], Eq.{succ u2} ((fun (_x : LinearMap.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M (MulOpposite.{u2} M) _inst_2 (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_3 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3)) => M -> (MulOpposite.{u2} M)) (LinearEquiv.toLinearMap.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) M (MulOpposite.{u2} M) _inst_2 (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_3 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) (MulOpposite.opLinearEquiv.{u1, u2} R M _inst_1 _inst_2 _inst_3))) (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M (MulOpposite.{u2} M) _inst_2 (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_3 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (fun (_x : LinearMap.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M (MulOpposite.{u2} M) _inst_2 (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_3 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3)) => M -> (MulOpposite.{u2} M)) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R M (MulOpposite.{u2} M) _inst_1 _inst_1 _inst_2 (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_3 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (LinearEquiv.toLinearMap.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) M (MulOpposite.{u2} M) _inst_2 (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_3 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) (MulOpposite.opLinearEquiv.{u1, u2} R M _inst_1 _inst_2 _inst_3))) (MulOpposite.op.{u2} M)
-but is expected to have type
-  forall (R : Type.{u1}) {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M _inst_1 _inst_2], Eq.{succ u2} (forall (a : M), (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => MulOpposite.{u2} M) a) (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M (MulOpposite.{u2} M) _inst_2 (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_3 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3)) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => MulOpposite.{u2} M) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R M (MulOpposite.{u2} M) _inst_1 _inst_1 _inst_2 (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_3 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (LinearEquiv.toLinearMap.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) M (MulOpposite.{u2} M) _inst_2 (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_3 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) (MulOpposite.opLinearEquiv.{u1, u2} R M _inst_1 _inst_2 _inst_3))) (MulOpposite.op.{u2} M)
-Case conversion may be inaccurate. Consider using '#align mul_opposite.coe_op_linear_equiv_to_linear_map MulOpposite.coe_opLinearEquiv_toLinearMapₓ'. -/
 @[simp]
 theorem coe_opLinearEquiv_toLinearMap : ((opLinearEquiv R).toLinearMap : M → Mᵐᵒᵖ) = op :=
   rfl
 #align mul_opposite.coe_op_linear_equiv_to_linear_map MulOpposite.coe_opLinearEquiv_toLinearMap
 
-/- warning: mul_opposite.coe_op_linear_equiv_symm_to_linear_map -> MulOpposite.coe_opLinearEquiv_symm_toLinearMap is a dubious translation:
-lean 3 declaration is
-  forall (R : Type.{u1}) {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M _inst_1 _inst_2], Eq.{succ u2} ((fun (_x : LinearMap.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (MulOpposite.{u2} M) M (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_2 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) _inst_3) => (MulOpposite.{u2} M) -> M) (LinearEquiv.toLinearMap.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (MulOpposite.{u2} M) M (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_2 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) _inst_3 (LinearEquiv.symm.{u1, u1, u2, u2} R R M (MulOpposite.{u2} M) _inst_1 _inst_1 _inst_2 (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_3 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (MulOpposite.opLinearEquiv.{u1, u2} R M _inst_1 _inst_2 _inst_3)))) (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (MulOpposite.{u2} M) M (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_2 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) _inst_3) (fun (_x : LinearMap.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (MulOpposite.{u2} M) M (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_2 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) _inst_3) => (MulOpposite.{u2} M) -> M) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R (MulOpposite.{u2} M) M _inst_1 _inst_1 (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_2 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (LinearEquiv.toLinearMap.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (MulOpposite.{u2} M) M (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_2 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) _inst_3 (LinearEquiv.symm.{u1, u1, u2, u2} R R M (MulOpposite.{u2} M) _inst_1 _inst_1 _inst_2 (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_3 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (MulOpposite.opLinearEquiv.{u1, u2} R M _inst_1 _inst_2 _inst_3)))) (MulOpposite.unop.{u2} M)
-but is expected to have type
-  forall (R : Type.{u1}) {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M _inst_1 _inst_2], Eq.{succ u2} (forall (a : MulOpposite.{u2} M), (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : MulOpposite.{u2} M) => M) a) (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (MulOpposite.{u2} M) M (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_2 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) _inst_3) (MulOpposite.{u2} M) (fun (_x : MulOpposite.{u2} M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : MulOpposite.{u2} M) => M) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R (MulOpposite.{u2} M) M _inst_1 _inst_1 (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_2 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (LinearEquiv.toLinearMap.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (MulOpposite.{u2} M) M (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_2 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) _inst_3 (LinearEquiv.symm.{u1, u1, u2, u2} R R M (MulOpposite.{u2} M) _inst_1 _inst_1 _inst_2 (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_3 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (MulOpposite.opLinearEquiv.{u1, u2} R M _inst_1 _inst_2 _inst_3)))) (MulOpposite.unop.{u2} M)
-Case conversion may be inaccurate. Consider using '#align mul_opposite.coe_op_linear_equiv_symm_to_linear_map MulOpposite.coe_opLinearEquiv_symm_toLinearMapₓ'. -/
 @[simp]
 theorem coe_opLinearEquiv_symm_toLinearMap :
     ((opLinearEquiv R).symm.toLinearMap : Mᵐᵒᵖ → M) = unop :=
   rfl
 #align mul_opposite.coe_op_linear_equiv_symm_to_linear_map MulOpposite.coe_opLinearEquiv_symm_toLinearMap
 
-/- warning: mul_opposite.op_linear_equiv_to_add_equiv -> MulOpposite.opLinearEquiv_toAddEquiv is a dubious translation:
-lean 3 declaration is
-  forall (R : Type.{u1}) {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M _inst_1 _inst_2], Eq.{succ u2} (AddEquiv.{u2, u2} M (MulOpposite.{u2} M) (AddZeroClass.toHasAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (AddZeroClass.toHasAdd.{u2} (MulOpposite.{u2} M) (AddMonoid.toAddZeroClass.{u2} (MulOpposite.{u2} M) (AddCommMonoid.toAddMonoid.{u2} (MulOpposite.{u2} M) (MulOpposite.addCommMonoid.{u2} M _inst_2))))) (LinearEquiv.toAddEquiv.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) M (MulOpposite.{u2} M) _inst_2 (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_3 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) (MulOpposite.opLinearEquiv.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (MulOpposite.opAddEquiv.{u2} M (AddZeroClass.toHasAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))))
-but is expected to have type
-  forall (R : Type.{u1}) {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M _inst_1 _inst_2], Eq.{succ u2} (AddEquiv.{u2, u2} M (MulOpposite.{u2} M) (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (AddZeroClass.toAdd.{u2} (MulOpposite.{u2} M) (AddMonoid.toAddZeroClass.{u2} (MulOpposite.{u2} M) (AddCommMonoid.toAddMonoid.{u2} (MulOpposite.{u2} M) (MulOpposite.addCommMonoid.{u2} M _inst_2))))) (LinearEquiv.toAddEquiv.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) M (MulOpposite.{u2} M) _inst_2 (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_3 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) (MulOpposite.opLinearEquiv.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (MulOpposite.opAddEquiv.{u2} M (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))))
-Case conversion may be inaccurate. Consider using '#align mul_opposite.op_linear_equiv_to_add_equiv MulOpposite.opLinearEquiv_toAddEquivₓ'. -/
 @[simp]
 theorem opLinearEquiv_toAddEquiv : (opLinearEquiv R : M ≃ₗ[R] Mᵐᵒᵖ).toAddEquiv = opAddEquiv :=
   rfl
 #align mul_opposite.op_linear_equiv_to_add_equiv MulOpposite.opLinearEquiv_toAddEquiv
 
-/- warning: mul_opposite.op_linear_equiv_symm_to_add_equiv -> MulOpposite.opLinearEquiv_symm_toAddEquiv is a dubious translation:
-lean 3 declaration is
-  forall (R : Type.{u1}) {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M _inst_1 _inst_2], Eq.{succ u2} (AddEquiv.{u2, u2} (MulOpposite.{u2} M) M (AddZeroClass.toHasAdd.{u2} (MulOpposite.{u2} M) (AddMonoid.toAddZeroClass.{u2} (MulOpposite.{u2} M) (AddCommMonoid.toAddMonoid.{u2} (MulOpposite.{u2} M) (MulOpposite.addCommMonoid.{u2} M _inst_2)))) (AddZeroClass.toHasAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)))) (LinearEquiv.toAddEquiv.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (MulOpposite.{u2} M) M (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_2 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) _inst_3 (LinearEquiv.symm.{u1, u1, u2, u2} R R M (MulOpposite.{u2} M) _inst_1 _inst_1 _inst_2 (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_3 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (MulOpposite.opLinearEquiv.{u1, u2} R M _inst_1 _inst_2 _inst_3))) (AddEquiv.symm.{u2, u2} M (MulOpposite.{u2} M) (AddZeroClass.toHasAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (MulOpposite.hasAdd.{u2} M (AddZeroClass.toHasAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)))) (MulOpposite.opAddEquiv.{u2} M (AddZeroClass.toHasAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)))))
-but is expected to have type
-  forall (R : Type.{u1}) {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M _inst_1 _inst_2], Eq.{succ u2} (AddEquiv.{u2, u2} (MulOpposite.{u2} M) M (AddZeroClass.toAdd.{u2} (MulOpposite.{u2} M) (AddMonoid.toAddZeroClass.{u2} (MulOpposite.{u2} M) (AddCommMonoid.toAddMonoid.{u2} (MulOpposite.{u2} M) (MulOpposite.addCommMonoid.{u2} M _inst_2)))) (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)))) (LinearEquiv.toAddEquiv.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (MulOpposite.{u2} M) M (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_2 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) _inst_3 (LinearEquiv.symm.{u1, u1, u2, u2} R R M (MulOpposite.{u2} M) _inst_1 _inst_1 _inst_2 (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_3 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (MulOpposite.opLinearEquiv.{u1, u2} R M _inst_1 _inst_2 _inst_3))) (AddEquiv.symm.{u2, u2} M (MulOpposite.{u2} M) (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (MulOpposite.add.{u2} M (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)))) (MulOpposite.opAddEquiv.{u2} M (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)))))
-Case conversion may be inaccurate. Consider using '#align mul_opposite.op_linear_equiv_symm_to_add_equiv MulOpposite.opLinearEquiv_symm_toAddEquivₓ'. -/
 @[simp]
 theorem opLinearEquiv_symm_toAddEquiv :
     (opLinearEquiv R : M ≃ₗ[R] Mᵐᵒᵖ).symm.toAddEquiv = opAddEquiv.symm :=
Diff
@@ -44,10 +44,7 @@ def opLinearEquiv : M ≃ₗ[R] Mᵐᵒᵖ :=
 -/
 
 /- warning: mul_opposite.coe_op_linear_equiv -> MulOpposite.coe_opLinearEquiv is a dubious translation:
-lean 3 declaration is
-  forall (R : Type.{u1}) {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M _inst_1 _inst_2], Eq.{succ u2} ((fun (_x : LinearEquiv.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) M (MulOpposite.{u2} M) _inst_2 (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_3 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3)) => M -> (MulOpposite.{u2} M)) (MulOpposite.opLinearEquiv.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (coeFn.{succ u2, succ u2} (LinearEquiv.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) M (MulOpposite.{u2} M) _inst_2 (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_3 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (fun (_x : LinearEquiv.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) M (MulOpposite.{u2} M) _inst_2 (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_3 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3)) => M -> (MulOpposite.{u2} M)) (LinearEquiv.hasCoeToFun.{u1, u1, u2, u2} R R M (MulOpposite.{u2} M) _inst_1 _inst_1 _inst_2 (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_3 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1)) (MulOpposite.opLinearEquiv.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (MulOpposite.op.{u2} M)
-but is expected to have type
-  forall (R : Type.{u1}) {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M _inst_1 _inst_2], Eq.{succ u2} (forall (a : M), (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : M) => MulOpposite.{u2} M) a) (FunLike.coe.{succ u2, succ u2, succ u2} (LinearEquiv.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) M (MulOpposite.{u2} M) _inst_2 (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_3 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3)) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : M) => MulOpposite.{u2} M) _x) (SMulHomClass.toFunLike.{u2, u1, u2, u2} (LinearEquiv.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) M (MulOpposite.{u2} M) _inst_2 (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_3 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3)) R M (MulOpposite.{u2} M) (SMulZeroClass.toSMul.{u1, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (DistribSMul.toSMulZeroClass.{u1, u2} R M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (DistribMulAction.toDistribSMul.{u1, u2} R M (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (Module.toDistribMulAction.{u1, u2} R M _inst_1 _inst_2 _inst_3)))) (SMulZeroClass.toSMul.{u1, u2} R (MulOpposite.{u2} M) (AddMonoid.toZero.{u2} (MulOpposite.{u2} M) (AddCommMonoid.toAddMonoid.{u2} (MulOpposite.{u2} M) (MulOpposite.addCommMonoid.{u2} M _inst_2))) (DistribSMul.toSMulZeroClass.{u1, u2} R (MulOpposite.{u2} M) (AddMonoid.toAddZeroClass.{u2} (MulOpposite.{u2} M) (AddCommMonoid.toAddMonoid.{u2} (MulOpposite.{u2} M) (MulOpposite.addCommMonoid.{u2} M _inst_2))) (DistribMulAction.toDistribSMul.{u1, u2} R (MulOpposite.{u2} M) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{u2} (MulOpposite.{u2} M) (MulOpposite.addCommMonoid.{u2} M _inst_2)) (Module.toDistribMulAction.{u1, u2} R (MulOpposite.{u2} M) _inst_1 (MulOpposite.addCommMonoid.{u2} M _inst_2) (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (DistribMulActionHomClass.toSMulHomClass.{u2, u1, u2, u2} (LinearEquiv.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) M (MulOpposite.{u2} M) _inst_2 (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_3 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3)) R M (MulOpposite.{u2} M) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (AddCommMonoid.toAddMonoid.{u2} (MulOpposite.{u2} M) (MulOpposite.addCommMonoid.{u2} M _inst_2)) (Module.toDistribMulAction.{u1, u2} R M _inst_1 _inst_2 _inst_3) (Module.toDistribMulAction.{u1, u2} R (MulOpposite.{u2} M) _inst_1 (MulOpposite.addCommMonoid.{u2} M _inst_2) (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (SemilinearMapClass.distribMulActionHomClass.{u1, u2, u2, u2} R M (MulOpposite.{u2} M) (LinearEquiv.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) M (MulOpposite.{u2} M) _inst_2 (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_3 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_1 _inst_2 (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_3 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, u2, u2, u2} R R M (MulOpposite.{u2} M) (LinearEquiv.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) M (MulOpposite.{u2} M) _inst_2 (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_3 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_1 _inst_1 _inst_2 (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_3 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, u2, u2} R R M (MulOpposite.{u2} M) _inst_1 _inst_1 _inst_2 (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_3 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1)))))) (MulOpposite.opLinearEquiv.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (MulOpposite.op.{u2} M)
+<too large>
 Case conversion may be inaccurate. Consider using '#align mul_opposite.coe_op_linear_equiv MulOpposite.coe_opLinearEquivₓ'. -/
 @[simp]
 theorem coe_opLinearEquiv : (opLinearEquiv R : M → Mᵐᵒᵖ) = op :=
@@ -55,10 +52,7 @@ theorem coe_opLinearEquiv : (opLinearEquiv R : M → Mᵐᵒᵖ) = op :=
 #align mul_opposite.coe_op_linear_equiv MulOpposite.coe_opLinearEquiv
 
 /- warning: mul_opposite.coe_op_linear_equiv_symm -> MulOpposite.coe_opLinearEquiv_symm is a dubious translation:
-lean 3 declaration is
-  forall (R : Type.{u1}) {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M _inst_1 _inst_2], Eq.{succ u2} ((fun (_x : LinearEquiv.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (MulOpposite.{u2} M) M (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_2 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) _inst_3) => (MulOpposite.{u2} M) -> M) (LinearEquiv.symm.{u1, u1, u2, u2} R R M (MulOpposite.{u2} M) _inst_1 _inst_1 _inst_2 (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_3 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (MulOpposite.opLinearEquiv.{u1, u2} R M _inst_1 _inst_2 _inst_3))) (coeFn.{succ u2, succ u2} (LinearEquiv.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (MulOpposite.{u2} M) M (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_2 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) _inst_3) (fun (_x : LinearEquiv.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (MulOpposite.{u2} M) M (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_2 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) _inst_3) => (MulOpposite.{u2} M) -> M) (LinearEquiv.hasCoeToFun.{u1, u1, u2, u2} R R (MulOpposite.{u2} M) M _inst_1 _inst_1 (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_2 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1)) (LinearEquiv.symm.{u1, u1, u2, u2} R R M (MulOpposite.{u2} M) _inst_1 _inst_1 _inst_2 (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_3 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (MulOpposite.opLinearEquiv.{u1, u2} R M _inst_1 _inst_2 _inst_3))) (MulOpposite.unop.{u2} M)
-but is expected to have type
-  forall (R : Type.{u1}) {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M _inst_1 _inst_2], Eq.{succ u2} (forall (a : MulOpposite.{u2} M), (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : MulOpposite.{u2} M) => M) a) (FunLike.coe.{succ u2, succ u2, succ u2} (LinearEquiv.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (MulOpposite.{u2} M) M (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_2 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) _inst_3) (MulOpposite.{u2} M) (fun (_x : MulOpposite.{u2} M) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : MulOpposite.{u2} M) => M) _x) (SMulHomClass.toFunLike.{u2, u1, u2, u2} (LinearEquiv.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (MulOpposite.{u2} M) M (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_2 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) _inst_3) R (MulOpposite.{u2} M) M (SMulZeroClass.toSMul.{u1, u2} R (MulOpposite.{u2} M) (AddMonoid.toZero.{u2} (MulOpposite.{u2} M) (AddCommMonoid.toAddMonoid.{u2} (MulOpposite.{u2} M) (MulOpposite.addCommMonoid.{u2} M _inst_2))) (DistribSMul.toSMulZeroClass.{u1, u2} R (MulOpposite.{u2} M) (AddMonoid.toAddZeroClass.{u2} (MulOpposite.{u2} M) (AddCommMonoid.toAddMonoid.{u2} (MulOpposite.{u2} M) (MulOpposite.addCommMonoid.{u2} M _inst_2))) (DistribMulAction.toDistribSMul.{u1, u2} R (MulOpposite.{u2} M) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{u2} (MulOpposite.{u2} M) (MulOpposite.addCommMonoid.{u2} M _inst_2)) (Module.toDistribMulAction.{u1, u2} R (MulOpposite.{u2} M) _inst_1 (MulOpposite.addCommMonoid.{u2} M _inst_2) (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (SMulZeroClass.toSMul.{u1, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (DistribSMul.toSMulZeroClass.{u1, u2} R M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (DistribMulAction.toDistribSMul.{u1, u2} R M (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (Module.toDistribMulAction.{u1, u2} R M _inst_1 _inst_2 _inst_3)))) (DistribMulActionHomClass.toSMulHomClass.{u2, u1, u2, u2} (LinearEquiv.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (MulOpposite.{u2} M) M (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_2 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) _inst_3) R (MulOpposite.{u2} M) M (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{u2} (MulOpposite.{u2} M) (MulOpposite.addCommMonoid.{u2} M _inst_2)) (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (Module.toDistribMulAction.{u1, u2} R (MulOpposite.{u2} M) _inst_1 (MulOpposite.addCommMonoid.{u2} M _inst_2) (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (Module.toDistribMulAction.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SemilinearMapClass.distribMulActionHomClass.{u1, u2, u2, u2} R (MulOpposite.{u2} M) M (LinearEquiv.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (MulOpposite.{u2} M) M (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_2 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) _inst_3) _inst_1 (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_2 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) _inst_3 (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, u2, u2, u2} R R (MulOpposite.{u2} M) M (LinearEquiv.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (MulOpposite.{u2} M) M (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_2 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) _inst_3) _inst_1 _inst_1 (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_2 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, u2, u2} R R (MulOpposite.{u2} M) M _inst_1 _inst_1 (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_2 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1)))))) (LinearEquiv.symm.{u1, u1, u2, u2} R R M (MulOpposite.{u2} M) _inst_1 _inst_1 _inst_2 (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_3 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (MulOpposite.opLinearEquiv.{u1, u2} R M _inst_1 _inst_2 _inst_3))) (MulOpposite.unop.{u2} M)
+<too large>
 Case conversion may be inaccurate. Consider using '#align mul_opposite.coe_op_linear_equiv_symm MulOpposite.coe_opLinearEquiv_symmₓ'. -/
 @[simp]
 theorem coe_opLinearEquiv_symm : ((opLinearEquiv R).symm : Mᵐᵒᵖ → M) = unop :=
Diff
@@ -47,7 +47,7 @@ def opLinearEquiv : M ≃ₗ[R] Mᵐᵒᵖ :=
 lean 3 declaration is
   forall (R : Type.{u1}) {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M _inst_1 _inst_2], Eq.{succ u2} ((fun (_x : LinearEquiv.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) M (MulOpposite.{u2} M) _inst_2 (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_3 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3)) => M -> (MulOpposite.{u2} M)) (MulOpposite.opLinearEquiv.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (coeFn.{succ u2, succ u2} (LinearEquiv.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) M (MulOpposite.{u2} M) _inst_2 (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_3 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (fun (_x : LinearEquiv.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) M (MulOpposite.{u2} M) _inst_2 (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_3 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3)) => M -> (MulOpposite.{u2} M)) (LinearEquiv.hasCoeToFun.{u1, u1, u2, u2} R R M (MulOpposite.{u2} M) _inst_1 _inst_1 _inst_2 (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_3 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1)) (MulOpposite.opLinearEquiv.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (MulOpposite.op.{u2} M)
 but is expected to have type
-  forall (R : Type.{u1}) {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M _inst_1 _inst_2], Eq.{succ u2} (forall (a : M), (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : M) => MulOpposite.{u2} M) a) (FunLike.coe.{succ u2, succ u2, succ u2} (LinearEquiv.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) M (MulOpposite.{u2} M) _inst_2 (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_3 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3)) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : M) => MulOpposite.{u2} M) _x) (SMulHomClass.toFunLike.{u2, u1, u2, u2} (LinearEquiv.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) M (MulOpposite.{u2} M) _inst_2 (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_3 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3)) R M (MulOpposite.{u2} M) (SMulZeroClass.toSMul.{u1, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (DistribSMul.toSMulZeroClass.{u1, u2} R M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (DistribMulAction.toDistribSMul.{u1, u2} R M (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (Module.toDistribMulAction.{u1, u2} R M _inst_1 _inst_2 _inst_3)))) (SMulZeroClass.toSMul.{u1, u2} R (MulOpposite.{u2} M) (AddMonoid.toZero.{u2} (MulOpposite.{u2} M) (AddCommMonoid.toAddMonoid.{u2} (MulOpposite.{u2} M) (MulOpposite.addCommMonoid.{u2} M _inst_2))) (DistribSMul.toSMulZeroClass.{u1, u2} R (MulOpposite.{u2} M) (AddMonoid.toAddZeroClass.{u2} (MulOpposite.{u2} M) (AddCommMonoid.toAddMonoid.{u2} (MulOpposite.{u2} M) (MulOpposite.addCommMonoid.{u2} M _inst_2))) (DistribMulAction.toDistribSMul.{u1, u2} R (MulOpposite.{u2} M) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{u2} (MulOpposite.{u2} M) (MulOpposite.addCommMonoid.{u2} M _inst_2)) (Module.toDistribMulAction.{u1, u2} R (MulOpposite.{u2} M) _inst_1 (MulOpposite.addCommMonoid.{u2} M _inst_2) (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (DistribMulActionHomClass.toSMulHomClass.{u2, u1, u2, u2} (LinearEquiv.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) M (MulOpposite.{u2} M) _inst_2 (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_3 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3)) R M (MulOpposite.{u2} M) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (AddCommMonoid.toAddMonoid.{u2} (MulOpposite.{u2} M) (MulOpposite.addCommMonoid.{u2} M _inst_2)) (Module.toDistribMulAction.{u1, u2} R M _inst_1 _inst_2 _inst_3) (Module.toDistribMulAction.{u1, u2} R (MulOpposite.{u2} M) _inst_1 (MulOpposite.addCommMonoid.{u2} M _inst_2) (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (SemilinearMapClass.distribMulActionHomClass.{u1, u2, u2, u2} R M (MulOpposite.{u2} M) (LinearEquiv.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) M (MulOpposite.{u2} M) _inst_2 (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_3 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_1 _inst_2 (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_3 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, u2, u2, u2} R R M (MulOpposite.{u2} M) (LinearEquiv.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) M (MulOpposite.{u2} M) _inst_2 (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_3 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_1 _inst_1 _inst_2 (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_3 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, u2, u2} R R M (MulOpposite.{u2} M) _inst_1 _inst_1 _inst_2 (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_3 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1)))))) (MulOpposite.opLinearEquiv.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (MulOpposite.op.{u2} M)
+  forall (R : Type.{u1}) {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M _inst_1 _inst_2], Eq.{succ u2} (forall (a : M), (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : M) => MulOpposite.{u2} M) a) (FunLike.coe.{succ u2, succ u2, succ u2} (LinearEquiv.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) M (MulOpposite.{u2} M) _inst_2 (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_3 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3)) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : M) => MulOpposite.{u2} M) _x) (SMulHomClass.toFunLike.{u2, u1, u2, u2} (LinearEquiv.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) M (MulOpposite.{u2} M) _inst_2 (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_3 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3)) R M (MulOpposite.{u2} M) (SMulZeroClass.toSMul.{u1, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (DistribSMul.toSMulZeroClass.{u1, u2} R M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (DistribMulAction.toDistribSMul.{u1, u2} R M (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (Module.toDistribMulAction.{u1, u2} R M _inst_1 _inst_2 _inst_3)))) (SMulZeroClass.toSMul.{u1, u2} R (MulOpposite.{u2} M) (AddMonoid.toZero.{u2} (MulOpposite.{u2} M) (AddCommMonoid.toAddMonoid.{u2} (MulOpposite.{u2} M) (MulOpposite.addCommMonoid.{u2} M _inst_2))) (DistribSMul.toSMulZeroClass.{u1, u2} R (MulOpposite.{u2} M) (AddMonoid.toAddZeroClass.{u2} (MulOpposite.{u2} M) (AddCommMonoid.toAddMonoid.{u2} (MulOpposite.{u2} M) (MulOpposite.addCommMonoid.{u2} M _inst_2))) (DistribMulAction.toDistribSMul.{u1, u2} R (MulOpposite.{u2} M) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{u2} (MulOpposite.{u2} M) (MulOpposite.addCommMonoid.{u2} M _inst_2)) (Module.toDistribMulAction.{u1, u2} R (MulOpposite.{u2} M) _inst_1 (MulOpposite.addCommMonoid.{u2} M _inst_2) (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (DistribMulActionHomClass.toSMulHomClass.{u2, u1, u2, u2} (LinearEquiv.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) M (MulOpposite.{u2} M) _inst_2 (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_3 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3)) R M (MulOpposite.{u2} M) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (AddCommMonoid.toAddMonoid.{u2} (MulOpposite.{u2} M) (MulOpposite.addCommMonoid.{u2} M _inst_2)) (Module.toDistribMulAction.{u1, u2} R M _inst_1 _inst_2 _inst_3) (Module.toDistribMulAction.{u1, u2} R (MulOpposite.{u2} M) _inst_1 (MulOpposite.addCommMonoid.{u2} M _inst_2) (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (SemilinearMapClass.distribMulActionHomClass.{u1, u2, u2, u2} R M (MulOpposite.{u2} M) (LinearEquiv.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) M (MulOpposite.{u2} M) _inst_2 (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_3 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_1 _inst_2 (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_3 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, u2, u2, u2} R R M (MulOpposite.{u2} M) (LinearEquiv.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) M (MulOpposite.{u2} M) _inst_2 (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_3 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_1 _inst_1 _inst_2 (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_3 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, u2, u2} R R M (MulOpposite.{u2} M) _inst_1 _inst_1 _inst_2 (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_3 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1)))))) (MulOpposite.opLinearEquiv.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (MulOpposite.op.{u2} M)
 Case conversion may be inaccurate. Consider using '#align mul_opposite.coe_op_linear_equiv MulOpposite.coe_opLinearEquivₓ'. -/
 @[simp]
 theorem coe_opLinearEquiv : (opLinearEquiv R : M → Mᵐᵒᵖ) = op :=
@@ -58,7 +58,7 @@ theorem coe_opLinearEquiv : (opLinearEquiv R : M → Mᵐᵒᵖ) = op :=
 lean 3 declaration is
   forall (R : Type.{u1}) {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M _inst_1 _inst_2], Eq.{succ u2} ((fun (_x : LinearEquiv.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (MulOpposite.{u2} M) M (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_2 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) _inst_3) => (MulOpposite.{u2} M) -> M) (LinearEquiv.symm.{u1, u1, u2, u2} R R M (MulOpposite.{u2} M) _inst_1 _inst_1 _inst_2 (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_3 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (MulOpposite.opLinearEquiv.{u1, u2} R M _inst_1 _inst_2 _inst_3))) (coeFn.{succ u2, succ u2} (LinearEquiv.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (MulOpposite.{u2} M) M (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_2 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) _inst_3) (fun (_x : LinearEquiv.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (MulOpposite.{u2} M) M (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_2 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) _inst_3) => (MulOpposite.{u2} M) -> M) (LinearEquiv.hasCoeToFun.{u1, u1, u2, u2} R R (MulOpposite.{u2} M) M _inst_1 _inst_1 (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_2 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1)) (LinearEquiv.symm.{u1, u1, u2, u2} R R M (MulOpposite.{u2} M) _inst_1 _inst_1 _inst_2 (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_3 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (MulOpposite.opLinearEquiv.{u1, u2} R M _inst_1 _inst_2 _inst_3))) (MulOpposite.unop.{u2} M)
 but is expected to have type
-  forall (R : Type.{u1}) {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M _inst_1 _inst_2], Eq.{succ u2} (forall (a : MulOpposite.{u2} M), (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MulOpposite.{u2} M) => M) a) (FunLike.coe.{succ u2, succ u2, succ u2} (LinearEquiv.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (MulOpposite.{u2} M) M (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_2 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) _inst_3) (MulOpposite.{u2} M) (fun (_x : MulOpposite.{u2} M) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MulOpposite.{u2} M) => M) _x) (SMulHomClass.toFunLike.{u2, u1, u2, u2} (LinearEquiv.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (MulOpposite.{u2} M) M (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_2 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) _inst_3) R (MulOpposite.{u2} M) M (SMulZeroClass.toSMul.{u1, u2} R (MulOpposite.{u2} M) (AddMonoid.toZero.{u2} (MulOpposite.{u2} M) (AddCommMonoid.toAddMonoid.{u2} (MulOpposite.{u2} M) (MulOpposite.addCommMonoid.{u2} M _inst_2))) (DistribSMul.toSMulZeroClass.{u1, u2} R (MulOpposite.{u2} M) (AddMonoid.toAddZeroClass.{u2} (MulOpposite.{u2} M) (AddCommMonoid.toAddMonoid.{u2} (MulOpposite.{u2} M) (MulOpposite.addCommMonoid.{u2} M _inst_2))) (DistribMulAction.toDistribSMul.{u1, u2} R (MulOpposite.{u2} M) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{u2} (MulOpposite.{u2} M) (MulOpposite.addCommMonoid.{u2} M _inst_2)) (Module.toDistribMulAction.{u1, u2} R (MulOpposite.{u2} M) _inst_1 (MulOpposite.addCommMonoid.{u2} M _inst_2) (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (SMulZeroClass.toSMul.{u1, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (DistribSMul.toSMulZeroClass.{u1, u2} R M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (DistribMulAction.toDistribSMul.{u1, u2} R M (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (Module.toDistribMulAction.{u1, u2} R M _inst_1 _inst_2 _inst_3)))) (DistribMulActionHomClass.toSMulHomClass.{u2, u1, u2, u2} (LinearEquiv.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (MulOpposite.{u2} M) M (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_2 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) _inst_3) R (MulOpposite.{u2} M) M (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{u2} (MulOpposite.{u2} M) (MulOpposite.addCommMonoid.{u2} M _inst_2)) (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (Module.toDistribMulAction.{u1, u2} R (MulOpposite.{u2} M) _inst_1 (MulOpposite.addCommMonoid.{u2} M _inst_2) (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (Module.toDistribMulAction.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SemilinearMapClass.distribMulActionHomClass.{u1, u2, u2, u2} R (MulOpposite.{u2} M) M (LinearEquiv.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (MulOpposite.{u2} M) M (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_2 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) _inst_3) _inst_1 (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_2 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) _inst_3 (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, u2, u2, u2} R R (MulOpposite.{u2} M) M (LinearEquiv.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (MulOpposite.{u2} M) M (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_2 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) _inst_3) _inst_1 _inst_1 (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_2 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, u2, u2} R R (MulOpposite.{u2} M) M _inst_1 _inst_1 (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_2 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1)))))) (LinearEquiv.symm.{u1, u1, u2, u2} R R M (MulOpposite.{u2} M) _inst_1 _inst_1 _inst_2 (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_3 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (MulOpposite.opLinearEquiv.{u1, u2} R M _inst_1 _inst_2 _inst_3))) (MulOpposite.unop.{u2} M)
+  forall (R : Type.{u1}) {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M _inst_1 _inst_2], Eq.{succ u2} (forall (a : MulOpposite.{u2} M), (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : MulOpposite.{u2} M) => M) a) (FunLike.coe.{succ u2, succ u2, succ u2} (LinearEquiv.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (MulOpposite.{u2} M) M (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_2 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) _inst_3) (MulOpposite.{u2} M) (fun (_x : MulOpposite.{u2} M) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : MulOpposite.{u2} M) => M) _x) (SMulHomClass.toFunLike.{u2, u1, u2, u2} (LinearEquiv.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (MulOpposite.{u2} M) M (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_2 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) _inst_3) R (MulOpposite.{u2} M) M (SMulZeroClass.toSMul.{u1, u2} R (MulOpposite.{u2} M) (AddMonoid.toZero.{u2} (MulOpposite.{u2} M) (AddCommMonoid.toAddMonoid.{u2} (MulOpposite.{u2} M) (MulOpposite.addCommMonoid.{u2} M _inst_2))) (DistribSMul.toSMulZeroClass.{u1, u2} R (MulOpposite.{u2} M) (AddMonoid.toAddZeroClass.{u2} (MulOpposite.{u2} M) (AddCommMonoid.toAddMonoid.{u2} (MulOpposite.{u2} M) (MulOpposite.addCommMonoid.{u2} M _inst_2))) (DistribMulAction.toDistribSMul.{u1, u2} R (MulOpposite.{u2} M) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{u2} (MulOpposite.{u2} M) (MulOpposite.addCommMonoid.{u2} M _inst_2)) (Module.toDistribMulAction.{u1, u2} R (MulOpposite.{u2} M) _inst_1 (MulOpposite.addCommMonoid.{u2} M _inst_2) (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (SMulZeroClass.toSMul.{u1, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (DistribSMul.toSMulZeroClass.{u1, u2} R M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (DistribMulAction.toDistribSMul.{u1, u2} R M (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (Module.toDistribMulAction.{u1, u2} R M _inst_1 _inst_2 _inst_3)))) (DistribMulActionHomClass.toSMulHomClass.{u2, u1, u2, u2} (LinearEquiv.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (MulOpposite.{u2} M) M (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_2 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) _inst_3) R (MulOpposite.{u2} M) M (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{u2} (MulOpposite.{u2} M) (MulOpposite.addCommMonoid.{u2} M _inst_2)) (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (Module.toDistribMulAction.{u1, u2} R (MulOpposite.{u2} M) _inst_1 (MulOpposite.addCommMonoid.{u2} M _inst_2) (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (Module.toDistribMulAction.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SemilinearMapClass.distribMulActionHomClass.{u1, u2, u2, u2} R (MulOpposite.{u2} M) M (LinearEquiv.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (MulOpposite.{u2} M) M (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_2 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) _inst_3) _inst_1 (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_2 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) _inst_3 (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, u2, u2, u2} R R (MulOpposite.{u2} M) M (LinearEquiv.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (MulOpposite.{u2} M) M (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_2 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) _inst_3) _inst_1 _inst_1 (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_2 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, u2, u2} R R (MulOpposite.{u2} M) M _inst_1 _inst_1 (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_2 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1)))))) (LinearEquiv.symm.{u1, u1, u2, u2} R R M (MulOpposite.{u2} M) _inst_1 _inst_1 _inst_2 (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_3 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (MulOpposite.opLinearEquiv.{u1, u2} R M _inst_1 _inst_2 _inst_3))) (MulOpposite.unop.{u2} M)
 Case conversion may be inaccurate. Consider using '#align mul_opposite.coe_op_linear_equiv_symm MulOpposite.coe_opLinearEquiv_symmₓ'. -/
 @[simp]
 theorem coe_opLinearEquiv_symm : ((opLinearEquiv R).symm : Mᵐᵒᵖ → M) = unop :=
@@ -69,7 +69,7 @@ theorem coe_opLinearEquiv_symm : ((opLinearEquiv R).symm : Mᵐᵒᵖ → M) = u
 lean 3 declaration is
   forall (R : Type.{u1}) {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M _inst_1 _inst_2], Eq.{succ u2} ((fun (_x : LinearMap.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M (MulOpposite.{u2} M) _inst_2 (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_3 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3)) => M -> (MulOpposite.{u2} M)) (LinearEquiv.toLinearMap.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) M (MulOpposite.{u2} M) _inst_2 (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_3 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) (MulOpposite.opLinearEquiv.{u1, u2} R M _inst_1 _inst_2 _inst_3))) (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M (MulOpposite.{u2} M) _inst_2 (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_3 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (fun (_x : LinearMap.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M (MulOpposite.{u2} M) _inst_2 (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_3 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3)) => M -> (MulOpposite.{u2} M)) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R M (MulOpposite.{u2} M) _inst_1 _inst_1 _inst_2 (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_3 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (LinearEquiv.toLinearMap.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) M (MulOpposite.{u2} M) _inst_2 (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_3 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) (MulOpposite.opLinearEquiv.{u1, u2} R M _inst_1 _inst_2 _inst_3))) (MulOpposite.op.{u2} M)
 but is expected to have type
-  forall (R : Type.{u1}) {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M _inst_1 _inst_2], Eq.{succ u2} (forall (a : M), (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => MulOpposite.{u2} M) a) (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M (MulOpposite.{u2} M) _inst_2 (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_3 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3)) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => MulOpposite.{u2} M) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R M (MulOpposite.{u2} M) _inst_1 _inst_1 _inst_2 (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_3 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (LinearEquiv.toLinearMap.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) M (MulOpposite.{u2} M) _inst_2 (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_3 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) (MulOpposite.opLinearEquiv.{u1, u2} R M _inst_1 _inst_2 _inst_3))) (MulOpposite.op.{u2} M)
+  forall (R : Type.{u1}) {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M _inst_1 _inst_2], Eq.{succ u2} (forall (a : M), (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => MulOpposite.{u2} M) a) (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M (MulOpposite.{u2} M) _inst_2 (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_3 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3)) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => MulOpposite.{u2} M) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R M (MulOpposite.{u2} M) _inst_1 _inst_1 _inst_2 (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_3 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (LinearEquiv.toLinearMap.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) M (MulOpposite.{u2} M) _inst_2 (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_3 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) (MulOpposite.opLinearEquiv.{u1, u2} R M _inst_1 _inst_2 _inst_3))) (MulOpposite.op.{u2} M)
 Case conversion may be inaccurate. Consider using '#align mul_opposite.coe_op_linear_equiv_to_linear_map MulOpposite.coe_opLinearEquiv_toLinearMapₓ'. -/
 @[simp]
 theorem coe_opLinearEquiv_toLinearMap : ((opLinearEquiv R).toLinearMap : M → Mᵐᵒᵖ) = op :=
@@ -80,7 +80,7 @@ theorem coe_opLinearEquiv_toLinearMap : ((opLinearEquiv R).toLinearMap : M → M
 lean 3 declaration is
   forall (R : Type.{u1}) {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M _inst_1 _inst_2], Eq.{succ u2} ((fun (_x : LinearMap.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (MulOpposite.{u2} M) M (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_2 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) _inst_3) => (MulOpposite.{u2} M) -> M) (LinearEquiv.toLinearMap.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (MulOpposite.{u2} M) M (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_2 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) _inst_3 (LinearEquiv.symm.{u1, u1, u2, u2} R R M (MulOpposite.{u2} M) _inst_1 _inst_1 _inst_2 (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_3 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (MulOpposite.opLinearEquiv.{u1, u2} R M _inst_1 _inst_2 _inst_3)))) (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (MulOpposite.{u2} M) M (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_2 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) _inst_3) (fun (_x : LinearMap.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (MulOpposite.{u2} M) M (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_2 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) _inst_3) => (MulOpposite.{u2} M) -> M) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R (MulOpposite.{u2} M) M _inst_1 _inst_1 (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_2 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (LinearEquiv.toLinearMap.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (MulOpposite.{u2} M) M (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_2 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) _inst_3 (LinearEquiv.symm.{u1, u1, u2, u2} R R M (MulOpposite.{u2} M) _inst_1 _inst_1 _inst_2 (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_3 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (MulOpposite.opLinearEquiv.{u1, u2} R M _inst_1 _inst_2 _inst_3)))) (MulOpposite.unop.{u2} M)
 but is expected to have type
-  forall (R : Type.{u1}) {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M _inst_1 _inst_2], Eq.{succ u2} (forall (a : MulOpposite.{u2} M), (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : MulOpposite.{u2} M) => M) a) (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (MulOpposite.{u2} M) M (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_2 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) _inst_3) (MulOpposite.{u2} M) (fun (_x : MulOpposite.{u2} M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : MulOpposite.{u2} M) => M) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R (MulOpposite.{u2} M) M _inst_1 _inst_1 (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_2 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (LinearEquiv.toLinearMap.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (MulOpposite.{u2} M) M (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_2 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) _inst_3 (LinearEquiv.symm.{u1, u1, u2, u2} R R M (MulOpposite.{u2} M) _inst_1 _inst_1 _inst_2 (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_3 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (MulOpposite.opLinearEquiv.{u1, u2} R M _inst_1 _inst_2 _inst_3)))) (MulOpposite.unop.{u2} M)
+  forall (R : Type.{u1}) {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M _inst_1 _inst_2], Eq.{succ u2} (forall (a : MulOpposite.{u2} M), (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : MulOpposite.{u2} M) => M) a) (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (MulOpposite.{u2} M) M (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_2 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) _inst_3) (MulOpposite.{u2} M) (fun (_x : MulOpposite.{u2} M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : MulOpposite.{u2} M) => M) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R (MulOpposite.{u2} M) M _inst_1 _inst_1 (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_2 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (LinearEquiv.toLinearMap.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (MulOpposite.{u2} M) M (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_2 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) _inst_3 (LinearEquiv.symm.{u1, u1, u2, u2} R R M (MulOpposite.{u2} M) _inst_1 _inst_1 _inst_2 (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_3 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (MulOpposite.opLinearEquiv.{u1, u2} R M _inst_1 _inst_2 _inst_3)))) (MulOpposite.unop.{u2} M)
 Case conversion may be inaccurate. Consider using '#align mul_opposite.coe_op_linear_equiv_symm_to_linear_map MulOpposite.coe_opLinearEquiv_symm_toLinearMapₓ'. -/
 @[simp]
 theorem coe_opLinearEquiv_symm_toLinearMap :
Diff
@@ -69,7 +69,7 @@ theorem coe_opLinearEquiv_symm : ((opLinearEquiv R).symm : Mᵐᵒᵖ → M) = u
 lean 3 declaration is
   forall (R : Type.{u1}) {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M _inst_1 _inst_2], Eq.{succ u2} ((fun (_x : LinearMap.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M (MulOpposite.{u2} M) _inst_2 (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_3 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3)) => M -> (MulOpposite.{u2} M)) (LinearEquiv.toLinearMap.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) M (MulOpposite.{u2} M) _inst_2 (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_3 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) (MulOpposite.opLinearEquiv.{u1, u2} R M _inst_1 _inst_2 _inst_3))) (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M (MulOpposite.{u2} M) _inst_2 (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_3 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (fun (_x : LinearMap.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M (MulOpposite.{u2} M) _inst_2 (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_3 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3)) => M -> (MulOpposite.{u2} M)) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R M (MulOpposite.{u2} M) _inst_1 _inst_1 _inst_2 (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_3 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (LinearEquiv.toLinearMap.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) M (MulOpposite.{u2} M) _inst_2 (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_3 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) (MulOpposite.opLinearEquiv.{u1, u2} R M _inst_1 _inst_2 _inst_3))) (MulOpposite.op.{u2} M)
 but is expected to have type
-  forall (R : Type.{u1}) {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M _inst_1 _inst_2], Eq.{succ u2} (forall (a : M), (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => MulOpposite.{u2} M) a) (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M (MulOpposite.{u2} M) _inst_2 (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_3 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3)) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => MulOpposite.{u2} M) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R M (MulOpposite.{u2} M) _inst_1 _inst_1 _inst_2 (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_3 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (LinearEquiv.toLinearMap.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) M (MulOpposite.{u2} M) _inst_2 (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_3 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) (MulOpposite.opLinearEquiv.{u1, u2} R M _inst_1 _inst_2 _inst_3))) (MulOpposite.op.{u2} M)
+  forall (R : Type.{u1}) {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M _inst_1 _inst_2], Eq.{succ u2} (forall (a : M), (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => MulOpposite.{u2} M) a) (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M (MulOpposite.{u2} M) _inst_2 (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_3 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3)) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => MulOpposite.{u2} M) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R M (MulOpposite.{u2} M) _inst_1 _inst_1 _inst_2 (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_3 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (LinearEquiv.toLinearMap.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) M (MulOpposite.{u2} M) _inst_2 (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_3 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) (MulOpposite.opLinearEquiv.{u1, u2} R M _inst_1 _inst_2 _inst_3))) (MulOpposite.op.{u2} M)
 Case conversion may be inaccurate. Consider using '#align mul_opposite.coe_op_linear_equiv_to_linear_map MulOpposite.coe_opLinearEquiv_toLinearMapₓ'. -/
 @[simp]
 theorem coe_opLinearEquiv_toLinearMap : ((opLinearEquiv R).toLinearMap : M → Mᵐᵒᵖ) = op :=
@@ -80,7 +80,7 @@ theorem coe_opLinearEquiv_toLinearMap : ((opLinearEquiv R).toLinearMap : M → M
 lean 3 declaration is
   forall (R : Type.{u1}) {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M _inst_1 _inst_2], Eq.{succ u2} ((fun (_x : LinearMap.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (MulOpposite.{u2} M) M (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_2 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) _inst_3) => (MulOpposite.{u2} M) -> M) (LinearEquiv.toLinearMap.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (MulOpposite.{u2} M) M (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_2 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) _inst_3 (LinearEquiv.symm.{u1, u1, u2, u2} R R M (MulOpposite.{u2} M) _inst_1 _inst_1 _inst_2 (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_3 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (MulOpposite.opLinearEquiv.{u1, u2} R M _inst_1 _inst_2 _inst_3)))) (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (MulOpposite.{u2} M) M (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_2 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) _inst_3) (fun (_x : LinearMap.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (MulOpposite.{u2} M) M (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_2 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) _inst_3) => (MulOpposite.{u2} M) -> M) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R (MulOpposite.{u2} M) M _inst_1 _inst_1 (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_2 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (LinearEquiv.toLinearMap.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (MulOpposite.{u2} M) M (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_2 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) _inst_3 (LinearEquiv.symm.{u1, u1, u2, u2} R R M (MulOpposite.{u2} M) _inst_1 _inst_1 _inst_2 (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_3 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (MulOpposite.opLinearEquiv.{u1, u2} R M _inst_1 _inst_2 _inst_3)))) (MulOpposite.unop.{u2} M)
 but is expected to have type
-  forall (R : Type.{u1}) {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M _inst_1 _inst_2], Eq.{succ u2} (forall (a : MulOpposite.{u2} M), (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : MulOpposite.{u2} M) => M) a) (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (MulOpposite.{u2} M) M (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_2 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) _inst_3) (MulOpposite.{u2} M) (fun (_x : MulOpposite.{u2} M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : MulOpposite.{u2} M) => M) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R (MulOpposite.{u2} M) M _inst_1 _inst_1 (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_2 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (LinearEquiv.toLinearMap.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (MulOpposite.{u2} M) M (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_2 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) _inst_3 (LinearEquiv.symm.{u1, u1, u2, u2} R R M (MulOpposite.{u2} M) _inst_1 _inst_1 _inst_2 (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_3 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (MulOpposite.opLinearEquiv.{u1, u2} R M _inst_1 _inst_2 _inst_3)))) (MulOpposite.unop.{u2} M)
+  forall (R : Type.{u1}) {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M _inst_1 _inst_2], Eq.{succ u2} (forall (a : MulOpposite.{u2} M), (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : MulOpposite.{u2} M) => M) a) (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (MulOpposite.{u2} M) M (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_2 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) _inst_3) (MulOpposite.{u2} M) (fun (_x : MulOpposite.{u2} M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : MulOpposite.{u2} M) => M) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R (MulOpposite.{u2} M) M _inst_1 _inst_1 (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_2 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (LinearEquiv.toLinearMap.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (MulOpposite.{u2} M) M (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_2 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) _inst_3 (LinearEquiv.symm.{u1, u1, u2, u2} R R M (MulOpposite.{u2} M) _inst_1 _inst_1 _inst_2 (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_3 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (MulOpposite.opLinearEquiv.{u1, u2} R M _inst_1 _inst_2 _inst_3)))) (MulOpposite.unop.{u2} M)
 Case conversion may be inaccurate. Consider using '#align mul_opposite.coe_op_linear_equiv_symm_to_linear_map MulOpposite.coe_opLinearEquiv_symm_toLinearMapₓ'. -/
 @[simp]
 theorem coe_opLinearEquiv_symm_toLinearMap :
Diff
@@ -36,22 +36,18 @@ instance : Module R (MulOpposite M) :=
     add_smul := fun r₁ r₂ x => unop_injective <| add_smul r₁ r₂ (unop x)
     zero_smul := fun x => unop_injective <| zero_smul _ (unop x) }
 
-/- warning: mul_opposite.op_linear_equiv -> MulOpposite.opLinearEquiv is a dubious translation:
-lean 3 declaration is
-  forall (R : Type.{u1}) {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M _inst_1 _inst_2], LinearEquiv.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) M (MulOpposite.{u2} M) _inst_2 (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_3 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3)
-but is expected to have type
-  forall (R : Type.{u1}) {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M _inst_1 _inst_2], LinearEquiv.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) M (MulOpposite.{u2} M) _inst_2 (MulOpposite.instAddCommMonoidMulOpposite.{u2} M _inst_2) _inst_3 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3)
-Case conversion may be inaccurate. Consider using '#align mul_opposite.op_linear_equiv MulOpposite.opLinearEquivₓ'. -/
+#print MulOpposite.opLinearEquiv /-
 /-- The function `op` is a linear equivalence. -/
 def opLinearEquiv : M ≃ₗ[R] Mᵐᵒᵖ :=
   { opAddEquiv with map_smul' := MulOpposite.op_smul }
 #align mul_opposite.op_linear_equiv MulOpposite.opLinearEquiv
+-/
 
 /- warning: mul_opposite.coe_op_linear_equiv -> MulOpposite.coe_opLinearEquiv is a dubious translation:
 lean 3 declaration is
   forall (R : Type.{u1}) {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M _inst_1 _inst_2], Eq.{succ u2} ((fun (_x : LinearEquiv.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) M (MulOpposite.{u2} M) _inst_2 (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_3 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3)) => M -> (MulOpposite.{u2} M)) (MulOpposite.opLinearEquiv.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (coeFn.{succ u2, succ u2} (LinearEquiv.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) M (MulOpposite.{u2} M) _inst_2 (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_3 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (fun (_x : LinearEquiv.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) M (MulOpposite.{u2} M) _inst_2 (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_3 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3)) => M -> (MulOpposite.{u2} M)) (LinearEquiv.hasCoeToFun.{u1, u1, u2, u2} R R M (MulOpposite.{u2} M) _inst_1 _inst_1 _inst_2 (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_3 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1)) (MulOpposite.opLinearEquiv.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (MulOpposite.op.{u2} M)
 but is expected to have type
-  forall (R : Type.{u1}) {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M _inst_1 _inst_2], Eq.{succ u2} (forall (a : M), (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : M) => MulOpposite.{u2} M) a) (FunLike.coe.{succ u2, succ u2, succ u2} (LinearEquiv.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) M (MulOpposite.{u2} M) _inst_2 (MulOpposite.instAddCommMonoidMulOpposite.{u2} M _inst_2) _inst_3 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3)) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : M) => MulOpposite.{u2} M) _x) (SMulHomClass.toFunLike.{u2, u1, u2, u2} (LinearEquiv.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) M (MulOpposite.{u2} M) _inst_2 (MulOpposite.instAddCommMonoidMulOpposite.{u2} M _inst_2) _inst_3 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3)) R M (MulOpposite.{u2} M) (SMulZeroClass.toSMul.{u1, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (DistribSMul.toSMulZeroClass.{u1, u2} R M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (DistribMulAction.toDistribSMul.{u1, u2} R M (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (Module.toDistribMulAction.{u1, u2} R M _inst_1 _inst_2 _inst_3)))) (SMulZeroClass.toSMul.{u1, u2} R (MulOpposite.{u2} M) (AddMonoid.toZero.{u2} (MulOpposite.{u2} M) (AddCommMonoid.toAddMonoid.{u2} (MulOpposite.{u2} M) (MulOpposite.instAddCommMonoidMulOpposite.{u2} M _inst_2))) (DistribSMul.toSMulZeroClass.{u1, u2} R (MulOpposite.{u2} M) (AddMonoid.toAddZeroClass.{u2} (MulOpposite.{u2} M) (AddCommMonoid.toAddMonoid.{u2} (MulOpposite.{u2} M) (MulOpposite.instAddCommMonoidMulOpposite.{u2} M _inst_2))) (DistribMulAction.toDistribSMul.{u1, u2} R (MulOpposite.{u2} M) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{u2} (MulOpposite.{u2} M) (MulOpposite.instAddCommMonoidMulOpposite.{u2} M _inst_2)) (Module.toDistribMulAction.{u1, u2} R (MulOpposite.{u2} M) _inst_1 (MulOpposite.instAddCommMonoidMulOpposite.{u2} M _inst_2) (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (DistribMulActionHomClass.toSMulHomClass.{u2, u1, u2, u2} (LinearEquiv.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) M (MulOpposite.{u2} M) _inst_2 (MulOpposite.instAddCommMonoidMulOpposite.{u2} M _inst_2) _inst_3 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3)) R M (MulOpposite.{u2} M) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (AddCommMonoid.toAddMonoid.{u2} (MulOpposite.{u2} M) (MulOpposite.instAddCommMonoidMulOpposite.{u2} M _inst_2)) (Module.toDistribMulAction.{u1, u2} R M _inst_1 _inst_2 _inst_3) (Module.toDistribMulAction.{u1, u2} R (MulOpposite.{u2} M) _inst_1 (MulOpposite.instAddCommMonoidMulOpposite.{u2} M _inst_2) (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (SemilinearMapClass.distribMulActionHomClass.{u1, u2, u2, u2} R M (MulOpposite.{u2} M) (LinearEquiv.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) M (MulOpposite.{u2} M) _inst_2 (MulOpposite.instAddCommMonoidMulOpposite.{u2} M _inst_2) _inst_3 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_1 _inst_2 (MulOpposite.instAddCommMonoidMulOpposite.{u2} M _inst_2) _inst_3 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, u2, u2, u2} R R M (MulOpposite.{u2} M) (LinearEquiv.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) M (MulOpposite.{u2} M) _inst_2 (MulOpposite.instAddCommMonoidMulOpposite.{u2} M _inst_2) _inst_3 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_1 _inst_1 _inst_2 (MulOpposite.instAddCommMonoidMulOpposite.{u2} M _inst_2) _inst_3 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, u2, u2} R R M (MulOpposite.{u2} M) _inst_1 _inst_1 _inst_2 (MulOpposite.instAddCommMonoidMulOpposite.{u2} M _inst_2) _inst_3 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1)))))) (MulOpposite.opLinearEquiv.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (MulOpposite.op.{u2} M)
+  forall (R : Type.{u1}) {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M _inst_1 _inst_2], Eq.{succ u2} (forall (a : M), (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : M) => MulOpposite.{u2} M) a) (FunLike.coe.{succ u2, succ u2, succ u2} (LinearEquiv.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) M (MulOpposite.{u2} M) _inst_2 (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_3 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3)) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : M) => MulOpposite.{u2} M) _x) (SMulHomClass.toFunLike.{u2, u1, u2, u2} (LinearEquiv.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) M (MulOpposite.{u2} M) _inst_2 (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_3 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3)) R M (MulOpposite.{u2} M) (SMulZeroClass.toSMul.{u1, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (DistribSMul.toSMulZeroClass.{u1, u2} R M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (DistribMulAction.toDistribSMul.{u1, u2} R M (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (Module.toDistribMulAction.{u1, u2} R M _inst_1 _inst_2 _inst_3)))) (SMulZeroClass.toSMul.{u1, u2} R (MulOpposite.{u2} M) (AddMonoid.toZero.{u2} (MulOpposite.{u2} M) (AddCommMonoid.toAddMonoid.{u2} (MulOpposite.{u2} M) (MulOpposite.addCommMonoid.{u2} M _inst_2))) (DistribSMul.toSMulZeroClass.{u1, u2} R (MulOpposite.{u2} M) (AddMonoid.toAddZeroClass.{u2} (MulOpposite.{u2} M) (AddCommMonoid.toAddMonoid.{u2} (MulOpposite.{u2} M) (MulOpposite.addCommMonoid.{u2} M _inst_2))) (DistribMulAction.toDistribSMul.{u1, u2} R (MulOpposite.{u2} M) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{u2} (MulOpposite.{u2} M) (MulOpposite.addCommMonoid.{u2} M _inst_2)) (Module.toDistribMulAction.{u1, u2} R (MulOpposite.{u2} M) _inst_1 (MulOpposite.addCommMonoid.{u2} M _inst_2) (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (DistribMulActionHomClass.toSMulHomClass.{u2, u1, u2, u2} (LinearEquiv.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) M (MulOpposite.{u2} M) _inst_2 (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_3 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3)) R M (MulOpposite.{u2} M) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (AddCommMonoid.toAddMonoid.{u2} (MulOpposite.{u2} M) (MulOpposite.addCommMonoid.{u2} M _inst_2)) (Module.toDistribMulAction.{u1, u2} R M _inst_1 _inst_2 _inst_3) (Module.toDistribMulAction.{u1, u2} R (MulOpposite.{u2} M) _inst_1 (MulOpposite.addCommMonoid.{u2} M _inst_2) (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (SemilinearMapClass.distribMulActionHomClass.{u1, u2, u2, u2} R M (MulOpposite.{u2} M) (LinearEquiv.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) M (MulOpposite.{u2} M) _inst_2 (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_3 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_1 _inst_2 (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_3 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, u2, u2, u2} R R M (MulOpposite.{u2} M) (LinearEquiv.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) M (MulOpposite.{u2} M) _inst_2 (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_3 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_1 _inst_1 _inst_2 (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_3 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, u2, u2} R R M (MulOpposite.{u2} M) _inst_1 _inst_1 _inst_2 (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_3 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1)))))) (MulOpposite.opLinearEquiv.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (MulOpposite.op.{u2} M)
 Case conversion may be inaccurate. Consider using '#align mul_opposite.coe_op_linear_equiv MulOpposite.coe_opLinearEquivₓ'. -/
 @[simp]
 theorem coe_opLinearEquiv : (opLinearEquiv R : M → Mᵐᵒᵖ) = op :=
@@ -62,7 +58,7 @@ theorem coe_opLinearEquiv : (opLinearEquiv R : M → Mᵐᵒᵖ) = op :=
 lean 3 declaration is
   forall (R : Type.{u1}) {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M _inst_1 _inst_2], Eq.{succ u2} ((fun (_x : LinearEquiv.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (MulOpposite.{u2} M) M (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_2 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) _inst_3) => (MulOpposite.{u2} M) -> M) (LinearEquiv.symm.{u1, u1, u2, u2} R R M (MulOpposite.{u2} M) _inst_1 _inst_1 _inst_2 (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_3 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (MulOpposite.opLinearEquiv.{u1, u2} R M _inst_1 _inst_2 _inst_3))) (coeFn.{succ u2, succ u2} (LinearEquiv.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (MulOpposite.{u2} M) M (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_2 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) _inst_3) (fun (_x : LinearEquiv.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (MulOpposite.{u2} M) M (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_2 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) _inst_3) => (MulOpposite.{u2} M) -> M) (LinearEquiv.hasCoeToFun.{u1, u1, u2, u2} R R (MulOpposite.{u2} M) M _inst_1 _inst_1 (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_2 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1)) (LinearEquiv.symm.{u1, u1, u2, u2} R R M (MulOpposite.{u2} M) _inst_1 _inst_1 _inst_2 (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_3 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (MulOpposite.opLinearEquiv.{u1, u2} R M _inst_1 _inst_2 _inst_3))) (MulOpposite.unop.{u2} M)
 but is expected to have type
-  forall (R : Type.{u1}) {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M _inst_1 _inst_2], Eq.{succ u2} (forall (a : MulOpposite.{u2} M), (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MulOpposite.{u2} M) => M) a) (FunLike.coe.{succ u2, succ u2, succ u2} (LinearEquiv.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (MulOpposite.{u2} M) M (MulOpposite.instAddCommMonoidMulOpposite.{u2} M _inst_2) _inst_2 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) _inst_3) (MulOpposite.{u2} M) (fun (_x : MulOpposite.{u2} M) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MulOpposite.{u2} M) => M) _x) (SMulHomClass.toFunLike.{u2, u1, u2, u2} (LinearEquiv.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (MulOpposite.{u2} M) M (MulOpposite.instAddCommMonoidMulOpposite.{u2} M _inst_2) _inst_2 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) _inst_3) R (MulOpposite.{u2} M) M (SMulZeroClass.toSMul.{u1, u2} R (MulOpposite.{u2} M) (AddMonoid.toZero.{u2} (MulOpposite.{u2} M) (AddCommMonoid.toAddMonoid.{u2} (MulOpposite.{u2} M) (MulOpposite.instAddCommMonoidMulOpposite.{u2} M _inst_2))) (DistribSMul.toSMulZeroClass.{u1, u2} R (MulOpposite.{u2} M) (AddMonoid.toAddZeroClass.{u2} (MulOpposite.{u2} M) (AddCommMonoid.toAddMonoid.{u2} (MulOpposite.{u2} M) (MulOpposite.instAddCommMonoidMulOpposite.{u2} M _inst_2))) (DistribMulAction.toDistribSMul.{u1, u2} R (MulOpposite.{u2} M) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{u2} (MulOpposite.{u2} M) (MulOpposite.instAddCommMonoidMulOpposite.{u2} M _inst_2)) (Module.toDistribMulAction.{u1, u2} R (MulOpposite.{u2} M) _inst_1 (MulOpposite.instAddCommMonoidMulOpposite.{u2} M _inst_2) (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (SMulZeroClass.toSMul.{u1, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (DistribSMul.toSMulZeroClass.{u1, u2} R M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (DistribMulAction.toDistribSMul.{u1, u2} R M (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (Module.toDistribMulAction.{u1, u2} R M _inst_1 _inst_2 _inst_3)))) (DistribMulActionHomClass.toSMulHomClass.{u2, u1, u2, u2} (LinearEquiv.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (MulOpposite.{u2} M) M (MulOpposite.instAddCommMonoidMulOpposite.{u2} M _inst_2) _inst_2 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) _inst_3) R (MulOpposite.{u2} M) M (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{u2} (MulOpposite.{u2} M) (MulOpposite.instAddCommMonoidMulOpposite.{u2} M _inst_2)) (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (Module.toDistribMulAction.{u1, u2} R (MulOpposite.{u2} M) _inst_1 (MulOpposite.instAddCommMonoidMulOpposite.{u2} M _inst_2) (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (Module.toDistribMulAction.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SemilinearMapClass.distribMulActionHomClass.{u1, u2, u2, u2} R (MulOpposite.{u2} M) M (LinearEquiv.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (MulOpposite.{u2} M) M (MulOpposite.instAddCommMonoidMulOpposite.{u2} M _inst_2) _inst_2 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) _inst_3) _inst_1 (MulOpposite.instAddCommMonoidMulOpposite.{u2} M _inst_2) _inst_2 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) _inst_3 (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, u2, u2, u2} R R (MulOpposite.{u2} M) M (LinearEquiv.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (MulOpposite.{u2} M) M (MulOpposite.instAddCommMonoidMulOpposite.{u2} M _inst_2) _inst_2 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) _inst_3) _inst_1 _inst_1 (MulOpposite.instAddCommMonoidMulOpposite.{u2} M _inst_2) _inst_2 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, u2, u2} R R (MulOpposite.{u2} M) M _inst_1 _inst_1 (MulOpposite.instAddCommMonoidMulOpposite.{u2} M _inst_2) _inst_2 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1)))))) (LinearEquiv.symm.{u1, u1, u2, u2} R R M (MulOpposite.{u2} M) _inst_1 _inst_1 _inst_2 (MulOpposite.instAddCommMonoidMulOpposite.{u2} M _inst_2) _inst_3 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (MulOpposite.opLinearEquiv.{u1, u2} R M _inst_1 _inst_2 _inst_3))) (MulOpposite.unop.{u2} M)
+  forall (R : Type.{u1}) {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M _inst_1 _inst_2], Eq.{succ u2} (forall (a : MulOpposite.{u2} M), (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MulOpposite.{u2} M) => M) a) (FunLike.coe.{succ u2, succ u2, succ u2} (LinearEquiv.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (MulOpposite.{u2} M) M (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_2 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) _inst_3) (MulOpposite.{u2} M) (fun (_x : MulOpposite.{u2} M) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MulOpposite.{u2} M) => M) _x) (SMulHomClass.toFunLike.{u2, u1, u2, u2} (LinearEquiv.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (MulOpposite.{u2} M) M (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_2 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) _inst_3) R (MulOpposite.{u2} M) M (SMulZeroClass.toSMul.{u1, u2} R (MulOpposite.{u2} M) (AddMonoid.toZero.{u2} (MulOpposite.{u2} M) (AddCommMonoid.toAddMonoid.{u2} (MulOpposite.{u2} M) (MulOpposite.addCommMonoid.{u2} M _inst_2))) (DistribSMul.toSMulZeroClass.{u1, u2} R (MulOpposite.{u2} M) (AddMonoid.toAddZeroClass.{u2} (MulOpposite.{u2} M) (AddCommMonoid.toAddMonoid.{u2} (MulOpposite.{u2} M) (MulOpposite.addCommMonoid.{u2} M _inst_2))) (DistribMulAction.toDistribSMul.{u1, u2} R (MulOpposite.{u2} M) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{u2} (MulOpposite.{u2} M) (MulOpposite.addCommMonoid.{u2} M _inst_2)) (Module.toDistribMulAction.{u1, u2} R (MulOpposite.{u2} M) _inst_1 (MulOpposite.addCommMonoid.{u2} M _inst_2) (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (SMulZeroClass.toSMul.{u1, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (DistribSMul.toSMulZeroClass.{u1, u2} R M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (DistribMulAction.toDistribSMul.{u1, u2} R M (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (Module.toDistribMulAction.{u1, u2} R M _inst_1 _inst_2 _inst_3)))) (DistribMulActionHomClass.toSMulHomClass.{u2, u1, u2, u2} (LinearEquiv.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (MulOpposite.{u2} M) M (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_2 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) _inst_3) R (MulOpposite.{u2} M) M (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{u2} (MulOpposite.{u2} M) (MulOpposite.addCommMonoid.{u2} M _inst_2)) (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (Module.toDistribMulAction.{u1, u2} R (MulOpposite.{u2} M) _inst_1 (MulOpposite.addCommMonoid.{u2} M _inst_2) (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (Module.toDistribMulAction.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SemilinearMapClass.distribMulActionHomClass.{u1, u2, u2, u2} R (MulOpposite.{u2} M) M (LinearEquiv.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (MulOpposite.{u2} M) M (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_2 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) _inst_3) _inst_1 (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_2 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) _inst_3 (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, u2, u2, u2} R R (MulOpposite.{u2} M) M (LinearEquiv.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (MulOpposite.{u2} M) M (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_2 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) _inst_3) _inst_1 _inst_1 (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_2 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, u2, u2} R R (MulOpposite.{u2} M) M _inst_1 _inst_1 (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_2 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1)))))) (LinearEquiv.symm.{u1, u1, u2, u2} R R M (MulOpposite.{u2} M) _inst_1 _inst_1 _inst_2 (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_3 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (MulOpposite.opLinearEquiv.{u1, u2} R M _inst_1 _inst_2 _inst_3))) (MulOpposite.unop.{u2} M)
 Case conversion may be inaccurate. Consider using '#align mul_opposite.coe_op_linear_equiv_symm MulOpposite.coe_opLinearEquiv_symmₓ'. -/
 @[simp]
 theorem coe_opLinearEquiv_symm : ((opLinearEquiv R).symm : Mᵐᵒᵖ → M) = unop :=
@@ -73,7 +69,7 @@ theorem coe_opLinearEquiv_symm : ((opLinearEquiv R).symm : Mᵐᵒᵖ → M) = u
 lean 3 declaration is
   forall (R : Type.{u1}) {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M _inst_1 _inst_2], Eq.{succ u2} ((fun (_x : LinearMap.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M (MulOpposite.{u2} M) _inst_2 (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_3 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3)) => M -> (MulOpposite.{u2} M)) (LinearEquiv.toLinearMap.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) M (MulOpposite.{u2} M) _inst_2 (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_3 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) (MulOpposite.opLinearEquiv.{u1, u2} R M _inst_1 _inst_2 _inst_3))) (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M (MulOpposite.{u2} M) _inst_2 (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_3 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (fun (_x : LinearMap.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M (MulOpposite.{u2} M) _inst_2 (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_3 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3)) => M -> (MulOpposite.{u2} M)) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R M (MulOpposite.{u2} M) _inst_1 _inst_1 _inst_2 (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_3 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (LinearEquiv.toLinearMap.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) M (MulOpposite.{u2} M) _inst_2 (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_3 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) (MulOpposite.opLinearEquiv.{u1, u2} R M _inst_1 _inst_2 _inst_3))) (MulOpposite.op.{u2} M)
 but is expected to have type
-  forall (R : Type.{u1}) {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M _inst_1 _inst_2], Eq.{succ u2} (forall (a : M), (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => MulOpposite.{u2} M) a) (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M (MulOpposite.{u2} M) _inst_2 (MulOpposite.instAddCommMonoidMulOpposite.{u2} M _inst_2) _inst_3 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3)) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => MulOpposite.{u2} M) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R M (MulOpposite.{u2} M) _inst_1 _inst_1 _inst_2 (MulOpposite.instAddCommMonoidMulOpposite.{u2} M _inst_2) _inst_3 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (LinearEquiv.toLinearMap.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) M (MulOpposite.{u2} M) _inst_2 (MulOpposite.instAddCommMonoidMulOpposite.{u2} M _inst_2) _inst_3 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) (MulOpposite.opLinearEquiv.{u1, u2} R M _inst_1 _inst_2 _inst_3))) (MulOpposite.op.{u2} M)
+  forall (R : Type.{u1}) {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M _inst_1 _inst_2], Eq.{succ u2} (forall (a : M), (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => MulOpposite.{u2} M) a) (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M (MulOpposite.{u2} M) _inst_2 (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_3 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3)) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => MulOpposite.{u2} M) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R M (MulOpposite.{u2} M) _inst_1 _inst_1 _inst_2 (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_3 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (LinearEquiv.toLinearMap.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) M (MulOpposite.{u2} M) _inst_2 (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_3 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) (MulOpposite.opLinearEquiv.{u1, u2} R M _inst_1 _inst_2 _inst_3))) (MulOpposite.op.{u2} M)
 Case conversion may be inaccurate. Consider using '#align mul_opposite.coe_op_linear_equiv_to_linear_map MulOpposite.coe_opLinearEquiv_toLinearMapₓ'. -/
 @[simp]
 theorem coe_opLinearEquiv_toLinearMap : ((opLinearEquiv R).toLinearMap : M → Mᵐᵒᵖ) = op :=
@@ -84,7 +80,7 @@ theorem coe_opLinearEquiv_toLinearMap : ((opLinearEquiv R).toLinearMap : M → M
 lean 3 declaration is
   forall (R : Type.{u1}) {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M _inst_1 _inst_2], Eq.{succ u2} ((fun (_x : LinearMap.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (MulOpposite.{u2} M) M (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_2 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) _inst_3) => (MulOpposite.{u2} M) -> M) (LinearEquiv.toLinearMap.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (MulOpposite.{u2} M) M (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_2 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) _inst_3 (LinearEquiv.symm.{u1, u1, u2, u2} R R M (MulOpposite.{u2} M) _inst_1 _inst_1 _inst_2 (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_3 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (MulOpposite.opLinearEquiv.{u1, u2} R M _inst_1 _inst_2 _inst_3)))) (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (MulOpposite.{u2} M) M (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_2 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) _inst_3) (fun (_x : LinearMap.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (MulOpposite.{u2} M) M (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_2 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) _inst_3) => (MulOpposite.{u2} M) -> M) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R (MulOpposite.{u2} M) M _inst_1 _inst_1 (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_2 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (LinearEquiv.toLinearMap.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (MulOpposite.{u2} M) M (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_2 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) _inst_3 (LinearEquiv.symm.{u1, u1, u2, u2} R R M (MulOpposite.{u2} M) _inst_1 _inst_1 _inst_2 (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_3 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (MulOpposite.opLinearEquiv.{u1, u2} R M _inst_1 _inst_2 _inst_3)))) (MulOpposite.unop.{u2} M)
 but is expected to have type
-  forall (R : Type.{u1}) {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M _inst_1 _inst_2], Eq.{succ u2} (forall (a : MulOpposite.{u2} M), (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : MulOpposite.{u2} M) => M) a) (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (MulOpposite.{u2} M) M (MulOpposite.instAddCommMonoidMulOpposite.{u2} M _inst_2) _inst_2 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) _inst_3) (MulOpposite.{u2} M) (fun (_x : MulOpposite.{u2} M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : MulOpposite.{u2} M) => M) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R (MulOpposite.{u2} M) M _inst_1 _inst_1 (MulOpposite.instAddCommMonoidMulOpposite.{u2} M _inst_2) _inst_2 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (LinearEquiv.toLinearMap.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (MulOpposite.{u2} M) M (MulOpposite.instAddCommMonoidMulOpposite.{u2} M _inst_2) _inst_2 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) _inst_3 (LinearEquiv.symm.{u1, u1, u2, u2} R R M (MulOpposite.{u2} M) _inst_1 _inst_1 _inst_2 (MulOpposite.instAddCommMonoidMulOpposite.{u2} M _inst_2) _inst_3 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (MulOpposite.opLinearEquiv.{u1, u2} R M _inst_1 _inst_2 _inst_3)))) (MulOpposite.unop.{u2} M)
+  forall (R : Type.{u1}) {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M _inst_1 _inst_2], Eq.{succ u2} (forall (a : MulOpposite.{u2} M), (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : MulOpposite.{u2} M) => M) a) (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (MulOpposite.{u2} M) M (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_2 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) _inst_3) (MulOpposite.{u2} M) (fun (_x : MulOpposite.{u2} M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : MulOpposite.{u2} M) => M) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R (MulOpposite.{u2} M) M _inst_1 _inst_1 (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_2 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (LinearEquiv.toLinearMap.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (MulOpposite.{u2} M) M (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_2 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) _inst_3 (LinearEquiv.symm.{u1, u1, u2, u2} R R M (MulOpposite.{u2} M) _inst_1 _inst_1 _inst_2 (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_3 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (MulOpposite.opLinearEquiv.{u1, u2} R M _inst_1 _inst_2 _inst_3)))) (MulOpposite.unop.{u2} M)
 Case conversion may be inaccurate. Consider using '#align mul_opposite.coe_op_linear_equiv_symm_to_linear_map MulOpposite.coe_opLinearEquiv_symm_toLinearMapₓ'. -/
 @[simp]
 theorem coe_opLinearEquiv_symm_toLinearMap :
@@ -96,7 +92,7 @@ theorem coe_opLinearEquiv_symm_toLinearMap :
 lean 3 declaration is
   forall (R : Type.{u1}) {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M _inst_1 _inst_2], Eq.{succ u2} (AddEquiv.{u2, u2} M (MulOpposite.{u2} M) (AddZeroClass.toHasAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (AddZeroClass.toHasAdd.{u2} (MulOpposite.{u2} M) (AddMonoid.toAddZeroClass.{u2} (MulOpposite.{u2} M) (AddCommMonoid.toAddMonoid.{u2} (MulOpposite.{u2} M) (MulOpposite.addCommMonoid.{u2} M _inst_2))))) (LinearEquiv.toAddEquiv.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) M (MulOpposite.{u2} M) _inst_2 (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_3 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) (MulOpposite.opLinearEquiv.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (MulOpposite.opAddEquiv.{u2} M (AddZeroClass.toHasAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))))
 but is expected to have type
-  forall (R : Type.{u1}) {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M _inst_1 _inst_2], Eq.{succ u2} (AddEquiv.{u2, u2} M (MulOpposite.{u2} M) (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (AddZeroClass.toAdd.{u2} (MulOpposite.{u2} M) (AddMonoid.toAddZeroClass.{u2} (MulOpposite.{u2} M) (AddCommMonoid.toAddMonoid.{u2} (MulOpposite.{u2} M) (MulOpposite.instAddCommMonoidMulOpposite.{u2} M _inst_2))))) (LinearEquiv.toAddEquiv.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) M (MulOpposite.{u2} M) _inst_2 (MulOpposite.instAddCommMonoidMulOpposite.{u2} M _inst_2) _inst_3 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) (MulOpposite.opLinearEquiv.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (MulOpposite.opAddEquiv.{u2} M (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))))
+  forall (R : Type.{u1}) {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M _inst_1 _inst_2], Eq.{succ u2} (AddEquiv.{u2, u2} M (MulOpposite.{u2} M) (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (AddZeroClass.toAdd.{u2} (MulOpposite.{u2} M) (AddMonoid.toAddZeroClass.{u2} (MulOpposite.{u2} M) (AddCommMonoid.toAddMonoid.{u2} (MulOpposite.{u2} M) (MulOpposite.addCommMonoid.{u2} M _inst_2))))) (LinearEquiv.toAddEquiv.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) M (MulOpposite.{u2} M) _inst_2 (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_3 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) (MulOpposite.opLinearEquiv.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (MulOpposite.opAddEquiv.{u2} M (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))))
 Case conversion may be inaccurate. Consider using '#align mul_opposite.op_linear_equiv_to_add_equiv MulOpposite.opLinearEquiv_toAddEquivₓ'. -/
 @[simp]
 theorem opLinearEquiv_toAddEquiv : (opLinearEquiv R : M ≃ₗ[R] Mᵐᵒᵖ).toAddEquiv = opAddEquiv :=
@@ -107,7 +103,7 @@ theorem opLinearEquiv_toAddEquiv : (opLinearEquiv R : M ≃ₗ[R] Mᵐᵒᵖ).to
 lean 3 declaration is
   forall (R : Type.{u1}) {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M _inst_1 _inst_2], Eq.{succ u2} (AddEquiv.{u2, u2} (MulOpposite.{u2} M) M (AddZeroClass.toHasAdd.{u2} (MulOpposite.{u2} M) (AddMonoid.toAddZeroClass.{u2} (MulOpposite.{u2} M) (AddCommMonoid.toAddMonoid.{u2} (MulOpposite.{u2} M) (MulOpposite.addCommMonoid.{u2} M _inst_2)))) (AddZeroClass.toHasAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)))) (LinearEquiv.toAddEquiv.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (MulOpposite.{u2} M) M (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_2 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) _inst_3 (LinearEquiv.symm.{u1, u1, u2, u2} R R M (MulOpposite.{u2} M) _inst_1 _inst_1 _inst_2 (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_3 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (MulOpposite.opLinearEquiv.{u1, u2} R M _inst_1 _inst_2 _inst_3))) (AddEquiv.symm.{u2, u2} M (MulOpposite.{u2} M) (AddZeroClass.toHasAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (MulOpposite.hasAdd.{u2} M (AddZeroClass.toHasAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)))) (MulOpposite.opAddEquiv.{u2} M (AddZeroClass.toHasAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)))))
 but is expected to have type
-  forall (R : Type.{u1}) {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M _inst_1 _inst_2], Eq.{succ u2} (AddEquiv.{u2, u2} (MulOpposite.{u2} M) M (AddZeroClass.toAdd.{u2} (MulOpposite.{u2} M) (AddMonoid.toAddZeroClass.{u2} (MulOpposite.{u2} M) (AddCommMonoid.toAddMonoid.{u2} (MulOpposite.{u2} M) (MulOpposite.instAddCommMonoidMulOpposite.{u2} M _inst_2)))) (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)))) (LinearEquiv.toAddEquiv.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (MulOpposite.{u2} M) M (MulOpposite.instAddCommMonoidMulOpposite.{u2} M _inst_2) _inst_2 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) _inst_3 (LinearEquiv.symm.{u1, u1, u2, u2} R R M (MulOpposite.{u2} M) _inst_1 _inst_1 _inst_2 (MulOpposite.instAddCommMonoidMulOpposite.{u2} M _inst_2) _inst_3 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (MulOpposite.opLinearEquiv.{u1, u2} R M _inst_1 _inst_2 _inst_3))) (AddEquiv.symm.{u2, u2} M (MulOpposite.{u2} M) (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (MulOpposite.instAddMulOpposite.{u2} M (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)))) (MulOpposite.opAddEquiv.{u2} M (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)))))
+  forall (R : Type.{u1}) {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M _inst_1 _inst_2], Eq.{succ u2} (AddEquiv.{u2, u2} (MulOpposite.{u2} M) M (AddZeroClass.toAdd.{u2} (MulOpposite.{u2} M) (AddMonoid.toAddZeroClass.{u2} (MulOpposite.{u2} M) (AddCommMonoid.toAddMonoid.{u2} (MulOpposite.{u2} M) (MulOpposite.addCommMonoid.{u2} M _inst_2)))) (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)))) (LinearEquiv.toAddEquiv.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (MulOpposite.{u2} M) M (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_2 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) _inst_3 (LinearEquiv.symm.{u1, u1, u2, u2} R R M (MulOpposite.{u2} M) _inst_1 _inst_1 _inst_2 (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_3 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (MulOpposite.opLinearEquiv.{u1, u2} R M _inst_1 _inst_2 _inst_3))) (AddEquiv.symm.{u2, u2} M (MulOpposite.{u2} M) (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (MulOpposite.add.{u2} M (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)))) (MulOpposite.opAddEquiv.{u2} M (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)))))
 Case conversion may be inaccurate. Consider using '#align mul_opposite.op_linear_equiv_symm_to_add_equiv MulOpposite.opLinearEquiv_symm_toAddEquivₓ'. -/
 @[simp]
 theorem opLinearEquiv_symm_toAddEquiv :
Diff
@@ -73,7 +73,7 @@ theorem coe_opLinearEquiv_symm : ((opLinearEquiv R).symm : Mᵐᵒᵖ → M) = u
 lean 3 declaration is
   forall (R : Type.{u1}) {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M _inst_1 _inst_2], Eq.{succ u2} ((fun (_x : LinearMap.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M (MulOpposite.{u2} M) _inst_2 (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_3 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3)) => M -> (MulOpposite.{u2} M)) (LinearEquiv.toLinearMap.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) M (MulOpposite.{u2} M) _inst_2 (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_3 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) (MulOpposite.opLinearEquiv.{u1, u2} R M _inst_1 _inst_2 _inst_3))) (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M (MulOpposite.{u2} M) _inst_2 (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_3 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (fun (_x : LinearMap.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M (MulOpposite.{u2} M) _inst_2 (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_3 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3)) => M -> (MulOpposite.{u2} M)) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R M (MulOpposite.{u2} M) _inst_1 _inst_1 _inst_2 (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_3 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (LinearEquiv.toLinearMap.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) M (MulOpposite.{u2} M) _inst_2 (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_3 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) (MulOpposite.opLinearEquiv.{u1, u2} R M _inst_1 _inst_2 _inst_3))) (MulOpposite.op.{u2} M)
 but is expected to have type
-  forall (R : Type.{u1}) {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M _inst_1 _inst_2], Eq.{succ u2} (forall (a : M), (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => MulOpposite.{u2} M) a) (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M (MulOpposite.{u2} M) _inst_2 (MulOpposite.instAddCommMonoidMulOpposite.{u2} M _inst_2) _inst_3 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3)) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => MulOpposite.{u2} M) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R M (MulOpposite.{u2} M) _inst_1 _inst_1 _inst_2 (MulOpposite.instAddCommMonoidMulOpposite.{u2} M _inst_2) _inst_3 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (LinearEquiv.toLinearMap.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) M (MulOpposite.{u2} M) _inst_2 (MulOpposite.instAddCommMonoidMulOpposite.{u2} M _inst_2) _inst_3 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) (MulOpposite.opLinearEquiv.{u1, u2} R M _inst_1 _inst_2 _inst_3))) (MulOpposite.op.{u2} M)
+  forall (R : Type.{u1}) {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M _inst_1 _inst_2], Eq.{succ u2} (forall (a : M), (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => MulOpposite.{u2} M) a) (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M (MulOpposite.{u2} M) _inst_2 (MulOpposite.instAddCommMonoidMulOpposite.{u2} M _inst_2) _inst_3 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3)) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => MulOpposite.{u2} M) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R M (MulOpposite.{u2} M) _inst_1 _inst_1 _inst_2 (MulOpposite.instAddCommMonoidMulOpposite.{u2} M _inst_2) _inst_3 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (LinearEquiv.toLinearMap.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) M (MulOpposite.{u2} M) _inst_2 (MulOpposite.instAddCommMonoidMulOpposite.{u2} M _inst_2) _inst_3 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) (MulOpposite.opLinearEquiv.{u1, u2} R M _inst_1 _inst_2 _inst_3))) (MulOpposite.op.{u2} M)
 Case conversion may be inaccurate. Consider using '#align mul_opposite.coe_op_linear_equiv_to_linear_map MulOpposite.coe_opLinearEquiv_toLinearMapₓ'. -/
 @[simp]
 theorem coe_opLinearEquiv_toLinearMap : ((opLinearEquiv R).toLinearMap : M → Mᵐᵒᵖ) = op :=
@@ -84,7 +84,7 @@ theorem coe_opLinearEquiv_toLinearMap : ((opLinearEquiv R).toLinearMap : M → M
 lean 3 declaration is
   forall (R : Type.{u1}) {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M _inst_1 _inst_2], Eq.{succ u2} ((fun (_x : LinearMap.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (MulOpposite.{u2} M) M (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_2 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) _inst_3) => (MulOpposite.{u2} M) -> M) (LinearEquiv.toLinearMap.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (MulOpposite.{u2} M) M (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_2 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) _inst_3 (LinearEquiv.symm.{u1, u1, u2, u2} R R M (MulOpposite.{u2} M) _inst_1 _inst_1 _inst_2 (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_3 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (MulOpposite.opLinearEquiv.{u1, u2} R M _inst_1 _inst_2 _inst_3)))) (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (MulOpposite.{u2} M) M (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_2 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) _inst_3) (fun (_x : LinearMap.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (MulOpposite.{u2} M) M (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_2 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) _inst_3) => (MulOpposite.{u2} M) -> M) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R (MulOpposite.{u2} M) M _inst_1 _inst_1 (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_2 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (LinearEquiv.toLinearMap.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (MulOpposite.{u2} M) M (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_2 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) _inst_3 (LinearEquiv.symm.{u1, u1, u2, u2} R R M (MulOpposite.{u2} M) _inst_1 _inst_1 _inst_2 (MulOpposite.addCommMonoid.{u2} M _inst_2) _inst_3 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (MulOpposite.opLinearEquiv.{u1, u2} R M _inst_1 _inst_2 _inst_3)))) (MulOpposite.unop.{u2} M)
 but is expected to have type
-  forall (R : Type.{u1}) {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M _inst_1 _inst_2], Eq.{succ u2} (forall (a : MulOpposite.{u2} M), (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : MulOpposite.{u2} M) => M) a) (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (MulOpposite.{u2} M) M (MulOpposite.instAddCommMonoidMulOpposite.{u2} M _inst_2) _inst_2 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) _inst_3) (MulOpposite.{u2} M) (fun (_x : MulOpposite.{u2} M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : MulOpposite.{u2} M) => M) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R (MulOpposite.{u2} M) M _inst_1 _inst_1 (MulOpposite.instAddCommMonoidMulOpposite.{u2} M _inst_2) _inst_2 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (LinearEquiv.toLinearMap.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (MulOpposite.{u2} M) M (MulOpposite.instAddCommMonoidMulOpposite.{u2} M _inst_2) _inst_2 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) _inst_3 (LinearEquiv.symm.{u1, u1, u2, u2} R R M (MulOpposite.{u2} M) _inst_1 _inst_1 _inst_2 (MulOpposite.instAddCommMonoidMulOpposite.{u2} M _inst_2) _inst_3 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (MulOpposite.opLinearEquiv.{u1, u2} R M _inst_1 _inst_2 _inst_3)))) (MulOpposite.unop.{u2} M)
+  forall (R : Type.{u1}) {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M _inst_1 _inst_2], Eq.{succ u2} (forall (a : MulOpposite.{u2} M), (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : MulOpposite.{u2} M) => M) a) (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (MulOpposite.{u2} M) M (MulOpposite.instAddCommMonoidMulOpposite.{u2} M _inst_2) _inst_2 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) _inst_3) (MulOpposite.{u2} M) (fun (_x : MulOpposite.{u2} M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : MulOpposite.{u2} M) => M) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R (MulOpposite.{u2} M) M _inst_1 _inst_1 (MulOpposite.instAddCommMonoidMulOpposite.{u2} M _inst_2) _inst_2 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (LinearEquiv.toLinearMap.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (MulOpposite.{u2} M) M (MulOpposite.instAddCommMonoidMulOpposite.{u2} M _inst_2) _inst_2 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) _inst_3 (LinearEquiv.symm.{u1, u1, u2, u2} R R M (MulOpposite.{u2} M) _inst_1 _inst_1 _inst_2 (MulOpposite.instAddCommMonoidMulOpposite.{u2} M _inst_2) _inst_3 (MulOpposite.module.{u1, u2} R M _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (MulOpposite.opLinearEquiv.{u1, u2} R M _inst_1 _inst_2 _inst_3)))) (MulOpposite.unop.{u2} M)
 Case conversion may be inaccurate. Consider using '#align mul_opposite.coe_op_linear_equiv_symm_to_linear_map MulOpposite.coe_opLinearEquiv_symm_toLinearMapₓ'. -/
 @[simp]
 theorem coe_opLinearEquiv_symm_toLinearMap :

Changes in mathlib4

mathlib3
mathlib4
chore: Homogenise instances for MulOpposite/AddOpposite (#11485)

by declaring them all in where style with implicit type assumptions and inst prefix

Here to reduce the diff from #11203

Diff
@@ -23,10 +23,9 @@ universe u v
 variable (R : Type u) {M : Type v} [Semiring R] [AddCommMonoid M] [Module R M]
 
 /-- `MulOpposite.distribMulAction` extends to a `Module` -/
-instance module : Module R (MulOpposite M) :=
-  { MulOpposite.distribMulAction M R with
-    add_smul := fun r₁ r₂ x => unop_injective <| add_smul r₁ r₂ (unop x)
-    zero_smul := fun x => unop_injective <| zero_smul _ (unop x) }
+instance instModule : Module R Mᵐᵒᵖ where
+  add_smul _ _ _ := unop_injective <| add_smul _ _ _
+  zero_smul _ := unop_injective <| zero_smul _ _
 
 /-- The function `op` is a linear equivalence. -/
 def opLinearEquiv : M ≃ₗ[R] Mᵐᵒᵖ :=
chore: script to replace headers with #align_import statements (#5979)

Open in Gitpod

Co-authored-by: Eric Wieser <wieser.eric@gmail.com> Co-authored-by: Scott Morrison <scott.morrison@gmail.com>

Diff
@@ -2,15 +2,12 @@
 Copyright (c) 2020 Eric Wieser. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Eric Wieser
-
-! This file was ported from Lean 3 source module algebra.module.opposites
-! leanprover-community/mathlib commit f7fc89d5d5ff1db2d1242c7bb0e9062ce47ef47c
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
 -/
 import Mathlib.Algebra.Module.Equiv
 import Mathlib.GroupTheory.GroupAction.Opposite
 
+#align_import algebra.module.opposites from "leanprover-community/mathlib"@"f7fc89d5d5ff1db2d1242c7bb0e9062ce47ef47c"
+
 /-!
 # Module operations on `Mᵐᵒᵖ`
 
chore: fix many typos (#4967)

These are all doc fixes

Diff
@@ -15,7 +15,7 @@ import Mathlib.GroupTheory.GroupAction.Opposite
 # Module operations on `Mᵐᵒᵖ`
 
 This file contains definitions that build on top of the group action definitions in
-`GroupRheory.GroupAction.Opposite`.
+`GroupTheory.GroupAction.Opposite`.
 -/
 
 
feat: port Algebra.Module.Opposites (#1879)

Dependencies 3 + 195

196 files ported (98.5%)
75058 lines ported (98.6%)
Show graph

The unported dependencies are