algebra.triv_sq_zero_extMathlib.Algebra.TrivSqZeroExt

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)

(last sync)

Changes in mathlib3port

mathlib3
mathlib3port
Diff
@@ -632,25 +632,25 @@ instance [AddMonoidWithOne R] [AddMonoid M] : AddMonoidWithOne (tsze R M) :=
     natCast_zero := by simp [Nat.cast]
     natCast_succ := fun _ => by ext <;> simp [Nat.cast] }
 
-#print TrivSqZeroExt.fst_nat_cast /-
+#print TrivSqZeroExt.fst_natCast /-
 @[simp]
-theorem fst_nat_cast [AddMonoidWithOne R] [AddMonoid M] (n : ℕ) : (n : tsze R M).fst = n :=
+theorem fst_natCast [AddMonoidWithOne R] [AddMonoid M] (n : ℕ) : (n : tsze R M).fst = n :=
   rfl
-#align triv_sq_zero_ext.fst_nat_cast TrivSqZeroExt.fst_nat_cast
+#align triv_sq_zero_ext.fst_nat_cast TrivSqZeroExt.fst_natCast
 -/
 
-#print TrivSqZeroExt.snd_nat_cast /-
+#print TrivSqZeroExt.snd_natCast /-
 @[simp]
-theorem snd_nat_cast [AddMonoidWithOne R] [AddMonoid M] (n : ℕ) : (n : tsze R M).snd = 0 :=
+theorem snd_natCast [AddMonoidWithOne R] [AddMonoid M] (n : ℕ) : (n : tsze R M).snd = 0 :=
   rfl
-#align triv_sq_zero_ext.snd_nat_cast TrivSqZeroExt.snd_nat_cast
+#align triv_sq_zero_ext.snd_nat_cast TrivSqZeroExt.snd_natCast
 -/
 
-#print TrivSqZeroExt.inl_nat_cast /-
+#print TrivSqZeroExt.inl_natCast /-
 @[simp]
-theorem inl_nat_cast [AddMonoidWithOne R] [AddMonoid M] (n : ℕ) : (inl n : tsze R M) = n :=
+theorem inl_natCast [AddMonoidWithOne R] [AddMonoid M] (n : ℕ) : (inl n : tsze R M) = n :=
   rfl
-#align triv_sq_zero_ext.inl_nat_cast TrivSqZeroExt.inl_nat_cast
+#align triv_sq_zero_ext.inl_nat_cast TrivSqZeroExt.inl_natCast
 -/
 
 instance [AddGroupWithOne R] [AddGroup M] : AddGroupWithOne (tsze R M) :=
@@ -660,25 +660,25 @@ instance [AddGroupWithOne R] [AddGroup M] : AddGroupWithOne (tsze R M) :=
     intCast_ofNat := fun n => ext (Int.cast_natCast _) rfl
     intCast_negSucc := fun n => ext (Int.cast_negSucc _) neg_zero.symm }
 
-#print TrivSqZeroExt.fst_int_cast /-
+#print TrivSqZeroExt.fst_intCast /-
 @[simp]
-theorem fst_int_cast [AddGroupWithOne R] [AddGroup M] (z : ℤ) : (z : tsze R M).fst = z :=
+theorem fst_intCast [AddGroupWithOne R] [AddGroup M] (z : ℤ) : (z : tsze R M).fst = z :=
   rfl
-#align triv_sq_zero_ext.fst_int_cast TrivSqZeroExt.fst_int_cast
+#align triv_sq_zero_ext.fst_int_cast TrivSqZeroExt.fst_intCast
 -/
 
-#print TrivSqZeroExt.snd_int_cast /-
+#print TrivSqZeroExt.snd_intCast /-
 @[simp]
-theorem snd_int_cast [AddGroupWithOne R] [AddGroup M] (z : ℤ) : (z : tsze R M).snd = 0 :=
+theorem snd_intCast [AddGroupWithOne R] [AddGroup M] (z : ℤ) : (z : tsze R M).snd = 0 :=
   rfl
-#align triv_sq_zero_ext.snd_int_cast TrivSqZeroExt.snd_int_cast
+#align triv_sq_zero_ext.snd_int_cast TrivSqZeroExt.snd_intCast
 -/
 
-#print TrivSqZeroExt.inl_int_cast /-
+#print TrivSqZeroExt.inl_intCast /-
 @[simp]
-theorem inl_int_cast [AddGroupWithOne R] [AddGroup M] (z : ℤ) : (inl z : tsze R M) = z :=
+theorem inl_intCast [AddGroupWithOne R] [AddGroup M] (z : ℤ) : (inl z : tsze R M) = z :=
   rfl
-#align triv_sq_zero_ext.inl_int_cast TrivSqZeroExt.inl_int_cast
+#align triv_sq_zero_ext.inl_int_cast TrivSqZeroExt.inl_intCast
 -/
 
 instance [Semiring R] [AddCommMonoid M] [Module R M] [Module Rᵐᵒᵖ M] :
Diff
@@ -657,7 +657,7 @@ instance [AddGroupWithOne R] [AddGroup M] : AddGroupWithOne (tsze R M) :=
   { TrivSqZeroExt.addGroup,
     TrivSqZeroExt.addMonoidWithOne with
     intCast := fun z => inl z
-    intCast_ofNat := fun n => ext (Int.cast_ofNat _) rfl
+    intCast_ofNat := fun n => ext (Int.cast_natCast _) rfl
     intCast_negSucc := fun n => ext (Int.cast_negSucc _) neg_zero.symm }
 
 #print TrivSqZeroExt.fst_int_cast /-
Diff
@@ -748,8 +748,8 @@ theorem snd_pow_of_smul_comm [Monoid R] [AddMonoid M] [DistribMulAction R M]
     induction' n with n ih
     · simp
     ·
-      rw [pow_succ', MulOpposite.op_mul, mul_smul, mul_smul, ← h,
-        smul_comm (_ : R) (op x.fst) x.snd, ih]
+      rw [pow_succ, MulOpposite.op_mul, mul_smul, mul_smul, ← h, smul_comm (_ : R) (op x.fst) x.snd,
+        ih]
   simp_rw [snd_pow_eq_sum, this, smul_smul, ← pow_add]
   cases n
   · rw [Nat.pred_zero, pow_zero, List.range_zero, zero_smul, List.map_nil, List.sum_nil]
@@ -792,7 +792,7 @@ instance [Monoid R] [AddMonoid M] [DistribMulAction R M] [DistribMulAction Rᵐ
     npow := fun n x => x ^ n
     npow_zero := fun x => ext (pow_zero x.fst) (by simp [snd_pow_eq_sum])
     npow_succ := fun n x =>
-      ext (pow_succ _ _)
+      ext (pow_succ' _ _)
         (by
           simp_rw [snd_mul, snd_pow_eq_sum, Nat.pred_succ]
           cases n
@@ -801,7 +801,7 @@ instance [Monoid R] [AddMonoid M] [DistribMulAction R M] [DistribMulAction Rᵐ
           rw [List.range_succ, List.map_append, List.sum_append, List.map_singleton,
             List.sum_singleton, Nat.sub_self, pow_zero, one_smul, List.smul_sum, List.map_map,
             Function.comp, fst_pow]
-          simp_rw [smul_smul, ← pow_succ, Nat.succ_eq_add_one]
+          simp_rw [smul_smul, ← pow_succ', Nat.succ_eq_add_one]
           congr 2
           refine' List.map_congr fun i hi => _
           rw [List.mem_range, Nat.lt_succ_iff] at hi
Diff
@@ -756,7 +756,7 @@ theorem snd_pow_of_smul_comm [Monoid R] [AddMonoid M] [DistribMulAction R M]
   simp_rw [Nat.pred_succ]
   refine' (List.sum_eq_card_nsmul _ (x.fst ^ n • x.snd) _).trans _
   · rintro m hm
-    simp_rw [List.mem_map, List.mem_range] at hm 
+    simp_rw [List.mem_map, List.mem_range] at hm
     obtain ⟨i, hi, rfl⟩ := hm
     rw [tsub_add_cancel_of_le (nat.lt_succ_iff.mp hi)]
   · rw [List.length_map, List.length_range]
@@ -804,7 +804,7 @@ instance [Monoid R] [AddMonoid M] [DistribMulAction R M] [DistribMulAction Rᵐ
           simp_rw [smul_smul, ← pow_succ, Nat.succ_eq_add_one]
           congr 2
           refine' List.map_congr fun i hi => _
-          rw [List.mem_range, Nat.lt_succ_iff] at hi 
+          rw [List.mem_range, Nat.lt_succ_iff] at hi
           rw [Nat.sub_add_comm hi]) }
 
 #print TrivSqZeroExt.fst_list_prod /-
Diff
@@ -963,12 +963,12 @@ theorem algHom_ext' {A} [Semiring A] [Algebra R' A] ⦃f g : tsze R' M →ₐ[R'
 
 variable {A : Type _} [Semiring A] [Algebra R' A]
 
-#print TrivSqZeroExt.liftAux /-
+#print TrivSqZeroExt.lift /-
 /-- There is an alg_hom from the trivial square zero extension to any `R`-algebra with a submodule
 whose products are all zero.
 
 See `triv_sq_zero_ext.lift` for this as an equiv. -/
-def liftAux (f : M →ₗ[R'] A) (hf : ∀ x y, f x * f y = 0) : tsze R' M →ₐ[R'] A :=
+def lift (f : M →ₗ[R'] A) (hf : ∀ x y, f x * f y = 0) : tsze R' M →ₐ[R'] A :=
   AlgHom.ofLinearMap
     ((Algebra.linearMap _ _).comp (fstHom R' R' M).toLinearMap + f.comp (sndHom R' M))
     (show algebraMap R' _ 1 + f (0 : M) = 1 by rw [map_zero, map_one, add_zero])
@@ -979,49 +979,47 @@ def liftAux (f : M →ₗ[R'] A) (hf : ∀ x y, f x * f y = 0) : tsze R' M →
           op_smul_eq_smul]
         rw [← RingHom.map_mul, LinearMap.map_add, ← Algebra.commutes _ (f _), ← Algebra.smul_def, ←
           Algebra.smul_def, add_right_comm, add_assoc, LinearMap.map_smul, LinearMap.map_smul])
-#align triv_sq_zero_ext.lift_aux TrivSqZeroExt.liftAux
+#align triv_sq_zero_ext.lift_aux TrivSqZeroExt.lift
 -/
 
-#print TrivSqZeroExt.liftAux_apply_inr /-
+#print TrivSqZeroExt.lift_apply_inr /-
 @[simp]
-theorem liftAux_apply_inr (f : M →ₗ[R'] A) (hf : ∀ x y, f x * f y = 0) (m : M) :
-    liftAux f hf (inr m) = f m :=
+theorem lift_apply_inr (f : M →ₗ[R'] A) (hf : ∀ x y, f x * f y = 0) (m : M) :
+    lift f hf (inr m) = f m :=
   show algebraMap R' A 0 + f m = f m by rw [RingHom.map_zero, zero_add]
-#align triv_sq_zero_ext.lift_aux_apply_inr TrivSqZeroExt.liftAux_apply_inr
+#align triv_sq_zero_ext.lift_aux_apply_inr TrivSqZeroExt.lift_apply_inr
 -/
 
-#print TrivSqZeroExt.liftAux_comp_inrHom /-
+#print TrivSqZeroExt.lift_comp_inrHom /-
 @[simp]
-theorem liftAux_comp_inrHom (f : M →ₗ[R'] A) (hf : ∀ x y, f x * f y = 0) :
-    (liftAux f hf).toLinearMap.comp (inrHom R' M) = f :=
-  LinearMap.ext <| liftAux_apply_inr f hf
-#align triv_sq_zero_ext.lift_aux_comp_inr_hom TrivSqZeroExt.liftAux_comp_inrHom
+theorem lift_comp_inrHom (f : M →ₗ[R'] A) (hf : ∀ x y, f x * f y = 0) :
+    (lift f hf).toLinearMap.comp (inrHom R' M) = f :=
+  LinearMap.ext <| lift_apply_inr f hf
+#align triv_sq_zero_ext.lift_aux_comp_inr_hom TrivSqZeroExt.lift_comp_inrHom
 -/
 
-#print TrivSqZeroExt.liftAux_inrHom /-
 -- When applied to `inr` itself, `lift_aux` is the identity.
 @[simp]
-theorem liftAux_inrHom : liftAux (inrHom R' M) (inr_mul_inr R') = AlgHom.id R' (tsze R' M) :=
-  algHom_ext' <| liftAux_comp_inrHom _ _
-#align triv_sq_zero_ext.lift_aux_inr_hom TrivSqZeroExt.liftAux_inrHom
--/
+theorem lift_inlAlgHom_inrHom : lift (inrHom R' M) (inr_mul_inr R') = AlgHom.id R' (tsze R' M) :=
+  algHom_ext' <| lift_comp_inrHom _ _
+#align triv_sq_zero_ext.lift_aux_inr_hom TrivSqZeroExt.lift_inlAlgHom_inrHomₓ
 
-#print TrivSqZeroExt.lift /-
+#print TrivSqZeroExt.liftEquiv /-
 /-- A universal property of the trivial square-zero extension, providing a unique
 `triv_sq_zero_ext R M →ₐ[R] A` for every linear map `M →ₗ[R] A` whose range has no non-zero
 products.
 
 This isomorphism is named to match the very similar `complex.lift`. -/
 @[simps]
-def lift : { f : M →ₗ[R'] A // ∀ x y, f x * f y = 0 } ≃ (tsze R' M →ₐ[R'] A)
+def liftEquiv : { f : M →ₗ[R'] A // ∀ x y, f x * f y = 0 } ≃ (tsze R' M →ₐ[R'] A)
     where
-  toFun f := liftAux f f.Prop
+  toFun f := lift f f.Prop
   invFun F :=
     ⟨F.toLinearMap.comp (inrHom R' M), fun x y =>
       (F.map_hMul _ _).symm.trans <| (F.congr_arg <| inr_mul_inr _ _ _).trans F.map_zero⟩
-  left_inv f := Subtype.ext <| liftAux_comp_inrHom _ _
-  right_inv F := algHom_ext' <| liftAux_comp_inrHom _ _
-#align triv_sq_zero_ext.lift TrivSqZeroExt.lift
+  left_inv f := Subtype.ext <| lift_comp_inrHom _ _
+  right_inv F := algHom_ext' <| lift_comp_inrHom _ _
+#align triv_sq_zero_ext.lift TrivSqZeroExt.liftEquiv
 -/
 
 attribute [nolint simp_nf] lift_symm_apply_coe
Diff
@@ -3,8 +3,8 @@ Copyright (c) 2020 Kenny Lau. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Kenny Lau, Eric Wieser
 -/
-import Mathbin.Algebra.Algebra.Basic
-import Mathbin.LinearAlgebra.Prod
+import Algebra.Algebra.Basic
+import LinearAlgebra.Prod
 
 #align_import algebra.triv_sq_zero_ext from "leanprover-community/mathlib"@"932872382355f00112641d305ba0619305dc8642"
 
Diff
@@ -1018,7 +1018,7 @@ def lift : { f : M →ₗ[R'] A // ∀ x y, f x * f y = 0 } ≃ (tsze R' M →
   toFun f := liftAux f f.Prop
   invFun F :=
     ⟨F.toLinearMap.comp (inrHom R' M), fun x y =>
-      (F.map_mul _ _).symm.trans <| (F.congr_arg <| inr_mul_inr _ _ _).trans F.map_zero⟩
+      (F.map_hMul _ _).symm.trans <| (F.congr_arg <| inr_mul_inr _ _ _).trans F.map_zero⟩
   left_inv f := Subtype.ext <| liftAux_comp_inrHom _ _
   right_inv F := algHom_ext' <| liftAux_comp_inrHom _ _
 #align triv_sq_zero_ext.lift TrivSqZeroExt.lift
Diff
@@ -277,7 +277,7 @@ instance [Monoid S] [AddMonoid R] [AddMonoid M] [DistribMulAction S R] [DistribM
 
 instance [Semiring S] [AddCommMonoid R] [AddCommMonoid M] [Module S R] [Module S M] :
     Module S (tsze R M) :=
-  Prod.module
+  Prod.instModule
 
 #print TrivSqZeroExt.fst_zero /-
 @[simp]
Diff
@@ -2,15 +2,12 @@
 Copyright (c) 2020 Kenny Lau. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Kenny Lau, Eric Wieser
-
-! This file was ported from Lean 3 source module algebra.triv_sq_zero_ext
-! leanprover-community/mathlib commit 932872382355f00112641d305ba0619305dc8642
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
 -/
 import Mathbin.Algebra.Algebra.Basic
 import Mathbin.LinearAlgebra.Prod
 
+#align_import algebra.triv_sq_zero_ext from "leanprover-community/mathlib"@"932872382355f00112641d305ba0619305dc8642"
+
 /-!
 # Trivial Square-Zero Extension
 
Diff
@@ -68,7 +68,6 @@ def TrivSqZeroExt (R : Type u) (M : Type v) :=
 #align triv_sq_zero_ext TrivSqZeroExt
 -/
 
--- mathport name: exprtsze
 local notation "tsze" => TrivSqZeroExt
 
 open scoped BigOperators
@@ -339,25 +338,33 @@ theorem snd_sub [Sub R] [Sub M] (x₁ x₂ : tsze R M) : (x₁ - x₂).snd = x
 #align triv_sq_zero_ext.snd_sub TrivSqZeroExt.snd_sub
 -/
 
+#print TrivSqZeroExt.fst_smul /-
 @[simp]
 theorem fst_smul [SMul S R] [SMul S M] (s : S) (x : tsze R M) : (s • x).fst = s • x.fst :=
   rfl
 #align triv_sq_zero_ext.fst_smul TrivSqZeroExt.fst_smul
+-/
 
+#print TrivSqZeroExt.snd_smul /-
 @[simp]
 theorem snd_smul [SMul S R] [SMul S M] (s : S) (x : tsze R M) : (s • x).snd = s • x.snd :=
   rfl
 #align triv_sq_zero_ext.snd_smul TrivSqZeroExt.snd_smul
+-/
 
+#print TrivSqZeroExt.fst_sum /-
 theorem fst_sum {ι} [AddCommMonoid R] [AddCommMonoid M] (s : Finset ι) (f : ι → tsze R M) :
     (∑ i in s, f i).fst = ∑ i in s, (f i).fst :=
   Prod.fst_sum
 #align triv_sq_zero_ext.fst_sum TrivSqZeroExt.fst_sum
+-/
 
+#print TrivSqZeroExt.snd_sum /-
 theorem snd_sum {ι} [AddCommMonoid R] [AddCommMonoid M] (s : Finset ι) (f : ι → tsze R M) :
     (∑ i in s, f i).snd = ∑ i in s, (f i).snd :=
   Prod.snd_sum
 #align triv_sq_zero_ext.snd_sum TrivSqZeroExt.snd_sum
+-/
 
 section
 
@@ -370,33 +377,43 @@ theorem inl_zero [Zero R] [Zero M] : (inl 0 : tsze R M) = 0 :=
 #align triv_sq_zero_ext.inl_zero TrivSqZeroExt.inl_zero
 -/
 
+#print TrivSqZeroExt.inl_add /-
 @[simp]
 theorem inl_add [Add R] [AddZeroClass M] (r₁ r₂ : R) :
     (inl (r₁ + r₂) : tsze R M) = inl r₁ + inl r₂ :=
   ext rfl (add_zero 0).symm
 #align triv_sq_zero_ext.inl_add TrivSqZeroExt.inl_add
+-/
 
+#print TrivSqZeroExt.inl_neg /-
 @[simp]
 theorem inl_neg [Neg R] [SubNegZeroMonoid M] (r : R) : (inl (-r) : tsze R M) = -inl r :=
   ext rfl neg_zero.symm
 #align triv_sq_zero_ext.inl_neg TrivSqZeroExt.inl_neg
+-/
 
+#print TrivSqZeroExt.inl_sub /-
 @[simp]
 theorem inl_sub [Sub R] [SubNegZeroMonoid M] (r₁ r₂ : R) :
     (inl (r₁ - r₂) : tsze R M) = inl r₁ - inl r₂ :=
   ext rfl (sub_zero _).symm
 #align triv_sq_zero_ext.inl_sub TrivSqZeroExt.inl_sub
+-/
 
+#print TrivSqZeroExt.inl_smul /-
 @[simp]
 theorem inl_smul [Monoid S] [AddMonoid M] [SMul S R] [DistribMulAction S M] (s : S) (r : R) :
     (inl (s • r) : tsze R M) = s • inl r :=
   ext rfl (smul_zero s).symm
 #align triv_sq_zero_ext.inl_smul TrivSqZeroExt.inl_smul
+-/
 
+#print TrivSqZeroExt.inl_sum /-
 theorem inl_sum {ι} [AddCommMonoid R] [AddCommMonoid M] (s : Finset ι) (f : ι → R) :
     (inl (∑ i in s, f i) : tsze R M) = ∑ i in s, inl (f i) :=
   (LinearMap.inl ℕ _ _).map_sum
 #align triv_sq_zero_ext.inl_sum TrivSqZeroExt.inl_sum
+-/
 
 end
 
@@ -411,41 +428,54 @@ theorem inr_zero [Zero R] [Zero M] : (inr 0 : tsze R M) = 0 :=
 #align triv_sq_zero_ext.inr_zero TrivSqZeroExt.inr_zero
 -/
 
+#print TrivSqZeroExt.inr_add /-
 @[simp]
 theorem inr_add [AddZeroClass R] [AddZeroClass M] (m₁ m₂ : M) :
     (inr (m₁ + m₂) : tsze R M) = inr m₁ + inr m₂ :=
   ext (add_zero 0).symm rfl
 #align triv_sq_zero_ext.inr_add TrivSqZeroExt.inr_add
+-/
 
+#print TrivSqZeroExt.inr_neg /-
 @[simp]
 theorem inr_neg [SubNegZeroMonoid R] [Neg M] (m : M) : (inr (-m) : tsze R M) = -inr m :=
   ext neg_zero.symm rfl
 #align triv_sq_zero_ext.inr_neg TrivSqZeroExt.inr_neg
+-/
 
+#print TrivSqZeroExt.inr_sub /-
 @[simp]
 theorem inr_sub [SubNegZeroMonoid R] [Sub M] (m₁ m₂ : M) :
     (inr (m₁ - m₂) : tsze R M) = inr m₁ - inr m₂ :=
   ext (sub_zero _).symm rfl
 #align triv_sq_zero_ext.inr_sub TrivSqZeroExt.inr_sub
+-/
 
+#print TrivSqZeroExt.inr_smul /-
 @[simp]
 theorem inr_smul [Zero R] [Zero S] [SMulWithZero S R] [SMul S M] (r : S) (m : M) :
     (inr (r • m) : tsze R M) = r • inr m :=
   ext (smul_zero _).symm rfl
 #align triv_sq_zero_ext.inr_smul TrivSqZeroExt.inr_smul
+-/
 
+#print TrivSqZeroExt.inr_sum /-
 theorem inr_sum {ι} [AddCommMonoid R] [AddCommMonoid M] (s : Finset ι) (f : ι → M) :
     (inr (∑ i in s, f i) : tsze R M) = ∑ i in s, inr (f i) :=
   (LinearMap.inr ℕ _ _).map_sum
 #align triv_sq_zero_ext.inr_sum TrivSqZeroExt.inr_sum
+-/
 
 end
 
+#print TrivSqZeroExt.inl_fst_add_inr_snd_eq /-
 theorem inl_fst_add_inr_snd_eq [AddZeroClass R] [AddZeroClass M] (x : tsze R M) :
     inl x.fst + inr x.snd = x :=
   ext (add_zero x.1) (zero_add x.2)
 #align triv_sq_zero_ext.inl_fst_add_inr_snd_eq TrivSqZeroExt.inl_fst_add_inr_snd_eq
+-/
 
+#print TrivSqZeroExt.ind /-
 /-- To show a property hold on all `triv_sq_zero_ext R M` it suffices to show it holds
 on terms of the form `inl r + inr m`.
 
@@ -454,7 +484,9 @@ theorem ind {R M} [AddZeroClass R] [AddZeroClass M] {P : TrivSqZeroExt R M → P
     (h : ∀ r m, P (inl r + inr m)) (x) : P x :=
   inl_fst_add_inr_snd_eq x ▸ h x.1 x.2
 #align triv_sq_zero_ext.ind TrivSqZeroExt.ind
+-/
 
+#print TrivSqZeroExt.linearMap_ext /-
 /-- This cannot be marked `@[ext]` as it ends up being used instead of `linear_map.prod_ext` when
 working with `R × M`. -/
 theorem linearMap_ext {N} [Semiring S] [AddCommMonoid R] [AddCommMonoid M] [AddCommMonoid N]
@@ -462,6 +494,7 @@ theorem linearMap_ext {N} [Semiring S] [AddCommMonoid R] [AddCommMonoid M] [AddC
     (hl : ∀ r, f (inl r) = g (inl r)) (hr : ∀ m, f (inr m) = g (inr m)) : f = g :=
   LinearMap.prod_ext (LinearMap.ext hl) (LinearMap.ext hr)
 #align triv_sq_zero_ext.linear_map_ext TrivSqZeroExt.linearMap_ext
+-/
 
 variable (R M)
 
@@ -537,16 +570,20 @@ theorem inl_one [One R] [Zero M] : (inl 1 : tsze R M) = 1 :=
 #align triv_sq_zero_ext.inl_one TrivSqZeroExt.inl_one
 -/
 
+#print TrivSqZeroExt.inl_mul /-
 @[simp]
 theorem inl_mul [Monoid R] [AddMonoid M] [DistribMulAction R M] [DistribMulAction Rᵐᵒᵖ M]
     (r₁ r₂ : R) : (inl (r₁ * r₂) : tsze R M) = inl r₁ * inl r₂ :=
   ext rfl <| show (0 : M) = r₁ • 0 + op r₂ • 0 by rw [smul_zero, zero_add, smul_zero]
 #align triv_sq_zero_ext.inl_mul TrivSqZeroExt.inl_mul
+-/
 
+#print TrivSqZeroExt.inl_mul_inl /-
 theorem inl_mul_inl [Monoid R] [AddMonoid M] [DistribMulAction R M] [DistribMulAction Rᵐᵒᵖ M]
     (r₁ r₂ : R) : (inl r₁ * inl r₂ : tsze R M) = inl (r₁ * r₂) :=
   (inl_mul M r₁ r₂).symm
 #align triv_sq_zero_ext.inl_mul_inl TrivSqZeroExt.inl_mul_inl
+-/
 
 end
 
@@ -554,25 +591,31 @@ section
 
 variable (R)
 
+#print TrivSqZeroExt.inr_mul_inr /-
 @[simp]
 theorem inr_mul_inr [Semiring R] [AddCommMonoid M] [Module R M] [Module Rᵐᵒᵖ M] (m₁ m₂ : M) :
     (inr m₁ * inr m₂ : tsze R M) = 0 :=
   ext (MulZeroClass.mul_zero _) <|
     show (0 : R) • m₂ + (0 : Rᵐᵒᵖ) • m₁ = 0 by rw [zero_smul, zero_add, zero_smul]
 #align triv_sq_zero_ext.inr_mul_inr TrivSqZeroExt.inr_mul_inr
+-/
 
 end
 
+#print TrivSqZeroExt.inl_mul_inr /-
 theorem inl_mul_inr [Semiring R] [AddCommMonoid M] [Module R M] [Module Rᵐᵒᵖ M] (r : R) (m : M) :
     (inl r * inr m : tsze R M) = inr (r • m) :=
   ext (MulZeroClass.mul_zero r) <| show r • m + (0 : Rᵐᵒᵖ) • 0 = r • m by rw [smul_zero, add_zero]
 #align triv_sq_zero_ext.inl_mul_inr TrivSqZeroExt.inl_mul_inr
+-/
 
+#print TrivSqZeroExt.inr_mul_inl /-
 theorem inr_mul_inl [Semiring R] [AddCommMonoid M] [Module R M] [Module Rᵐᵒᵖ M] (r : R) (m : M) :
     (inr m * inl r : tsze R M) = inr (op r • m) :=
   ext (MulZeroClass.zero_mul r) <|
     show (0 : R) • 0 + op r • m = op r • m by rw [smul_zero, zero_add]
 #align triv_sq_zero_ext.inr_mul_inl TrivSqZeroExt.inr_mul_inl
+-/
 
 instance [Monoid R] [AddMonoid M] [DistribMulAction R M] [DistribMulAction Rᵐᵒᵖ M] :
     MulOneClass (tsze R M) :=
@@ -599,15 +642,19 @@ theorem fst_nat_cast [AddMonoidWithOne R] [AddMonoid M] (n : ℕ) : (n : tsze R
 #align triv_sq_zero_ext.fst_nat_cast TrivSqZeroExt.fst_nat_cast
 -/
 
+#print TrivSqZeroExt.snd_nat_cast /-
 @[simp]
 theorem snd_nat_cast [AddMonoidWithOne R] [AddMonoid M] (n : ℕ) : (n : tsze R M).snd = 0 :=
   rfl
 #align triv_sq_zero_ext.snd_nat_cast TrivSqZeroExt.snd_nat_cast
+-/
 
+#print TrivSqZeroExt.inl_nat_cast /-
 @[simp]
 theorem inl_nat_cast [AddMonoidWithOne R] [AddMonoid M] (n : ℕ) : (inl n : tsze R M) = n :=
   rfl
 #align triv_sq_zero_ext.inl_nat_cast TrivSqZeroExt.inl_nat_cast
+-/
 
 instance [AddGroupWithOne R] [AddGroup M] : AddGroupWithOne (tsze R M) :=
   { TrivSqZeroExt.addGroup,
@@ -616,20 +663,26 @@ instance [AddGroupWithOne R] [AddGroup M] : AddGroupWithOne (tsze R M) :=
     intCast_ofNat := fun n => ext (Int.cast_ofNat _) rfl
     intCast_negSucc := fun n => ext (Int.cast_negSucc _) neg_zero.symm }
 
+#print TrivSqZeroExt.fst_int_cast /-
 @[simp]
 theorem fst_int_cast [AddGroupWithOne R] [AddGroup M] (z : ℤ) : (z : tsze R M).fst = z :=
   rfl
 #align triv_sq_zero_ext.fst_int_cast TrivSqZeroExt.fst_int_cast
+-/
 
+#print TrivSqZeroExt.snd_int_cast /-
 @[simp]
 theorem snd_int_cast [AddGroupWithOne R] [AddGroup M] (z : ℤ) : (z : tsze R M).snd = 0 :=
   rfl
 #align triv_sq_zero_ext.snd_int_cast TrivSqZeroExt.snd_int_cast
+-/
 
+#print TrivSqZeroExt.inl_int_cast /-
 @[simp]
 theorem inl_int_cast [AddGroupWithOne R] [AddGroup M] (z : ℤ) : (inl z : tsze R M) = z :=
   rfl
 #align triv_sq_zero_ext.inl_int_cast TrivSqZeroExt.inl_int_cast
+-/
 
 instance [Semiring R] [AddCommMonoid M] [Module R M] [Module Rᵐᵒᵖ M] :
     NonAssocSemiring (tsze R M) :=
@@ -679,12 +732,15 @@ theorem fst_pow [Monoid R] [AddMonoid M] [DistribMulAction R M] [DistribMulActio
 #align triv_sq_zero_ext.fst_pow TrivSqZeroExt.fst_pow
 -/
 
+#print TrivSqZeroExt.snd_pow_eq_sum /-
 theorem snd_pow_eq_sum [Monoid R] [AddMonoid M] [DistribMulAction R M] [DistribMulAction Rᵐᵒᵖ M]
     (x : tsze R M) (n : ℕ) :
     snd (x ^ n) = ((List.range n).map fun i => x.fst ^ (n.pred - i) • op (x.fst ^ i) • x.snd).Sum :=
   rfl
 #align triv_sq_zero_ext.snd_pow_eq_sum TrivSqZeroExt.snd_pow_eq_sum
+-/
 
+#print TrivSqZeroExt.snd_pow_of_smul_comm /-
 theorem snd_pow_of_smul_comm [Monoid R] [AddMonoid M] [DistribMulAction R M]
     [DistribMulAction Rᵐᵒᵖ M] [SMulCommClass R Rᵐᵒᵖ M] (x : tsze R M) (n : ℕ)
     (h : op x.fst • x.snd = x.fst • x.snd) : snd (x ^ n) = n • x.fst ^ n.pred • x.snd :=
@@ -708,18 +764,23 @@ theorem snd_pow_of_smul_comm [Monoid R] [AddMonoid M] [DistribMulAction R M]
     rw [tsub_add_cancel_of_le (nat.lt_succ_iff.mp hi)]
   · rw [List.length_map, List.length_range]
 #align triv_sq_zero_ext.snd_pow_of_smul_comm TrivSqZeroExt.snd_pow_of_smul_comm
+-/
 
+#print TrivSqZeroExt.snd_pow /-
 @[simp]
 theorem snd_pow [CommMonoid R] [AddMonoid M] [DistribMulAction R M] [DistribMulAction Rᵐᵒᵖ M]
     [IsCentralScalar R M] (x : tsze R M) (n : ℕ) : snd (x ^ n) = n • x.fst ^ n.pred • x.snd :=
   snd_pow_of_smul_comm _ _ (op_smul_eq_smul _ _)
 #align triv_sq_zero_ext.snd_pow TrivSqZeroExt.snd_pow
+-/
 
+#print TrivSqZeroExt.inl_pow /-
 @[simp]
 theorem inl_pow [Monoid R] [AddMonoid M] [DistribMulAction R M] [DistribMulAction Rᵐᵒᵖ M] (r : R)
     (n : ℕ) : (inl r ^ n : tsze R M) = inl (r ^ n) :=
   ext rfl <| by simp [snd_pow_eq_sum]
 #align triv_sq_zero_ext.inl_pow TrivSqZeroExt.inl_pow
+-/
 
 instance [Monoid R] [AddMonoid M] [DistribMulAction R M] [DistribMulAction Rᵐᵒᵖ M]
     [SMulCommClass R Rᵐᵒᵖ M] : Monoid (tsze R M) :=
@@ -749,15 +810,18 @@ instance [Monoid R] [AddMonoid M] [DistribMulAction R M] [DistribMulAction Rᵐ
           rw [List.mem_range, Nat.lt_succ_iff] at hi 
           rw [Nat.sub_add_comm hi]) }
 
+#print TrivSqZeroExt.fst_list_prod /-
 theorem fst_list_prod [Monoid R] [AddMonoid M] [DistribMulAction R M] [DistribMulAction Rᵐᵒᵖ M]
     [SMulCommClass R Rᵐᵒᵖ M] (l : List (tsze R M)) : l.Prod.fst = (l.map fst).Prod :=
   map_list_prod (⟨fst, fst_one, fst_mul⟩ : tsze R M →* R) _
 #align triv_sq_zero_ext.fst_list_prod TrivSqZeroExt.fst_list_prod
+-/
 
 instance [Semiring R] [AddCommMonoid M] [Module R M] [Module Rᵐᵒᵖ M] [SMulCommClass R Rᵐᵒᵖ M] :
     Semiring (tsze R M) :=
   { TrivSqZeroExt.monoid, TrivSqZeroExt.nonAssocSemiring with }
 
+#print TrivSqZeroExt.snd_list_prod /-
 /-- The second element of a product $\prod_{i=0}^n (r_i + m_i)$ is a sum of terms of the form
 $r_0\cdots r_{i-1}m_ir_{i+1}\cdots r_n$. -/
 theorem snd_list_prod [Semiring R] [AddCommMonoid M] [Module R M] [Module Rᵐᵒᵖ M]
@@ -774,6 +838,7 @@ theorem snd_list_prod [Semiring R] [AddCommMonoid M] [Module R M] [Module Rᵐ
       mul_smul, List.sum_cons, fst_list_prod, ih, List.smul_sum, List.map_map]
     exact add_comm _ _
 #align triv_sq_zero_ext.snd_list_prod TrivSqZeroExt.snd_list_prod
+-/
 
 instance [Ring R] [AddCommGroup M] [Module R M] [Module Rᵐᵒᵖ M] [SMulCommClass R Rᵐᵒᵖ M] :
     Ring (tsze R M) :=
@@ -850,9 +915,11 @@ instance algebra' : Algebra S (tsze R M) :=
 instance : Algebra R' (tsze R' M) :=
   TrivSqZeroExt.algebra' _ _ _
 
+#print TrivSqZeroExt.algebraMap_eq_inl /-
 theorem algebraMap_eq_inl : ⇑(algebraMap R' (tsze R' M)) = inl :=
   rfl
 #align triv_sq_zero_ext.algebra_map_eq_inl TrivSqZeroExt.algebraMap_eq_inl
+-/
 
 #print TrivSqZeroExt.algebraMap_eq_inlHom /-
 theorem algebraMap_eq_inlHom : algebraMap R' (tsze R' M) = inlHom R' M :=
@@ -860,9 +927,11 @@ theorem algebraMap_eq_inlHom : algebraMap R' (tsze R' M) = inlHom R' M :=
 #align triv_sq_zero_ext.algebra_map_eq_inl_hom TrivSqZeroExt.algebraMap_eq_inlHom
 -/
 
+#print TrivSqZeroExt.algebraMap_eq_inl' /-
 theorem algebraMap_eq_inl' (s : S) : algebraMap S (tsze R M) s = inl (algebraMap S R s) :=
   rfl
 #align triv_sq_zero_ext.algebra_map_eq_inl' TrivSqZeroExt.algebraMap_eq_inl'
+-/
 
 #print TrivSqZeroExt.fstHom /-
 /-- The canonical `R`-algebra projection `triv_sq_zero_ext R M → R`. -/
@@ -879,20 +948,25 @@ def fstHom : tsze R M →ₐ[S] R where
 
 variable {R R' S M}
 
+#print TrivSqZeroExt.algHom_ext /-
 theorem algHom_ext {A} [Semiring A] [Algebra R' A] ⦃f g : tsze R' M →ₐ[R'] A⦄
     (h : ∀ m, f (inr m) = g (inr m)) : f = g :=
   AlgHom.toLinearMap_injective <|
     linearMap_ext (fun r => (f.commutes _).trans (g.commutes _).symm) h
 #align triv_sq_zero_ext.alg_hom_ext TrivSqZeroExt.algHom_ext
+-/
 
+#print TrivSqZeroExt.algHom_ext' /-
 @[ext]
 theorem algHom_ext' {A} [Semiring A] [Algebra R' A] ⦃f g : tsze R' M →ₐ[R'] A⦄
     (h : f.toLinearMap.comp (inrHom R' M) = g.toLinearMap.comp (inrHom R' M)) : f = g :=
   algHom_ext <| LinearMap.congr_fun h
 #align triv_sq_zero_ext.alg_hom_ext' TrivSqZeroExt.algHom_ext'
+-/
 
 variable {A : Type _} [Semiring A] [Algebra R' A]
 
+#print TrivSqZeroExt.liftAux /-
 /-- There is an alg_hom from the trivial square zero extension to any `R`-algebra with a submodule
 whose products are all zero.
 
@@ -909,18 +983,23 @@ def liftAux (f : M →ₗ[R'] A) (hf : ∀ x y, f x * f y = 0) : tsze R' M →
         rw [← RingHom.map_mul, LinearMap.map_add, ← Algebra.commutes _ (f _), ← Algebra.smul_def, ←
           Algebra.smul_def, add_right_comm, add_assoc, LinearMap.map_smul, LinearMap.map_smul])
 #align triv_sq_zero_ext.lift_aux TrivSqZeroExt.liftAux
+-/
 
+#print TrivSqZeroExt.liftAux_apply_inr /-
 @[simp]
 theorem liftAux_apply_inr (f : M →ₗ[R'] A) (hf : ∀ x y, f x * f y = 0) (m : M) :
     liftAux f hf (inr m) = f m :=
   show algebraMap R' A 0 + f m = f m by rw [RingHom.map_zero, zero_add]
 #align triv_sq_zero_ext.lift_aux_apply_inr TrivSqZeroExt.liftAux_apply_inr
+-/
 
+#print TrivSqZeroExt.liftAux_comp_inrHom /-
 @[simp]
 theorem liftAux_comp_inrHom (f : M →ₗ[R'] A) (hf : ∀ x y, f x * f y = 0) :
     (liftAux f hf).toLinearMap.comp (inrHom R' M) = f :=
   LinearMap.ext <| liftAux_apply_inr f hf
 #align triv_sq_zero_ext.lift_aux_comp_inr_hom TrivSqZeroExt.liftAux_comp_inrHom
+-/
 
 #print TrivSqZeroExt.liftAux_inrHom /-
 -- When applied to `inr` itself, `lift_aux` is the identity.
@@ -930,6 +1009,7 @@ theorem liftAux_inrHom : liftAux (inrHom R' M) (inr_mul_inr R') = AlgHom.id R' (
 #align triv_sq_zero_ext.lift_aux_inr_hom TrivSqZeroExt.liftAux_inrHom
 -/
 
+#print TrivSqZeroExt.lift /-
 /-- A universal property of the trivial square-zero extension, providing a unique
 `triv_sq_zero_ext R M →ₐ[R] A` for every linear map `M →ₗ[R] A` whose range has no non-zero
 products.
@@ -945,6 +1025,7 @@ def lift : { f : M →ₗ[R'] A // ∀ x y, f x * f y = 0 } ≃ (tsze R' M →
   left_inv f := Subtype.ext <| liftAux_comp_inrHom _ _
   right_inv F := algHom_ext' <| liftAux_comp_inrHom _ _
 #align triv_sq_zero_ext.lift TrivSqZeroExt.lift
+-/
 
 attribute [nolint simp_nf] lift_symm_apply_coe
 
Diff
@@ -703,7 +703,7 @@ theorem snd_pow_of_smul_comm [Monoid R] [AddMonoid M] [DistribMulAction R M]
   simp_rw [Nat.pred_succ]
   refine' (List.sum_eq_card_nsmul _ (x.fst ^ n • x.snd) _).trans _
   · rintro m hm
-    simp_rw [List.mem_map, List.mem_range] at hm
+    simp_rw [List.mem_map, List.mem_range] at hm 
     obtain ⟨i, hi, rfl⟩ := hm
     rw [tsub_add_cancel_of_le (nat.lt_succ_iff.mp hi)]
   · rw [List.length_map, List.length_range]
@@ -746,7 +746,7 @@ instance [Monoid R] [AddMonoid M] [DistribMulAction R M] [DistribMulAction Rᵐ
           simp_rw [smul_smul, ← pow_succ, Nat.succ_eq_add_one]
           congr 2
           refine' List.map_congr fun i hi => _
-          rw [List.mem_range, Nat.lt_succ_iff] at hi
+          rw [List.mem_range, Nat.lt_succ_iff] at hi 
           rw [Nat.sub_add_comm hi]) }
 
 theorem fst_list_prod [Monoid R] [AddMonoid M] [DistribMulAction R M] [DistribMulAction Rᵐᵒᵖ M]
Diff
@@ -71,7 +71,7 @@ def TrivSqZeroExt (R : Type u) (M : Type v) :=
 -- mathport name: exprtsze
 local notation "tsze" => TrivSqZeroExt
 
-open BigOperators
+open scoped BigOperators
 
 namespace TrivSqZeroExt
 
Diff
@@ -339,45 +339,21 @@ theorem snd_sub [Sub R] [Sub M] (x₁ x₂ : tsze R M) : (x₁ - x₂).snd = x
 #align triv_sq_zero_ext.snd_sub TrivSqZeroExt.snd_sub
 -/
 
-/- warning: triv_sq_zero_ext.fst_smul -> TrivSqZeroExt.fst_smul is a dubious translation:
-lean 3 declaration is
-  forall {S : Type.{u3}} {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : SMul.{u3, u1} S R] [_inst_2 : SMul.{u3, u2} S M] (s : S) (x : TrivSqZeroExt.{u1, u2} R M), Eq.{succ u1} R (TrivSqZeroExt.fst.{u1, u2} R M (SMul.smul.{u3, max u1 u2} S (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.hasSmul.{u1, u2, u3} S R M _inst_1 _inst_2) s x)) (SMul.smul.{u3, u1} S R _inst_1 s (TrivSqZeroExt.fst.{u1, u2} R M x))
-but is expected to have type
-  forall {S : Type.{u1}} {R : Type.{u2}} {M : Type.{u3}} [_inst_1 : SMul.{u1, u2} S R] [_inst_2 : SMul.{u1, u3} S M] (s : S) (x : TrivSqZeroExt.{u2, u3} R M), Eq.{succ u2} R (TrivSqZeroExt.fst.{u2, u3} R M (HSMul.hSMul.{u1, max u2 u3, max u2 u3} S (TrivSqZeroExt.{u2, u3} R M) (TrivSqZeroExt.{u2, u3} R M) (instHSMul.{u1, max u2 u3} S (TrivSqZeroExt.{u2, u3} R M) (TrivSqZeroExt.smul.{u2, u3, u1} S R M _inst_1 _inst_2)) s x)) (HSMul.hSMul.{u1, u2, u2} S R R (instHSMul.{u1, u2} S R _inst_1) s (TrivSqZeroExt.fst.{u2, u3} R M x))
-Case conversion may be inaccurate. Consider using '#align triv_sq_zero_ext.fst_smul TrivSqZeroExt.fst_smulₓ'. -/
 @[simp]
 theorem fst_smul [SMul S R] [SMul S M] (s : S) (x : tsze R M) : (s • x).fst = s • x.fst :=
   rfl
 #align triv_sq_zero_ext.fst_smul TrivSqZeroExt.fst_smul
 
-/- warning: triv_sq_zero_ext.snd_smul -> TrivSqZeroExt.snd_smul is a dubious translation:
-lean 3 declaration is
-  forall {S : Type.{u3}} {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : SMul.{u3, u1} S R] [_inst_2 : SMul.{u3, u2} S M] (s : S) (x : TrivSqZeroExt.{u1, u2} R M), Eq.{succ u2} M (TrivSqZeroExt.snd.{u1, u2} R M (SMul.smul.{u3, max u1 u2} S (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.hasSmul.{u1, u2, u3} S R M _inst_1 _inst_2) s x)) (SMul.smul.{u3, u2} S M _inst_2 s (TrivSqZeroExt.snd.{u1, u2} R M x))
-but is expected to have type
-  forall {S : Type.{u1}} {R : Type.{u2}} {M : Type.{u3}} [_inst_1 : SMul.{u1, u2} S R] [_inst_2 : SMul.{u1, u3} S M] (s : S) (x : TrivSqZeroExt.{u2, u3} R M), Eq.{succ u3} M (TrivSqZeroExt.snd.{u2, u3} R M (HSMul.hSMul.{u1, max u2 u3, max u2 u3} S (TrivSqZeroExt.{u2, u3} R M) (TrivSqZeroExt.{u2, u3} R M) (instHSMul.{u1, max u2 u3} S (TrivSqZeroExt.{u2, u3} R M) (TrivSqZeroExt.smul.{u2, u3, u1} S R M _inst_1 _inst_2)) s x)) (HSMul.hSMul.{u1, u3, u3} S M M (instHSMul.{u1, u3} S M _inst_2) s (TrivSqZeroExt.snd.{u2, u3} R M x))
-Case conversion may be inaccurate. Consider using '#align triv_sq_zero_ext.snd_smul TrivSqZeroExt.snd_smulₓ'. -/
 @[simp]
 theorem snd_smul [SMul S R] [SMul S M] (s : S) (x : tsze R M) : (s • x).snd = s • x.snd :=
   rfl
 #align triv_sq_zero_ext.snd_smul TrivSqZeroExt.snd_smul
 
-/- warning: triv_sq_zero_ext.fst_sum -> TrivSqZeroExt.fst_sum is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {M : Type.{u2}} {ι : Type.{u3}} [_inst_1 : AddCommMonoid.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] (s : Finset.{u3} ι) (f : ι -> (TrivSqZeroExt.{u1, u2} R M)), Eq.{succ u1} R (TrivSqZeroExt.fst.{u1, u2} R M (Finset.sum.{max u1 u2, u3} (TrivSqZeroExt.{u1, u2} R M) ι (TrivSqZeroExt.addCommMonoid.{u1, u2} R M _inst_1 _inst_2) s (fun (i : ι) => f i))) (Finset.sum.{u1, u3} R ι _inst_1 s (fun (i : ι) => TrivSqZeroExt.fst.{u1, u2} R M (f i)))
-but is expected to have type
-  forall {R : Type.{u2}} {M : Type.{u3}} {ι : Type.{u1}} [_inst_1 : AddCommMonoid.{u2} R] [_inst_2 : AddCommMonoid.{u3} M] (s : Finset.{u1} ι) (f : ι -> (TrivSqZeroExt.{u2, u3} R M)), Eq.{succ u2} R (TrivSqZeroExt.fst.{u2, u3} R M (Finset.sum.{max u2 u3, u1} (TrivSqZeroExt.{u2, u3} R M) ι (TrivSqZeroExt.addCommMonoid.{u2, u3} R M _inst_1 _inst_2) s (fun (i : ι) => f i))) (Finset.sum.{u2, u1} R ι _inst_1 s (fun (i : ι) => TrivSqZeroExt.fst.{u2, u3} R M (f i)))
-Case conversion may be inaccurate. Consider using '#align triv_sq_zero_ext.fst_sum TrivSqZeroExt.fst_sumₓ'. -/
 theorem fst_sum {ι} [AddCommMonoid R] [AddCommMonoid M] (s : Finset ι) (f : ι → tsze R M) :
     (∑ i in s, f i).fst = ∑ i in s, (f i).fst :=
   Prod.fst_sum
 #align triv_sq_zero_ext.fst_sum TrivSqZeroExt.fst_sum
 
-/- warning: triv_sq_zero_ext.snd_sum -> TrivSqZeroExt.snd_sum is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {M : Type.{u2}} {ι : Type.{u3}} [_inst_1 : AddCommMonoid.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] (s : Finset.{u3} ι) (f : ι -> (TrivSqZeroExt.{u1, u2} R M)), Eq.{succ u2} M (TrivSqZeroExt.snd.{u1, u2} R M (Finset.sum.{max u1 u2, u3} (TrivSqZeroExt.{u1, u2} R M) ι (TrivSqZeroExt.addCommMonoid.{u1, u2} R M _inst_1 _inst_2) s (fun (i : ι) => f i))) (Finset.sum.{u2, u3} M ι _inst_2 s (fun (i : ι) => TrivSqZeroExt.snd.{u1, u2} R M (f i)))
-but is expected to have type
-  forall {R : Type.{u2}} {M : Type.{u3}} {ι : Type.{u1}} [_inst_1 : AddCommMonoid.{u2} R] [_inst_2 : AddCommMonoid.{u3} M] (s : Finset.{u1} ι) (f : ι -> (TrivSqZeroExt.{u2, u3} R M)), Eq.{succ u3} M (TrivSqZeroExt.snd.{u2, u3} R M (Finset.sum.{max u2 u3, u1} (TrivSqZeroExt.{u2, u3} R M) ι (TrivSqZeroExt.addCommMonoid.{u2, u3} R M _inst_1 _inst_2) s (fun (i : ι) => f i))) (Finset.sum.{u3, u1} M ι _inst_2 s (fun (i : ι) => TrivSqZeroExt.snd.{u2, u3} R M (f i)))
-Case conversion may be inaccurate. Consider using '#align triv_sq_zero_ext.snd_sum TrivSqZeroExt.snd_sumₓ'. -/
 theorem snd_sum {ι} [AddCommMonoid R] [AddCommMonoid M] (s : Finset ι) (f : ι → tsze R M) :
     (∑ i in s, f i).snd = ∑ i in s, (f i).snd :=
   Prod.snd_sum
@@ -394,59 +370,29 @@ theorem inl_zero [Zero R] [Zero M] : (inl 0 : tsze R M) = 0 :=
 #align triv_sq_zero_ext.inl_zero TrivSqZeroExt.inl_zero
 -/
 
-/- warning: triv_sq_zero_ext.inl_add -> TrivSqZeroExt.inl_add is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} (M : Type.{u2}) [_inst_1 : Add.{u1} R] [_inst_2 : AddZeroClass.{u2} M] (r₁ : R) (r₂ : R), Eq.{max (succ u1) (succ u2)} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.inl.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M _inst_2) (HAdd.hAdd.{u1, u1, u1} R R R (instHAdd.{u1} R _inst_1) r₁ r₂)) (HAdd.hAdd.{max u1 u2, max u1 u2, max u1 u2} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.{u1, u2} R M) (instHAdd.{max u1 u2} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.hasAdd.{u1, u2} R M _inst_1 (AddZeroClass.toHasAdd.{u2} M _inst_2))) (TrivSqZeroExt.inl.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M _inst_2) r₁) (TrivSqZeroExt.inl.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M _inst_2) r₂))
-but is expected to have type
-  forall {R : Type.{u1}} (M : Type.{u2}) [_inst_1 : Add.{u1} R] [_inst_2 : AddZeroClass.{u2} M] (r₁ : R) (r₂ : R), Eq.{max (succ u1) (succ u2)} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.inl.{u1, u2} R M (AddZeroClass.toZero.{u2} M _inst_2) (HAdd.hAdd.{u1, u1, u1} R R R (instHAdd.{u1} R _inst_1) r₁ r₂)) (HAdd.hAdd.{max u1 u2, max u1 u2, max u1 u2} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.{u1, u2} R M) (instHAdd.{max u1 u2} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.add.{u1, u2} R M _inst_1 (AddZeroClass.toAdd.{u2} M _inst_2))) (TrivSqZeroExt.inl.{u1, u2} R M (AddZeroClass.toZero.{u2} M _inst_2) r₁) (TrivSqZeroExt.inl.{u1, u2} R M (AddZeroClass.toZero.{u2} M _inst_2) r₂))
-Case conversion may be inaccurate. Consider using '#align triv_sq_zero_ext.inl_add TrivSqZeroExt.inl_addₓ'. -/
 @[simp]
 theorem inl_add [Add R] [AddZeroClass M] (r₁ r₂ : R) :
     (inl (r₁ + r₂) : tsze R M) = inl r₁ + inl r₂ :=
   ext rfl (add_zero 0).symm
 #align triv_sq_zero_ext.inl_add TrivSqZeroExt.inl_add
 
-/- warning: triv_sq_zero_ext.inl_neg -> TrivSqZeroExt.inl_neg is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} (M : Type.{u2}) [_inst_1 : Neg.{u1} R] [_inst_2 : SubNegZeroMonoid.{u2} M] (r : R), Eq.{max (succ u1) (succ u2)} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.inl.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (SubNegZeroMonoid.toSubNegMonoid.{u2} M _inst_2)))) (Neg.neg.{u1} R _inst_1 r)) (Neg.neg.{max u1 u2} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.hasNeg.{u1, u2} R M _inst_1 (SubNegMonoid.toHasNeg.{u2} M (SubNegZeroMonoid.toSubNegMonoid.{u2} M _inst_2))) (TrivSqZeroExt.inl.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (SubNegZeroMonoid.toSubNegMonoid.{u2} M _inst_2)))) r))
-but is expected to have type
-  forall {R : Type.{u1}} (M : Type.{u2}) [_inst_1 : Neg.{u1} R] [_inst_2 : SubNegZeroMonoid.{u2} M] (r : R), Eq.{max (succ u1) (succ u2)} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.inl.{u1, u2} R M (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M _inst_2)) (Neg.neg.{u1} R _inst_1 r)) (Neg.neg.{max u1 u2} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.neg.{u1, u2} R M _inst_1 (NegZeroClass.toNeg.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M _inst_2))) (TrivSqZeroExt.inl.{u1, u2} R M (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M _inst_2)) r))
-Case conversion may be inaccurate. Consider using '#align triv_sq_zero_ext.inl_neg TrivSqZeroExt.inl_negₓ'. -/
 @[simp]
 theorem inl_neg [Neg R] [SubNegZeroMonoid M] (r : R) : (inl (-r) : tsze R M) = -inl r :=
   ext rfl neg_zero.symm
 #align triv_sq_zero_ext.inl_neg TrivSqZeroExt.inl_neg
 
-/- warning: triv_sq_zero_ext.inl_sub -> TrivSqZeroExt.inl_sub is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} (M : Type.{u2}) [_inst_1 : Sub.{u1} R] [_inst_2 : SubNegZeroMonoid.{u2} M] (r₁ : R) (r₂ : R), Eq.{max (succ u1) (succ u2)} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.inl.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (SubNegZeroMonoid.toSubNegMonoid.{u2} M _inst_2)))) (HSub.hSub.{u1, u1, u1} R R R (instHSub.{u1} R _inst_1) r₁ r₂)) (HSub.hSub.{max u1 u2, max u1 u2, max u1 u2} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.{u1, u2} R M) (instHSub.{max u1 u2} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.hasSub.{u1, u2} R M _inst_1 (SubNegMonoid.toHasSub.{u2} M (SubNegZeroMonoid.toSubNegMonoid.{u2} M _inst_2)))) (TrivSqZeroExt.inl.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (SubNegZeroMonoid.toSubNegMonoid.{u2} M _inst_2)))) r₁) (TrivSqZeroExt.inl.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (SubNegZeroMonoid.toSubNegMonoid.{u2} M _inst_2)))) r₂))
-but is expected to have type
-  forall {R : Type.{u1}} (M : Type.{u2}) [_inst_1 : Sub.{u1} R] [_inst_2 : SubNegZeroMonoid.{u2} M] (r₁ : R) (r₂ : R), Eq.{max (succ u1) (succ u2)} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.inl.{u1, u2} R M (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M _inst_2)) (HSub.hSub.{u1, u1, u1} R R R (instHSub.{u1} R _inst_1) r₁ r₂)) (HSub.hSub.{max u1 u2, max u1 u2, max u1 u2} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.{u1, u2} R M) (instHSub.{max u1 u2} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.sub.{u1, u2} R M _inst_1 (SubNegMonoid.toSub.{u2} M (SubNegZeroMonoid.toSubNegMonoid.{u2} M _inst_2)))) (TrivSqZeroExt.inl.{u1, u2} R M (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M _inst_2)) r₁) (TrivSqZeroExt.inl.{u1, u2} R M (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M _inst_2)) r₂))
-Case conversion may be inaccurate. Consider using '#align triv_sq_zero_ext.inl_sub TrivSqZeroExt.inl_subₓ'. -/
 @[simp]
 theorem inl_sub [Sub R] [SubNegZeroMonoid M] (r₁ r₂ : R) :
     (inl (r₁ - r₂) : tsze R M) = inl r₁ - inl r₂ :=
   ext rfl (sub_zero _).symm
 #align triv_sq_zero_ext.inl_sub TrivSqZeroExt.inl_sub
 
-/- warning: triv_sq_zero_ext.inl_smul -> TrivSqZeroExt.inl_smul is a dubious translation:
-lean 3 declaration is
-  forall {S : Type.{u3}} {R : Type.{u1}} (M : Type.{u2}) [_inst_1 : Monoid.{u3} S] [_inst_2 : AddMonoid.{u2} M] [_inst_3 : SMul.{u3, u1} S R] [_inst_4 : DistribMulAction.{u3, u2} S M _inst_1 _inst_2] (s : S) (r : R), Eq.{max (succ u1) (succ u2)} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.inl.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_2)) (SMul.smul.{u3, u1} S R _inst_3 s r)) (SMul.smul.{u3, max u1 u2} S (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.hasSmul.{u1, u2, u3} S R M _inst_3 (SMulZeroClass.toHasSmul.{u3, u2} S M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_2)) (DistribSMul.toSmulZeroClass.{u3, u2} S M (AddMonoid.toAddZeroClass.{u2} M _inst_2) (DistribMulAction.toDistribSMul.{u3, u2} S M _inst_1 _inst_2 _inst_4)))) s (TrivSqZeroExt.inl.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_2)) r))
-but is expected to have type
-  forall {S : Type.{u1}} {R : Type.{u2}} (M : Type.{u3}) [_inst_1 : Monoid.{u1} S] [_inst_2 : AddMonoid.{u3} M] [_inst_3 : SMul.{u1, u2} S R] [_inst_4 : DistribMulAction.{u1, u3} S M _inst_1 _inst_2] (s : S) (r : R), Eq.{max (succ u2) (succ u3)} (TrivSqZeroExt.{u2, u3} R M) (TrivSqZeroExt.inl.{u2, u3} R M (AddMonoid.toZero.{u3} M _inst_2) (HSMul.hSMul.{u1, u2, u2} S R R (instHSMul.{u1, u2} S R _inst_3) s r)) (HSMul.hSMul.{u1, max u3 u2, max u2 u3} S (TrivSqZeroExt.{u2, u3} R M) (TrivSqZeroExt.{u2, u3} R M) (instHSMul.{u1, max u2 u3} S (TrivSqZeroExt.{u2, u3} R M) (TrivSqZeroExt.smul.{u2, u3, u1} S R M _inst_3 (SMulZeroClass.toSMul.{u1, u3} S M (AddMonoid.toZero.{u3} M _inst_2) (DistribSMul.toSMulZeroClass.{u1, u3} S M (AddMonoid.toAddZeroClass.{u3} M _inst_2) (DistribMulAction.toDistribSMul.{u1, u3} S M _inst_1 _inst_2 _inst_4))))) s (TrivSqZeroExt.inl.{u2, u3} R M (AddMonoid.toZero.{u3} M _inst_2) r))
-Case conversion may be inaccurate. Consider using '#align triv_sq_zero_ext.inl_smul TrivSqZeroExt.inl_smulₓ'. -/
 @[simp]
 theorem inl_smul [Monoid S] [AddMonoid M] [SMul S R] [DistribMulAction S M] (s : S) (r : R) :
     (inl (s • r) : tsze R M) = s • inl r :=
   ext rfl (smul_zero s).symm
 #align triv_sq_zero_ext.inl_smul TrivSqZeroExt.inl_smul
 
-/- warning: triv_sq_zero_ext.inl_sum -> TrivSqZeroExt.inl_sum is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} (M : Type.{u2}) {ι : Type.{u3}} [_inst_1 : AddCommMonoid.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] (s : Finset.{u3} ι) (f : ι -> R), Eq.{max (succ u1) (succ u2)} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.inl.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Finset.sum.{u1, u3} R ι _inst_1 s (fun (i : ι) => f i))) (Finset.sum.{max u1 u2, u3} (TrivSqZeroExt.{u1, u2} R M) ι (TrivSqZeroExt.addCommMonoid.{u1, u2} R M _inst_1 _inst_2) s (fun (i : ι) => TrivSqZeroExt.inl.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (f i)))
-but is expected to have type
-  forall {R : Type.{u2}} (M : Type.{u3}) {ι : Type.{u1}} [_inst_1 : AddCommMonoid.{u2} R] [_inst_2 : AddCommMonoid.{u3} M] (s : Finset.{u1} ι) (f : ι -> R), Eq.{max (succ u2) (succ u3)} (TrivSqZeroExt.{u2, u3} R M) (TrivSqZeroExt.inl.{u2, u3} R M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (Finset.sum.{u2, u1} R ι _inst_1 s (fun (i : ι) => f i))) (Finset.sum.{max u3 u2, u1} (TrivSqZeroExt.{u2, u3} R M) ι (TrivSqZeroExt.addCommMonoid.{u2, u3} R M _inst_1 _inst_2) s (fun (i : ι) => TrivSqZeroExt.inl.{u2, u3} R M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (f i)))
-Case conversion may be inaccurate. Consider using '#align triv_sq_zero_ext.inl_sum TrivSqZeroExt.inl_sumₓ'. -/
 theorem inl_sum {ι} [AddCommMonoid R] [AddCommMonoid M] (s : Finset ι) (f : ι → R) :
     (inl (∑ i in s, f i) : tsze R M) = ∑ i in s, inl (f i) :=
   (LinearMap.inl ℕ _ _).map_sum
@@ -465,59 +411,29 @@ theorem inr_zero [Zero R] [Zero M] : (inr 0 : tsze R M) = 0 :=
 #align triv_sq_zero_ext.inr_zero TrivSqZeroExt.inr_zero
 -/
 
-/- warning: triv_sq_zero_ext.inr_add -> TrivSqZeroExt.inr_add is a dubious translation:
-lean 3 declaration is
-  forall (R : Type.{u1}) {M : Type.{u2}} [_inst_1 : AddZeroClass.{u1} R] [_inst_2 : AddZeroClass.{u2} M] (m₁ : M) (m₂ : M), Eq.{max (succ u1) (succ u2)} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.inr.{u1, u2} R M (AddZeroClass.toHasZero.{u1} R _inst_1) (HAdd.hAdd.{u2, u2, u2} M M M (instHAdd.{u2} M (AddZeroClass.toHasAdd.{u2} M _inst_2)) m₁ m₂)) (HAdd.hAdd.{max u1 u2, max u1 u2, max u1 u2} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.{u1, u2} R M) (instHAdd.{max u1 u2} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.hasAdd.{u1, u2} R M (AddZeroClass.toHasAdd.{u1} R _inst_1) (AddZeroClass.toHasAdd.{u2} M _inst_2))) (TrivSqZeroExt.inr.{u1, u2} R M (AddZeroClass.toHasZero.{u1} R _inst_1) m₁) (TrivSqZeroExt.inr.{u1, u2} R M (AddZeroClass.toHasZero.{u1} R _inst_1) m₂))
-but is expected to have type
-  forall (R : Type.{u1}) {M : Type.{u2}} [_inst_1 : AddZeroClass.{u1} R] [_inst_2 : AddZeroClass.{u2} M] (m₁ : M) (m₂ : M), Eq.{max (succ u1) (succ u2)} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.inr.{u1, u2} R M (AddZeroClass.toZero.{u1} R _inst_1) (HAdd.hAdd.{u2, u2, u2} M M M (instHAdd.{u2} M (AddZeroClass.toAdd.{u2} M _inst_2)) m₁ m₂)) (HAdd.hAdd.{max u2 u1, max u2 u1, max u1 u2} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.{u1, u2} R M) (instHAdd.{max u2 u1} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.add.{u1, u2} R M (AddZeroClass.toAdd.{u1} R _inst_1) (AddZeroClass.toAdd.{u2} M _inst_2))) (TrivSqZeroExt.inr.{u1, u2} R M (AddZeroClass.toZero.{u1} R _inst_1) m₁) (TrivSqZeroExt.inr.{u1, u2} R M (AddZeroClass.toZero.{u1} R _inst_1) m₂))
-Case conversion may be inaccurate. Consider using '#align triv_sq_zero_ext.inr_add TrivSqZeroExt.inr_addₓ'. -/
 @[simp]
 theorem inr_add [AddZeroClass R] [AddZeroClass M] (m₁ m₂ : M) :
     (inr (m₁ + m₂) : tsze R M) = inr m₁ + inr m₂ :=
   ext (add_zero 0).symm rfl
 #align triv_sq_zero_ext.inr_add TrivSqZeroExt.inr_add
 
-/- warning: triv_sq_zero_ext.inr_neg -> TrivSqZeroExt.inr_neg is a dubious translation:
-lean 3 declaration is
-  forall (R : Type.{u1}) {M : Type.{u2}} [_inst_1 : SubNegZeroMonoid.{u1} R] [_inst_2 : Neg.{u2} M] (m : M), Eq.{max (succ u1) (succ u2)} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.inr.{u1, u2} R M (AddZeroClass.toHasZero.{u1} R (AddMonoid.toAddZeroClass.{u1} R (SubNegMonoid.toAddMonoid.{u1} R (SubNegZeroMonoid.toSubNegMonoid.{u1} R _inst_1)))) (Neg.neg.{u2} M _inst_2 m)) (Neg.neg.{max u1 u2} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.hasNeg.{u1, u2} R M (SubNegMonoid.toHasNeg.{u1} R (SubNegZeroMonoid.toSubNegMonoid.{u1} R _inst_1)) _inst_2) (TrivSqZeroExt.inr.{u1, u2} R M (AddZeroClass.toHasZero.{u1} R (AddMonoid.toAddZeroClass.{u1} R (SubNegMonoid.toAddMonoid.{u1} R (SubNegZeroMonoid.toSubNegMonoid.{u1} R _inst_1)))) m))
-but is expected to have type
-  forall (R : Type.{u1}) {M : Type.{u2}} [_inst_1 : SubNegZeroMonoid.{u1} R] [_inst_2 : Neg.{u2} M] (m : M), Eq.{max (succ u1) (succ u2)} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.inr.{u1, u2} R M (NegZeroClass.toZero.{u1} R (SubNegZeroMonoid.toNegZeroClass.{u1} R _inst_1)) (Neg.neg.{u2} M _inst_2 m)) (Neg.neg.{max u2 u1} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.neg.{u1, u2} R M (NegZeroClass.toNeg.{u1} R (SubNegZeroMonoid.toNegZeroClass.{u1} R _inst_1)) _inst_2) (TrivSqZeroExt.inr.{u1, u2} R M (NegZeroClass.toZero.{u1} R (SubNegZeroMonoid.toNegZeroClass.{u1} R _inst_1)) m))
-Case conversion may be inaccurate. Consider using '#align triv_sq_zero_ext.inr_neg TrivSqZeroExt.inr_negₓ'. -/
 @[simp]
 theorem inr_neg [SubNegZeroMonoid R] [Neg M] (m : M) : (inr (-m) : tsze R M) = -inr m :=
   ext neg_zero.symm rfl
 #align triv_sq_zero_ext.inr_neg TrivSqZeroExt.inr_neg
 
-/- warning: triv_sq_zero_ext.inr_sub -> TrivSqZeroExt.inr_sub is a dubious translation:
-lean 3 declaration is
-  forall (R : Type.{u1}) {M : Type.{u2}} [_inst_1 : SubNegZeroMonoid.{u1} R] [_inst_2 : Sub.{u2} M] (m₁ : M) (m₂ : M), Eq.{max (succ u1) (succ u2)} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.inr.{u1, u2} R M (AddZeroClass.toHasZero.{u1} R (AddMonoid.toAddZeroClass.{u1} R (SubNegMonoid.toAddMonoid.{u1} R (SubNegZeroMonoid.toSubNegMonoid.{u1} R _inst_1)))) (HSub.hSub.{u2, u2, u2} M M M (instHSub.{u2} M _inst_2) m₁ m₂)) (HSub.hSub.{max u1 u2, max u1 u2, max u1 u2} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.{u1, u2} R M) (instHSub.{max u1 u2} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.hasSub.{u1, u2} R M (SubNegMonoid.toHasSub.{u1} R (SubNegZeroMonoid.toSubNegMonoid.{u1} R _inst_1)) _inst_2)) (TrivSqZeroExt.inr.{u1, u2} R M (AddZeroClass.toHasZero.{u1} R (AddMonoid.toAddZeroClass.{u1} R (SubNegMonoid.toAddMonoid.{u1} R (SubNegZeroMonoid.toSubNegMonoid.{u1} R _inst_1)))) m₁) (TrivSqZeroExt.inr.{u1, u2} R M (AddZeroClass.toHasZero.{u1} R (AddMonoid.toAddZeroClass.{u1} R (SubNegMonoid.toAddMonoid.{u1} R (SubNegZeroMonoid.toSubNegMonoid.{u1} R _inst_1)))) m₂))
-but is expected to have type
-  forall (R : Type.{u1}) {M : Type.{u2}} [_inst_1 : SubNegZeroMonoid.{u1} R] [_inst_2 : Sub.{u2} M] (m₁ : M) (m₂ : M), Eq.{max (succ u1) (succ u2)} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.inr.{u1, u2} R M (NegZeroClass.toZero.{u1} R (SubNegZeroMonoid.toNegZeroClass.{u1} R _inst_1)) (HSub.hSub.{u2, u2, u2} M M M (instHSub.{u2} M _inst_2) m₁ m₂)) (HSub.hSub.{max u2 u1, max u2 u1, max u1 u2} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.{u1, u2} R M) (instHSub.{max u2 u1} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.sub.{u1, u2} R M (SubNegMonoid.toSub.{u1} R (SubNegZeroMonoid.toSubNegMonoid.{u1} R _inst_1)) _inst_2)) (TrivSqZeroExt.inr.{u1, u2} R M (NegZeroClass.toZero.{u1} R (SubNegZeroMonoid.toNegZeroClass.{u1} R _inst_1)) m₁) (TrivSqZeroExt.inr.{u1, u2} R M (NegZeroClass.toZero.{u1} R (SubNegZeroMonoid.toNegZeroClass.{u1} R _inst_1)) m₂))
-Case conversion may be inaccurate. Consider using '#align triv_sq_zero_ext.inr_sub TrivSqZeroExt.inr_subₓ'. -/
 @[simp]
 theorem inr_sub [SubNegZeroMonoid R] [Sub M] (m₁ m₂ : M) :
     (inr (m₁ - m₂) : tsze R M) = inr m₁ - inr m₂ :=
   ext (sub_zero _).symm rfl
 #align triv_sq_zero_ext.inr_sub TrivSqZeroExt.inr_sub
 
-/- warning: triv_sq_zero_ext.inr_smul -> TrivSqZeroExt.inr_smul is a dubious translation:
-lean 3 declaration is
-  forall {S : Type.{u3}} (R : Type.{u1}) {M : Type.{u2}} [_inst_1 : Zero.{u1} R] [_inst_2 : Zero.{u3} S] [_inst_3 : SMulWithZero.{u3, u1} S R _inst_2 _inst_1] [_inst_4 : SMul.{u3, u2} S M] (r : S) (m : M), Eq.{max (succ u1) (succ u2)} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.inr.{u1, u2} R M _inst_1 (SMul.smul.{u3, u2} S M _inst_4 r m)) (SMul.smul.{u3, max u1 u2} S (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.hasSmul.{u1, u2, u3} S R M (SMulZeroClass.toHasSmul.{u3, u1} S R _inst_1 (SMulWithZero.toSmulZeroClass.{u3, u1} S R _inst_2 _inst_1 _inst_3)) _inst_4) r (TrivSqZeroExt.inr.{u1, u2} R M _inst_1 m))
-but is expected to have type
-  forall {S : Type.{u1}} (R : Type.{u2}) {M : Type.{u3}} [_inst_1 : Zero.{u2} R] [_inst_2 : Zero.{u1} S] [_inst_3 : SMulWithZero.{u1, u2} S R _inst_2 _inst_1] [_inst_4 : SMul.{u1, u3} S M] (r : S) (m : M), Eq.{max (succ u2) (succ u3)} (TrivSqZeroExt.{u2, u3} R M) (TrivSqZeroExt.inr.{u2, u3} R M _inst_1 (HSMul.hSMul.{u1, u3, u3} S M M (instHSMul.{u1, u3} S M _inst_4) r m)) (HSMul.hSMul.{u1, max u3 u2, max u2 u3} S (TrivSqZeroExt.{u2, u3} R M) (TrivSqZeroExt.{u2, u3} R M) (instHSMul.{u1, max u3 u2} S (TrivSqZeroExt.{u2, u3} R M) (TrivSqZeroExt.smul.{u2, u3, u1} S R M (SMulZeroClass.toSMul.{u1, u2} S R _inst_1 (SMulWithZero.toSMulZeroClass.{u1, u2} S R _inst_2 _inst_1 _inst_3)) _inst_4)) r (TrivSqZeroExt.inr.{u2, u3} R M _inst_1 m))
-Case conversion may be inaccurate. Consider using '#align triv_sq_zero_ext.inr_smul TrivSqZeroExt.inr_smulₓ'. -/
 @[simp]
 theorem inr_smul [Zero R] [Zero S] [SMulWithZero S R] [SMul S M] (r : S) (m : M) :
     (inr (r • m) : tsze R M) = r • inr m :=
   ext (smul_zero _).symm rfl
 #align triv_sq_zero_ext.inr_smul TrivSqZeroExt.inr_smul
 
-/- warning: triv_sq_zero_ext.inr_sum -> TrivSqZeroExt.inr_sum is a dubious translation:
-lean 3 declaration is
-  forall (R : Type.{u1}) {M : Type.{u2}} {ι : Type.{u3}} [_inst_1 : AddCommMonoid.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] (s : Finset.{u3} ι) (f : ι -> M), Eq.{max (succ u1) (succ u2)} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.inr.{u1, u2} R M (AddZeroClass.toHasZero.{u1} R (AddMonoid.toAddZeroClass.{u1} R (AddCommMonoid.toAddMonoid.{u1} R _inst_1))) (Finset.sum.{u2, u3} M ι _inst_2 s (fun (i : ι) => f i))) (Finset.sum.{max u1 u2, u3} (TrivSqZeroExt.{u1, u2} R M) ι (TrivSqZeroExt.addCommMonoid.{u1, u2} R M _inst_1 _inst_2) s (fun (i : ι) => TrivSqZeroExt.inr.{u1, u2} R M (AddZeroClass.toHasZero.{u1} R (AddMonoid.toAddZeroClass.{u1} R (AddCommMonoid.toAddMonoid.{u1} R _inst_1))) (f i)))
-but is expected to have type
-  forall (R : Type.{u2}) {M : Type.{u3}} {ι : Type.{u1}} [_inst_1 : AddCommMonoid.{u2} R] [_inst_2 : AddCommMonoid.{u3} M] (s : Finset.{u1} ι) (f : ι -> M), Eq.{max (succ u2) (succ u3)} (TrivSqZeroExt.{u2, u3} R M) (TrivSqZeroExt.inr.{u2, u3} R M (AddMonoid.toZero.{u2} R (AddCommMonoid.toAddMonoid.{u2} R _inst_1)) (Finset.sum.{u3, u1} M ι _inst_2 s (fun (i : ι) => f i))) (Finset.sum.{max u3 u2, u1} (TrivSqZeroExt.{u2, u3} R M) ι (TrivSqZeroExt.addCommMonoid.{u2, u3} R M _inst_1 _inst_2) s (fun (i : ι) => TrivSqZeroExt.inr.{u2, u3} R M (AddMonoid.toZero.{u2} R (AddCommMonoid.toAddMonoid.{u2} R _inst_1)) (f i)))
-Case conversion may be inaccurate. Consider using '#align triv_sq_zero_ext.inr_sum TrivSqZeroExt.inr_sumₓ'. -/
 theorem inr_sum {ι} [AddCommMonoid R] [AddCommMonoid M] (s : Finset ι) (f : ι → M) :
     (inr (∑ i in s, f i) : tsze R M) = ∑ i in s, inr (f i) :=
   (LinearMap.inr ℕ _ _).map_sum
@@ -525,23 +441,11 @@ theorem inr_sum {ι} [AddCommMonoid R] [AddCommMonoid M] (s : Finset ι) (f : ι
 
 end
 
-/- warning: triv_sq_zero_ext.inl_fst_add_inr_snd_eq -> TrivSqZeroExt.inl_fst_add_inr_snd_eq is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : AddZeroClass.{u1} R] [_inst_2 : AddZeroClass.{u2} M] (x : TrivSqZeroExt.{u1, u2} R M), Eq.{succ (max u1 u2)} (TrivSqZeroExt.{u1, u2} R M) (HAdd.hAdd.{max u1 u2, max u1 u2, max u1 u2} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.{u1, u2} R M) (instHAdd.{max u1 u2} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.hasAdd.{u1, u2} R M (AddZeroClass.toHasAdd.{u1} R _inst_1) (AddZeroClass.toHasAdd.{u2} M _inst_2))) (TrivSqZeroExt.inl.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M _inst_2) (TrivSqZeroExt.fst.{u1, u2} R M x)) (TrivSqZeroExt.inr.{u1, u2} R M (AddZeroClass.toHasZero.{u1} R _inst_1) (TrivSqZeroExt.snd.{u1, u2} R M x))) x
-but is expected to have type
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : AddZeroClass.{u1} R] [_inst_2 : AddZeroClass.{u2} M] (x : TrivSqZeroExt.{u1, u2} R M), Eq.{max (succ u1) (succ u2)} (TrivSqZeroExt.{u1, u2} R M) (HAdd.hAdd.{max u1 u2, max u2 u1, max u1 u2} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.{u1, u2} R M) (instHAdd.{max u1 u2} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.add.{u1, u2} R M (AddZeroClass.toAdd.{u1} R _inst_1) (AddZeroClass.toAdd.{u2} M _inst_2))) (TrivSqZeroExt.inl.{u1, u2} R M (AddZeroClass.toZero.{u2} M _inst_2) (TrivSqZeroExt.fst.{u1, u2} R M x)) (TrivSqZeroExt.inr.{u1, u2} R M (AddZeroClass.toZero.{u1} R _inst_1) (TrivSqZeroExt.snd.{u1, u2} R M x))) x
-Case conversion may be inaccurate. Consider using '#align triv_sq_zero_ext.inl_fst_add_inr_snd_eq TrivSqZeroExt.inl_fst_add_inr_snd_eqₓ'. -/
 theorem inl_fst_add_inr_snd_eq [AddZeroClass R] [AddZeroClass M] (x : tsze R M) :
     inl x.fst + inr x.snd = x :=
   ext (add_zero x.1) (zero_add x.2)
 #align triv_sq_zero_ext.inl_fst_add_inr_snd_eq TrivSqZeroExt.inl_fst_add_inr_snd_eq
 
-/- warning: triv_sq_zero_ext.ind -> TrivSqZeroExt.ind is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : AddZeroClass.{u1} R] [_inst_2 : AddZeroClass.{u2} M] {P : (TrivSqZeroExt.{u1, u2} R M) -> Prop}, (forall (r : R) (m : M), P (HAdd.hAdd.{max u1 u2, max u1 u2, max u1 u2} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.{u1, u2} R M) (instHAdd.{max u1 u2} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.hasAdd.{u1, u2} R M (AddZeroClass.toHasAdd.{u1} R _inst_1) (AddZeroClass.toHasAdd.{u2} M _inst_2))) (TrivSqZeroExt.inl.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M _inst_2) r) (TrivSqZeroExt.inr.{u1, u2} R M (AddZeroClass.toHasZero.{u1} R _inst_1) m))) -> (forall (x : TrivSqZeroExt.{u1, u2} R M), P x)
-but is expected to have type
-  forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : AddZeroClass.{u2} R] [_inst_2 : AddZeroClass.{u1} M] {P : (TrivSqZeroExt.{u2, u1} R M) -> Prop}, (forall (r : R) (m : M), P (HAdd.hAdd.{max u1 u2, max u1 u2, max u2 u1} (TrivSqZeroExt.{u2, u1} R M) (TrivSqZeroExt.{u2, u1} R M) (TrivSqZeroExt.{u2, u1} R M) (instHAdd.{max u1 u2} (TrivSqZeroExt.{u2, u1} R M) (TrivSqZeroExt.add.{u2, u1} R M (AddZeroClass.toAdd.{u2} R _inst_1) (AddZeroClass.toAdd.{u1} M _inst_2))) (TrivSqZeroExt.inl.{u2, u1} R M (AddZeroClass.toZero.{u1} M _inst_2) r) (TrivSqZeroExt.inr.{u2, u1} R M (AddZeroClass.toZero.{u2} R _inst_1) m))) -> (forall (x : TrivSqZeroExt.{u2, u1} R M), P x)
-Case conversion may be inaccurate. Consider using '#align triv_sq_zero_ext.ind TrivSqZeroExt.indₓ'. -/
 /-- To show a property hold on all `triv_sq_zero_ext R M` it suffices to show it holds
 on terms of the form `inl r + inr m`.
 
@@ -551,9 +455,6 @@ theorem ind {R M} [AddZeroClass R] [AddZeroClass M] {P : TrivSqZeroExt R M → P
   inl_fst_add_inr_snd_eq x ▸ h x.1 x.2
 #align triv_sq_zero_ext.ind TrivSqZeroExt.ind
 
-/- warning: triv_sq_zero_ext.linear_map_ext -> TrivSqZeroExt.linearMap_ext is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align triv_sq_zero_ext.linear_map_ext TrivSqZeroExt.linearMap_extₓ'. -/
 /-- This cannot be marked `@[ext]` as it ends up being used instead of `linear_map.prod_ext` when
 working with `R × M`. -/
 theorem linearMap_ext {N} [Semiring S] [AddCommMonoid R] [AddCommMonoid M] [AddCommMonoid N]
@@ -636,24 +537,12 @@ theorem inl_one [One R] [Zero M] : (inl 1 : tsze R M) = 1 :=
 #align triv_sq_zero_ext.inl_one TrivSqZeroExt.inl_one
 -/
 
-/- warning: triv_sq_zero_ext.inl_mul -> TrivSqZeroExt.inl_mul is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} (M : Type.{u2}) [_inst_1 : Monoid.{u1} R] [_inst_2 : AddMonoid.{u2} M] [_inst_3 : DistribMulAction.{u1, u2} R M _inst_1 _inst_2] [_inst_4 : DistribMulAction.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.monoid.{u1} R _inst_1) _inst_2] (r₁ : R) (r₂ : R), Eq.{max (succ u1) (succ u2)} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.inl.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_2)) (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (MulOneClass.toHasMul.{u1} R (Monoid.toMulOneClass.{u1} R _inst_1))) r₁ r₂)) (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.{u1, u2} R M) (instHMul.{max u1 u2} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.hasMul.{u1, u2} R M (MulOneClass.toHasMul.{u1} R (Monoid.toMulOneClass.{u1} R _inst_1)) (AddZeroClass.toHasAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_2)) (SMulZeroClass.toHasSmul.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_2)) (DistribSMul.toSmulZeroClass.{u1, u2} R M (AddMonoid.toAddZeroClass.{u2} M _inst_2) (DistribMulAction.toDistribSMul.{u1, u2} R M _inst_1 _inst_2 _inst_3))) (SMulZeroClass.toHasSmul.{u1, u2} (MulOpposite.{u1} R) M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_2)) (DistribSMul.toSmulZeroClass.{u1, u2} (MulOpposite.{u1} R) M (AddMonoid.toAddZeroClass.{u2} M _inst_2) (DistribMulAction.toDistribSMul.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.monoid.{u1} R _inst_1) _inst_2 _inst_4))))) (TrivSqZeroExt.inl.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_2)) r₁) (TrivSqZeroExt.inl.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_2)) r₂))
-but is expected to have type
-  forall {R : Type.{u1}} (M : Type.{u2}) [_inst_1 : Monoid.{u1} R] [_inst_2 : AddMonoid.{u2} M] [_inst_3 : DistribMulAction.{u1, u2} R M _inst_1 _inst_2] [_inst_4 : DistribMulAction.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.monoid.{u1} R _inst_1) _inst_2] (r₁ : R) (r₂ : R), Eq.{max (succ u1) (succ u2)} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.inl.{u1, u2} R M (AddMonoid.toZero.{u2} M _inst_2) (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (MulOneClass.toMul.{u1} R (Monoid.toMulOneClass.{u1} R _inst_1))) r₁ r₂)) (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.{u1, u2} R M) (instHMul.{max u1 u2} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.mul.{u1, u2} R M (MulOneClass.toMul.{u1} R (Monoid.toMulOneClass.{u1} R _inst_1)) (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_2)) (SMulZeroClass.toSMul.{u1, u2} R M (AddMonoid.toZero.{u2} M _inst_2) (DistribSMul.toSMulZeroClass.{u1, u2} R M (AddMonoid.toAddZeroClass.{u2} M _inst_2) (DistribMulAction.toDistribSMul.{u1, u2} R M _inst_1 _inst_2 _inst_3))) (SMulZeroClass.toSMul.{u1, u2} (MulOpposite.{u1} R) M (AddMonoid.toZero.{u2} M _inst_2) (DistribSMul.toSMulZeroClass.{u1, u2} (MulOpposite.{u1} R) M (AddMonoid.toAddZeroClass.{u2} M _inst_2) (DistribMulAction.toDistribSMul.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.monoid.{u1} R _inst_1) _inst_2 _inst_4))))) (TrivSqZeroExt.inl.{u1, u2} R M (AddMonoid.toZero.{u2} M _inst_2) r₁) (TrivSqZeroExt.inl.{u1, u2} R M (AddMonoid.toZero.{u2} M _inst_2) r₂))
-Case conversion may be inaccurate. Consider using '#align triv_sq_zero_ext.inl_mul TrivSqZeroExt.inl_mulₓ'. -/
 @[simp]
 theorem inl_mul [Monoid R] [AddMonoid M] [DistribMulAction R M] [DistribMulAction Rᵐᵒᵖ M]
     (r₁ r₂ : R) : (inl (r₁ * r₂) : tsze R M) = inl r₁ * inl r₂ :=
   ext rfl <| show (0 : M) = r₁ • 0 + op r₂ • 0 by rw [smul_zero, zero_add, smul_zero]
 #align triv_sq_zero_ext.inl_mul TrivSqZeroExt.inl_mul
 
-/- warning: triv_sq_zero_ext.inl_mul_inl -> TrivSqZeroExt.inl_mul_inl is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} (M : Type.{u2}) [_inst_1 : Monoid.{u1} R] [_inst_2 : AddMonoid.{u2} M] [_inst_3 : DistribMulAction.{u1, u2} R M _inst_1 _inst_2] [_inst_4 : DistribMulAction.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.monoid.{u1} R _inst_1) _inst_2] (r₁ : R) (r₂ : R), Eq.{max (succ u1) (succ u2)} (TrivSqZeroExt.{u1, u2} R M) (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.{u1, u2} R M) (instHMul.{max u1 u2} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.hasMul.{u1, u2} R M (MulOneClass.toHasMul.{u1} R (Monoid.toMulOneClass.{u1} R _inst_1)) (AddZeroClass.toHasAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_2)) (SMulZeroClass.toHasSmul.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_2)) (DistribSMul.toSmulZeroClass.{u1, u2} R M (AddMonoid.toAddZeroClass.{u2} M _inst_2) (DistribMulAction.toDistribSMul.{u1, u2} R M _inst_1 _inst_2 _inst_3))) (SMulZeroClass.toHasSmul.{u1, u2} (MulOpposite.{u1} R) M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_2)) (DistribSMul.toSmulZeroClass.{u1, u2} (MulOpposite.{u1} R) M (AddMonoid.toAddZeroClass.{u2} M _inst_2) (DistribMulAction.toDistribSMul.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.monoid.{u1} R _inst_1) _inst_2 _inst_4))))) (TrivSqZeroExt.inl.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_2)) r₁) (TrivSqZeroExt.inl.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_2)) r₂)) (TrivSqZeroExt.inl.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_2)) (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (MulOneClass.toHasMul.{u1} R (Monoid.toMulOneClass.{u1} R _inst_1))) r₁ r₂))
-but is expected to have type
-  forall {R : Type.{u1}} (M : Type.{u2}) [_inst_1 : Monoid.{u1} R] [_inst_2 : AddMonoid.{u2} M] [_inst_3 : DistribMulAction.{u1, u2} R M _inst_1 _inst_2] [_inst_4 : DistribMulAction.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.monoid.{u1} R _inst_1) _inst_2] (r₁ : R) (r₂ : R), Eq.{max (succ u1) (succ u2)} (TrivSqZeroExt.{u1, u2} R M) (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.{u1, u2} R M) (instHMul.{max u1 u2} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.mul.{u1, u2} R M (MulOneClass.toMul.{u1} R (Monoid.toMulOneClass.{u1} R _inst_1)) (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_2)) (SMulZeroClass.toSMul.{u1, u2} R M (AddMonoid.toZero.{u2} M _inst_2) (DistribSMul.toSMulZeroClass.{u1, u2} R M (AddMonoid.toAddZeroClass.{u2} M _inst_2) (DistribMulAction.toDistribSMul.{u1, u2} R M _inst_1 _inst_2 _inst_3))) (SMulZeroClass.toSMul.{u1, u2} (MulOpposite.{u1} R) M (AddMonoid.toZero.{u2} M _inst_2) (DistribSMul.toSMulZeroClass.{u1, u2} (MulOpposite.{u1} R) M (AddMonoid.toAddZeroClass.{u2} M _inst_2) (DistribMulAction.toDistribSMul.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.monoid.{u1} R _inst_1) _inst_2 _inst_4))))) (TrivSqZeroExt.inl.{u1, u2} R M (AddMonoid.toZero.{u2} M _inst_2) r₁) (TrivSqZeroExt.inl.{u1, u2} R M (AddMonoid.toZero.{u2} M _inst_2) r₂)) (TrivSqZeroExt.inl.{u1, u2} R M (AddMonoid.toZero.{u2} M _inst_2) (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (MulOneClass.toMul.{u1} R (Monoid.toMulOneClass.{u1} R _inst_1))) r₁ r₂))
-Case conversion may be inaccurate. Consider using '#align triv_sq_zero_ext.inl_mul_inl TrivSqZeroExt.inl_mul_inlₓ'. -/
 theorem inl_mul_inl [Monoid R] [AddMonoid M] [DistribMulAction R M] [DistribMulAction Rᵐᵒᵖ M]
     (r₁ r₂ : R) : (inl r₁ * inl r₂ : tsze R M) = inl (r₁ * r₂) :=
   (inl_mul M r₁ r₂).symm
@@ -665,12 +554,6 @@ section
 
 variable (R)
 
-/- warning: triv_sq_zero_ext.inr_mul_inr -> TrivSqZeroExt.inr_mul_inr 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] [_inst_4 : Module.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.semiring.{u1} R _inst_1) _inst_2] (m₁ : M) (m₂ : M), Eq.{max (succ u1) (succ u2)} (TrivSqZeroExt.{u1, u2} R M) (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.{u1, u2} R M) (instHMul.{max u1 u2} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.hasMul.{u1, u2} R M (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (AddZeroClass.toHasAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (SMulZeroClass.toHasSmul.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} R M (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} R M _inst_1 _inst_2 _inst_3)))) (SMulZeroClass.toHasSmul.{u1, u2} (MulOpposite.{u1} R) M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} (MulOpposite.{u1} R) M (MulZeroClass.toHasZero.{u1} (MulOpposite.{u1} R) (MulZeroOneClass.toMulZeroClass.{u1} (MulOpposite.{u1} R) (MonoidWithZero.toMulZeroOneClass.{u1} (MulOpposite.{u1} R) (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R) M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.semiring.{u1} R _inst_1) _inst_2 _inst_4)))))) (TrivSqZeroExt.inr.{u1, u2} R M (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) m₁) (TrivSqZeroExt.inr.{u1, u2} R M (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) m₂)) (OfNat.ofNat.{max u1 u2} (TrivSqZeroExt.{u1, u2} R M) 0 (OfNat.mk.{max u1 u2} (TrivSqZeroExt.{u1, u2} R M) 0 (Zero.zero.{max u1 u2} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.hasZero.{u1, u2} R M (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (AddZeroClass.toHasZero.{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] [_inst_4 : Module.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.semiring.{u1} R _inst_1) _inst_2] (m₁ : M) (m₂ : M), Eq.{max (succ u1) (succ u2)} (TrivSqZeroExt.{u1, u2} R M) (HMul.hMul.{max u2 u1, max u2 u1, max u1 u2} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.{u1, u2} R M) (instHMul.{max u2 u1} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.mul.{u1, u2} R M (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (SMulZeroClass.toSMul.{u1, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R M (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (Module.toMulActionWithZero.{u1, u2} R M _inst_1 _inst_2 _inst_3)))) (SMulZeroClass.toSMul.{u1, u2} (MulOpposite.{u1} R) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.zero.{u1} R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.monoidWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.semiring.{u1} R _inst_1) _inst_2 _inst_4)))))) (TrivSqZeroExt.inr.{u1, u2} R M (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) m₁) (TrivSqZeroExt.inr.{u1, u2} R M (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) m₂)) (OfNat.ofNat.{max u1 u2} (TrivSqZeroExt.{u1, u2} R M) 0 (Zero.toOfNat0.{max u1 u2} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.zero.{u1, u2} R M (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)))))
-Case conversion may be inaccurate. Consider using '#align triv_sq_zero_ext.inr_mul_inr TrivSqZeroExt.inr_mul_inrₓ'. -/
 @[simp]
 theorem inr_mul_inr [Semiring R] [AddCommMonoid M] [Module R M] [Module Rᵐᵒᵖ M] (m₁ m₂ : M) :
     (inr m₁ * inr m₂ : tsze R M) = 0 :=
@@ -680,23 +563,11 @@ theorem inr_mul_inr [Semiring R] [AddCommMonoid M] [Module R M] [Module Rᵐᵒ
 
 end
 
-/- warning: triv_sq_zero_ext.inl_mul_inr -> TrivSqZeroExt.inl_mul_inr 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] [_inst_4 : Module.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.semiring.{u1} R _inst_1) _inst_2] (r : R) (m : M), Eq.{max (succ u1) (succ u2)} (TrivSqZeroExt.{u1, u2} R M) (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.{u1, u2} R M) (instHMul.{max u1 u2} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.hasMul.{u1, u2} R M (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (AddZeroClass.toHasAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (SMulZeroClass.toHasSmul.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} R M (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} R M _inst_1 _inst_2 _inst_3)))) (SMulZeroClass.toHasSmul.{u1, u2} (MulOpposite.{u1} R) M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} (MulOpposite.{u1} R) M (MulZeroClass.toHasZero.{u1} (MulOpposite.{u1} R) (MulZeroOneClass.toMulZeroClass.{u1} (MulOpposite.{u1} R) (MonoidWithZero.toMulZeroOneClass.{u1} (MulOpposite.{u1} R) (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R) M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.semiring.{u1} R _inst_1) _inst_2 _inst_4)))))) (TrivSqZeroExt.inl.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) r) (TrivSqZeroExt.inr.{u1, u2} R M (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) m)) (TrivSqZeroExt.inr.{u1, u2} R M (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (SMul.smul.{u1, u2} R M (SMulZeroClass.toHasSmul.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} R M (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} R M _inst_1 _inst_2 _inst_3)))) r 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] [_inst_4 : Module.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.semiring.{u1} R _inst_1) _inst_2] (r : R) (m : M), Eq.{max (succ u1) (succ u2)} (TrivSqZeroExt.{u1, u2} R M) (HMul.hMul.{max u1 u2, max u2 u1, max u1 u2} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.{u1, u2} R M) (instHMul.{max u1 u2} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.mul.{u1, u2} R M (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (SMulZeroClass.toSMul.{u1, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R M (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (Module.toMulActionWithZero.{u1, u2} R M _inst_1 _inst_2 _inst_3)))) (SMulZeroClass.toSMul.{u1, u2} (MulOpposite.{u1} R) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.zero.{u1} R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.monoidWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.semiring.{u1} R _inst_1) _inst_2 _inst_4)))))) (TrivSqZeroExt.inl.{u1, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) r) (TrivSqZeroExt.inr.{u1, u2} R M (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) m)) (TrivSqZeroExt.inr.{u1, u2} R M (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (HSMul.hSMul.{u1, u2, u2} R M M (instHSMul.{u1, u2} R M (SMulZeroClass.toSMul.{u1, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R M (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (Module.toMulActionWithZero.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) r m))
-Case conversion may be inaccurate. Consider using '#align triv_sq_zero_ext.inl_mul_inr TrivSqZeroExt.inl_mul_inrₓ'. -/
 theorem inl_mul_inr [Semiring R] [AddCommMonoid M] [Module R M] [Module Rᵐᵒᵖ M] (r : R) (m : M) :
     (inl r * inr m : tsze R M) = inr (r • m) :=
   ext (MulZeroClass.mul_zero r) <| show r • m + (0 : Rᵐᵒᵖ) • 0 = r • m by rw [smul_zero, add_zero]
 #align triv_sq_zero_ext.inl_mul_inr TrivSqZeroExt.inl_mul_inr
 
-/- warning: triv_sq_zero_ext.inr_mul_inl -> TrivSqZeroExt.inr_mul_inl 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] [_inst_4 : Module.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.semiring.{u1} R _inst_1) _inst_2] (r : R) (m : M), Eq.{max (succ u1) (succ u2)} (TrivSqZeroExt.{u1, u2} R M) (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.{u1, u2} R M) (instHMul.{max u1 u2} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.hasMul.{u1, u2} R M (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (AddZeroClass.toHasAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (SMulZeroClass.toHasSmul.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} R M (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} R M _inst_1 _inst_2 _inst_3)))) (SMulZeroClass.toHasSmul.{u1, u2} (MulOpposite.{u1} R) M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} (MulOpposite.{u1} R) M (MulZeroClass.toHasZero.{u1} (MulOpposite.{u1} R) (MulZeroOneClass.toMulZeroClass.{u1} (MulOpposite.{u1} R) (MonoidWithZero.toMulZeroOneClass.{u1} (MulOpposite.{u1} R) (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R) M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.semiring.{u1} R _inst_1) _inst_2 _inst_4)))))) (TrivSqZeroExt.inr.{u1, u2} R M (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) m) (TrivSqZeroExt.inl.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) r)) (TrivSqZeroExt.inr.{u1, u2} R M (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (SMul.smul.{u1, u2} (MulOpposite.{u1} R) M (SMulZeroClass.toHasSmul.{u1, u2} (MulOpposite.{u1} R) M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} (MulOpposite.{u1} R) M (MulZeroClass.toHasZero.{u1} (MulOpposite.{u1} R) (MulZeroOneClass.toMulZeroClass.{u1} (MulOpposite.{u1} R) (MonoidWithZero.toMulZeroOneClass.{u1} (MulOpposite.{u1} R) (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R) M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.semiring.{u1} R _inst_1) _inst_2 _inst_4)))) (MulOpposite.op.{u1} R r) 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] [_inst_4 : Module.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.semiring.{u1} R _inst_1) _inst_2] (r : R) (m : M), Eq.{max (succ u1) (succ u2)} (TrivSqZeroExt.{u1, u2} R M) (HMul.hMul.{max u2 u1, max u1 u2, max u1 u2} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.{u1, u2} R M) (instHMul.{max u2 u1} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.mul.{u1, u2} R M (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (SMulZeroClass.toSMul.{u1, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R M (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (Module.toMulActionWithZero.{u1, u2} R M _inst_1 _inst_2 _inst_3)))) (SMulZeroClass.toSMul.{u1, u2} (MulOpposite.{u1} R) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.zero.{u1} R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.monoidWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.semiring.{u1} R _inst_1) _inst_2 _inst_4)))))) (TrivSqZeroExt.inr.{u1, u2} R M (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) m) (TrivSqZeroExt.inl.{u1, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) r)) (TrivSqZeroExt.inr.{u1, u2} R M (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (HSMul.hSMul.{u1, u2, u2} (MulOpposite.{u1} R) M M (instHSMul.{u1, u2} (MulOpposite.{u1} R) M (SMulZeroClass.toSMul.{u1, u2} (MulOpposite.{u1} R) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.zero.{u1} R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.monoidWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.semiring.{u1} R _inst_1) _inst_2 _inst_4))))) (MulOpposite.op.{u1} R r) m))
-Case conversion may be inaccurate. Consider using '#align triv_sq_zero_ext.inr_mul_inl TrivSqZeroExt.inr_mul_inlₓ'. -/
 theorem inr_mul_inl [Semiring R] [AddCommMonoid M] [Module R M] [Module Rᵐᵒᵖ M] (r : R) (m : M) :
     (inr m * inl r : tsze R M) = inr (op r • m) :=
   ext (MulZeroClass.zero_mul r) <|
@@ -728,23 +599,11 @@ theorem fst_nat_cast [AddMonoidWithOne R] [AddMonoid M] (n : ℕ) : (n : tsze R
 #align triv_sq_zero_ext.fst_nat_cast TrivSqZeroExt.fst_nat_cast
 -/
 
-/- warning: triv_sq_zero_ext.snd_nat_cast -> TrivSqZeroExt.snd_nat_cast is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : AddMonoidWithOne.{u1} R] [_inst_2 : AddMonoid.{u2} M] (n : Nat), Eq.{succ u2} M (TrivSqZeroExt.snd.{u1, u2} R M ((fun (a : Type) (b : Sort.{max (succ u1) (succ u2)}) [self : HasLiftT.{1, max (succ u1) (succ u2)} a b] => self.0) Nat (TrivSqZeroExt.{u1, u2} R M) (HasLiftT.mk.{1, max (succ u1) (succ u2)} Nat (TrivSqZeroExt.{u1, u2} R M) (CoeTCₓ.coe.{1, max (succ u1) (succ u2)} Nat (TrivSqZeroExt.{u1, u2} R M) (Nat.castCoe.{max u1 u2} (TrivSqZeroExt.{u1, u2} R M) (AddMonoidWithOne.toNatCast.{max u1 u2} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.addMonoidWithOne.{u1, u2} R M _inst_1 _inst_2))))) n)) (OfNat.ofNat.{u2} M 0 (OfNat.mk.{u2} M 0 (Zero.zero.{u2} M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_2)))))
-but is expected to have type
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : AddMonoidWithOne.{u1} R] [_inst_2 : AddMonoid.{u2} M] (n : Nat), Eq.{succ u2} M (TrivSqZeroExt.snd.{u1, u2} R M (Nat.cast.{max u1 u2} (TrivSqZeroExt.{u1, u2} R M) (AddMonoidWithOne.toNatCast.{max u1 u2} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.addMonoidWithOne.{u1, u2} R M _inst_1 _inst_2)) n)) (OfNat.ofNat.{u2} M 0 (Zero.toOfNat0.{u2} M (AddMonoid.toZero.{u2} M _inst_2)))
-Case conversion may be inaccurate. Consider using '#align triv_sq_zero_ext.snd_nat_cast TrivSqZeroExt.snd_nat_castₓ'. -/
 @[simp]
 theorem snd_nat_cast [AddMonoidWithOne R] [AddMonoid M] (n : ℕ) : (n : tsze R M).snd = 0 :=
   rfl
 #align triv_sq_zero_ext.snd_nat_cast TrivSqZeroExt.snd_nat_cast
 
-/- warning: triv_sq_zero_ext.inl_nat_cast -> TrivSqZeroExt.inl_nat_cast is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : AddMonoidWithOne.{u1} R] [_inst_2 : AddMonoid.{u2} M] (n : Nat), Eq.{max (succ u1) (succ u2)} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.inl.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_2)) ((fun (a : Type) (b : Type.{u1}) [self : HasLiftT.{1, succ u1} a b] => self.0) Nat R (HasLiftT.mk.{1, succ u1} Nat R (CoeTCₓ.coe.{1, succ u1} Nat R (Nat.castCoe.{u1} R (AddMonoidWithOne.toNatCast.{u1} R _inst_1)))) n)) ((fun (a : Type) (b : Sort.{max (succ u1) (succ u2)}) [self : HasLiftT.{1, max (succ u1) (succ u2)} a b] => self.0) Nat (TrivSqZeroExt.{u1, u2} R M) (HasLiftT.mk.{1, max (succ u1) (succ u2)} Nat (TrivSqZeroExt.{u1, u2} R M) (CoeTCₓ.coe.{1, max (succ u1) (succ u2)} Nat (TrivSqZeroExt.{u1, u2} R M) (Nat.castCoe.{max u1 u2} (TrivSqZeroExt.{u1, u2} R M) (AddMonoidWithOne.toNatCast.{max u1 u2} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.addMonoidWithOne.{u1, u2} R M _inst_1 _inst_2))))) n)
-but is expected to have type
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : AddMonoidWithOne.{u1} R] [_inst_2 : AddMonoid.{u2} M] (n : Nat), Eq.{max (succ u1) (succ u2)} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.inl.{u1, u2} R M (AddMonoid.toZero.{u2} M _inst_2) (Nat.cast.{u1} R (AddMonoidWithOne.toNatCast.{u1} R _inst_1) n)) (Nat.cast.{max u1 u2} (TrivSqZeroExt.{u1, u2} R M) (AddMonoidWithOne.toNatCast.{max u1 u2} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.addMonoidWithOne.{u1, u2} R M _inst_1 _inst_2)) n)
-Case conversion may be inaccurate. Consider using '#align triv_sq_zero_ext.inl_nat_cast TrivSqZeroExt.inl_nat_castₓ'. -/
 @[simp]
 theorem inl_nat_cast [AddMonoidWithOne R] [AddMonoid M] (n : ℕ) : (inl n : tsze R M) = n :=
   rfl
@@ -757,34 +616,16 @@ instance [AddGroupWithOne R] [AddGroup M] : AddGroupWithOne (tsze R M) :=
     intCast_ofNat := fun n => ext (Int.cast_ofNat _) rfl
     intCast_negSucc := fun n => ext (Int.cast_negSucc _) neg_zero.symm }
 
-/- warning: triv_sq_zero_ext.fst_int_cast -> TrivSqZeroExt.fst_int_cast is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : AddGroupWithOne.{u1} R] [_inst_2 : AddGroup.{u2} M] (z : Int), Eq.{succ u1} R (TrivSqZeroExt.fst.{u1, u2} R M ((fun (a : Type) (b : Sort.{max (succ u1) (succ u2)}) [self : HasLiftT.{1, max (succ u1) (succ u2)} a b] => self.0) Int (TrivSqZeroExt.{u1, u2} R M) (HasLiftT.mk.{1, max (succ u1) (succ u2)} Int (TrivSqZeroExt.{u1, u2} R M) (CoeTCₓ.coe.{1, max (succ u1) (succ u2)} Int (TrivSqZeroExt.{u1, u2} R M) (Int.castCoe.{max u1 u2} (TrivSqZeroExt.{u1, u2} R M) (AddGroupWithOne.toHasIntCast.{max u1 u2} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.addGroupWithOne.{u1, u2} R M _inst_1 _inst_2))))) z)) ((fun (a : Type) (b : Type.{u1}) [self : HasLiftT.{1, succ u1} a b] => self.0) Int R (HasLiftT.mk.{1, succ u1} Int R (CoeTCₓ.coe.{1, succ u1} Int R (Int.castCoe.{u1} R (AddGroupWithOne.toHasIntCast.{u1} R _inst_1)))) z)
-but is expected to have type
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : AddGroupWithOne.{u1} R] [_inst_2 : AddGroup.{u2} M] (z : Int), Eq.{succ u1} R (TrivSqZeroExt.fst.{u1, u2} R M (Int.cast.{max u1 u2} (TrivSqZeroExt.{u1, u2} R M) (AddGroupWithOne.toIntCast.{max u1 u2} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.addGroupWithOne.{u1, u2} R M _inst_1 _inst_2)) z)) (Int.cast.{u1} R (AddGroupWithOne.toIntCast.{u1} R _inst_1) z)
-Case conversion may be inaccurate. Consider using '#align triv_sq_zero_ext.fst_int_cast TrivSqZeroExt.fst_int_castₓ'. -/
 @[simp]
 theorem fst_int_cast [AddGroupWithOne R] [AddGroup M] (z : ℤ) : (z : tsze R M).fst = z :=
   rfl
 #align triv_sq_zero_ext.fst_int_cast TrivSqZeroExt.fst_int_cast
 
-/- warning: triv_sq_zero_ext.snd_int_cast -> TrivSqZeroExt.snd_int_cast is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : AddGroupWithOne.{u1} R] [_inst_2 : AddGroup.{u2} M] (z : Int), Eq.{succ u2} M (TrivSqZeroExt.snd.{u1, u2} R M ((fun (a : Type) (b : Sort.{max (succ u1) (succ u2)}) [self : HasLiftT.{1, max (succ u1) (succ u2)} a b] => self.0) Int (TrivSqZeroExt.{u1, u2} R M) (HasLiftT.mk.{1, max (succ u1) (succ u2)} Int (TrivSqZeroExt.{u1, u2} R M) (CoeTCₓ.coe.{1, max (succ u1) (succ u2)} Int (TrivSqZeroExt.{u1, u2} R M) (Int.castCoe.{max u1 u2} (TrivSqZeroExt.{u1, u2} R M) (AddGroupWithOne.toHasIntCast.{max u1 u2} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.addGroupWithOne.{u1, u2} R M _inst_1 _inst_2))))) z)) (OfNat.ofNat.{u2} M 0 (OfNat.mk.{u2} M 0 (Zero.zero.{u2} M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M _inst_2)))))))
-but is expected to have type
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : AddGroupWithOne.{u1} R] [_inst_2 : AddGroup.{u2} M] (z : Int), Eq.{succ u2} M (TrivSqZeroExt.snd.{u1, u2} R M (Int.cast.{max u1 u2} (TrivSqZeroExt.{u1, u2} R M) (AddGroupWithOne.toIntCast.{max u1 u2} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.addGroupWithOne.{u1, u2} R M _inst_1 _inst_2)) z)) (OfNat.ofNat.{u2} M 0 (Zero.toOfNat0.{u2} M (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (AddGroup.toSubtractionMonoid.{u2} M _inst_2))))))
-Case conversion may be inaccurate. Consider using '#align triv_sq_zero_ext.snd_int_cast TrivSqZeroExt.snd_int_castₓ'. -/
 @[simp]
 theorem snd_int_cast [AddGroupWithOne R] [AddGroup M] (z : ℤ) : (z : tsze R M).snd = 0 :=
   rfl
 #align triv_sq_zero_ext.snd_int_cast TrivSqZeroExt.snd_int_cast
 
-/- warning: triv_sq_zero_ext.inl_int_cast -> TrivSqZeroExt.inl_int_cast is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : AddGroupWithOne.{u1} R] [_inst_2 : AddGroup.{u2} M] (z : Int), Eq.{max (succ u1) (succ u2)} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.inl.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M _inst_2)))) ((fun (a : Type) (b : Type.{u1}) [self : HasLiftT.{1, succ u1} a b] => self.0) Int R (HasLiftT.mk.{1, succ u1} Int R (CoeTCₓ.coe.{1, succ u1} Int R (Int.castCoe.{u1} R (AddGroupWithOne.toHasIntCast.{u1} R _inst_1)))) z)) ((fun (a : Type) (b : Sort.{max (succ u1) (succ u2)}) [self : HasLiftT.{1, max (succ u1) (succ u2)} a b] => self.0) Int (TrivSqZeroExt.{u1, u2} R M) (HasLiftT.mk.{1, max (succ u1) (succ u2)} Int (TrivSqZeroExt.{u1, u2} R M) (CoeTCₓ.coe.{1, max (succ u1) (succ u2)} Int (TrivSqZeroExt.{u1, u2} R M) (Int.castCoe.{max u1 u2} (TrivSqZeroExt.{u1, u2} R M) (AddGroupWithOne.toHasIntCast.{max u1 u2} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.addGroupWithOne.{u1, u2} R M _inst_1 _inst_2))))) z)
-but is expected to have type
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : AddGroupWithOne.{u1} R] [_inst_2 : AddGroup.{u2} M] (z : Int), Eq.{max (succ u1) (succ u2)} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.inl.{u1, u2} R M (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (AddGroup.toSubtractionMonoid.{u2} M _inst_2)))) (Int.cast.{u1} R (AddGroupWithOne.toIntCast.{u1} R _inst_1) z)) (Int.cast.{max u1 u2} (TrivSqZeroExt.{u1, u2} R M) (AddGroupWithOne.toIntCast.{max u1 u2} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.addGroupWithOne.{u1, u2} R M _inst_1 _inst_2)) z)
-Case conversion may be inaccurate. Consider using '#align triv_sq_zero_ext.inl_int_cast TrivSqZeroExt.inl_int_castₓ'. -/
 @[simp]
 theorem inl_int_cast [AddGroupWithOne R] [AddGroup M] (z : ℤ) : (inl z : tsze R M) = z :=
   rfl
@@ -838,24 +679,12 @@ theorem fst_pow [Monoid R] [AddMonoid M] [DistribMulAction R M] [DistribMulActio
 #align triv_sq_zero_ext.fst_pow TrivSqZeroExt.fst_pow
 -/
 
-/- warning: triv_sq_zero_ext.snd_pow_eq_sum -> TrivSqZeroExt.snd_pow_eq_sum is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Monoid.{u1} R] [_inst_2 : AddMonoid.{u2} M] [_inst_3 : DistribMulAction.{u1, u2} R M _inst_1 _inst_2] [_inst_4 : DistribMulAction.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.monoid.{u1} R _inst_1) _inst_2] (x : TrivSqZeroExt.{u1, u2} R M) (n : Nat), Eq.{succ u2} M (TrivSqZeroExt.snd.{u1, u2} R M (HPow.hPow.{max u1 u2, 0, max u1 u2} (TrivSqZeroExt.{u1, u2} R M) Nat (TrivSqZeroExt.{u1, u2} R M) (instHPow.{max u1 u2, 0} (TrivSqZeroExt.{u1, u2} R M) Nat (TrivSqZeroExt.Nat.hasPow.{u1, u2} R M _inst_1 _inst_2 _inst_3 _inst_4)) x n)) (List.sum.{u2} M (AddZeroClass.toHasAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_2)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_2)) (List.map.{0, u2} Nat M (fun (i : Nat) => SMul.smul.{u1, u2} R M (SMulZeroClass.toHasSmul.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_2)) (DistribSMul.toSmulZeroClass.{u1, u2} R M (AddMonoid.toAddZeroClass.{u2} M _inst_2) (DistribMulAction.toDistribSMul.{u1, u2} R M _inst_1 _inst_2 _inst_3))) (HPow.hPow.{u1, 0, u1} R Nat R (instHPow.{u1, 0} R Nat (Monoid.Pow.{u1} R _inst_1)) (TrivSqZeroExt.fst.{u1, u2} R M x) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat Nat.hasSub) (Nat.pred n) i)) (SMul.smul.{u1, u2} (MulOpposite.{u1} R) M (SMulZeroClass.toHasSmul.{u1, u2} (MulOpposite.{u1} R) M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_2)) (DistribSMul.toSmulZeroClass.{u1, u2} (MulOpposite.{u1} R) M (AddMonoid.toAddZeroClass.{u2} M _inst_2) (DistribMulAction.toDistribSMul.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.monoid.{u1} R _inst_1) _inst_2 _inst_4))) (MulOpposite.op.{u1} R (HPow.hPow.{u1, 0, u1} R Nat R (instHPow.{u1, 0} R Nat (Monoid.Pow.{u1} R _inst_1)) (TrivSqZeroExt.fst.{u1, u2} R M x) i)) (TrivSqZeroExt.snd.{u1, u2} R M x))) (List.range n)))
-but is expected to have type
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Monoid.{u1} R] [_inst_2 : AddMonoid.{u2} M] [_inst_3 : DistribMulAction.{u1, u2} R M _inst_1 _inst_2] [_inst_4 : DistribMulAction.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.monoid.{u1} R _inst_1) _inst_2] (x : TrivSqZeroExt.{u1, u2} R M) (n : Nat), Eq.{succ u2} M (TrivSqZeroExt.snd.{u1, u2} R M (HPow.hPow.{max u1 u2, 0, max u1 u2} (TrivSqZeroExt.{u1, u2} R M) Nat (TrivSqZeroExt.{u1, u2} R M) (instHPow.{max u1 u2, 0} (TrivSqZeroExt.{u1, u2} R M) Nat (TrivSqZeroExt.instPowTrivSqZeroExtNat.{u1, u2} R M _inst_1 _inst_2 _inst_3 _inst_4)) x n)) (List.sum.{u2} M (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_2)) (AddMonoid.toZero.{u2} M _inst_2) (List.map.{0, u2} Nat M (fun (i : Nat) => HSMul.hSMul.{u1, u2, u2} R M M (instHSMul.{u1, u2} R M (SMulZeroClass.toSMul.{u1, u2} R M (AddMonoid.toZero.{u2} M _inst_2) (DistribSMul.toSMulZeroClass.{u1, u2} R M (AddMonoid.toAddZeroClass.{u2} M _inst_2) (DistribMulAction.toDistribSMul.{u1, u2} R M _inst_1 _inst_2 _inst_3)))) (HPow.hPow.{u1, 0, u1} R Nat R (instHPow.{u1, 0} R Nat (Monoid.Pow.{u1} R _inst_1)) (TrivSqZeroExt.fst.{u1, u2} R M x) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) (Nat.pred n) i)) (HSMul.hSMul.{u1, u2, u2} (MulOpposite.{u1} R) M M (instHSMul.{u1, u2} (MulOpposite.{u1} R) M (SMulZeroClass.toSMul.{u1, u2} (MulOpposite.{u1} R) M (AddMonoid.toZero.{u2} M _inst_2) (DistribSMul.toSMulZeroClass.{u1, u2} (MulOpposite.{u1} R) M (AddMonoid.toAddZeroClass.{u2} M _inst_2) (DistribMulAction.toDistribSMul.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.monoid.{u1} R _inst_1) _inst_2 _inst_4)))) (MulOpposite.op.{u1} R (HPow.hPow.{u1, 0, u1} R Nat R (instHPow.{u1, 0} R Nat (Monoid.Pow.{u1} R _inst_1)) (TrivSqZeroExt.fst.{u1, u2} R M x) i)) (TrivSqZeroExt.snd.{u1, u2} R M x))) (List.range n)))
-Case conversion may be inaccurate. Consider using '#align triv_sq_zero_ext.snd_pow_eq_sum TrivSqZeroExt.snd_pow_eq_sumₓ'. -/
 theorem snd_pow_eq_sum [Monoid R] [AddMonoid M] [DistribMulAction R M] [DistribMulAction Rᵐᵒᵖ M]
     (x : tsze R M) (n : ℕ) :
     snd (x ^ n) = ((List.range n).map fun i => x.fst ^ (n.pred - i) • op (x.fst ^ i) • x.snd).Sum :=
   rfl
 #align triv_sq_zero_ext.snd_pow_eq_sum TrivSqZeroExt.snd_pow_eq_sum
 
-/- warning: triv_sq_zero_ext.snd_pow_of_smul_comm -> TrivSqZeroExt.snd_pow_of_smul_comm is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Monoid.{u1} R] [_inst_2 : AddMonoid.{u2} M] [_inst_3 : DistribMulAction.{u1, u2} R M _inst_1 _inst_2] [_inst_4 : DistribMulAction.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.monoid.{u1} R _inst_1) _inst_2] [_inst_5 : SMulCommClass.{u1, u1, u2} R (MulOpposite.{u1} R) M (SMulZeroClass.toHasSmul.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_2)) (DistribSMul.toSmulZeroClass.{u1, u2} R M (AddMonoid.toAddZeroClass.{u2} M _inst_2) (DistribMulAction.toDistribSMul.{u1, u2} R M _inst_1 _inst_2 _inst_3))) (SMulZeroClass.toHasSmul.{u1, u2} (MulOpposite.{u1} R) M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_2)) (DistribSMul.toSmulZeroClass.{u1, u2} (MulOpposite.{u1} R) M (AddMonoid.toAddZeroClass.{u2} M _inst_2) (DistribMulAction.toDistribSMul.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.monoid.{u1} R _inst_1) _inst_2 _inst_4)))] (x : TrivSqZeroExt.{u1, u2} R M) (n : Nat), (Eq.{succ u2} M (SMul.smul.{u1, u2} (MulOpposite.{u1} R) M (SMulZeroClass.toHasSmul.{u1, u2} (MulOpposite.{u1} R) M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_2)) (DistribSMul.toSmulZeroClass.{u1, u2} (MulOpposite.{u1} R) M (AddMonoid.toAddZeroClass.{u2} M _inst_2) (DistribMulAction.toDistribSMul.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.monoid.{u1} R _inst_1) _inst_2 _inst_4))) (MulOpposite.op.{u1} R (TrivSqZeroExt.fst.{u1, u2} R M x)) (TrivSqZeroExt.snd.{u1, u2} R M x)) (SMul.smul.{u1, u2} R M (SMulZeroClass.toHasSmul.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_2)) (DistribSMul.toSmulZeroClass.{u1, u2} R M (AddMonoid.toAddZeroClass.{u2} M _inst_2) (DistribMulAction.toDistribSMul.{u1, u2} R M _inst_1 _inst_2 _inst_3))) (TrivSqZeroExt.fst.{u1, u2} R M x) (TrivSqZeroExt.snd.{u1, u2} R M x))) -> (Eq.{succ u2} M (TrivSqZeroExt.snd.{u1, u2} R M (HPow.hPow.{max u1 u2, 0, max u1 u2} (TrivSqZeroExt.{u1, u2} R M) Nat (TrivSqZeroExt.{u1, u2} R M) (instHPow.{max u1 u2, 0} (TrivSqZeroExt.{u1, u2} R M) Nat (TrivSqZeroExt.Nat.hasPow.{u1, u2} R M _inst_1 _inst_2 _inst_3 _inst_4)) x n)) (SMul.smul.{0, u2} Nat M (AddMonoid.SMul.{u2} M _inst_2) n (SMul.smul.{u1, u2} R M (SMulZeroClass.toHasSmul.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_2)) (DistribSMul.toSmulZeroClass.{u1, u2} R M (AddMonoid.toAddZeroClass.{u2} M _inst_2) (DistribMulAction.toDistribSMul.{u1, u2} R M _inst_1 _inst_2 _inst_3))) (HPow.hPow.{u1, 0, u1} R Nat R (instHPow.{u1, 0} R Nat (Monoid.Pow.{u1} R _inst_1)) (TrivSqZeroExt.fst.{u1, u2} R M x) (Nat.pred n)) (TrivSqZeroExt.snd.{u1, u2} R M x))))
-but is expected to have type
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Monoid.{u1} R] [_inst_2 : AddMonoid.{u2} M] [_inst_3 : DistribMulAction.{u1, u2} R M _inst_1 _inst_2] [_inst_4 : DistribMulAction.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.monoid.{u1} R _inst_1) _inst_2] [_inst_5 : SMulCommClass.{u1, u1, u2} R (MulOpposite.{u1} R) M (SMulZeroClass.toSMul.{u1, u2} R M (AddMonoid.toZero.{u2} M _inst_2) (DistribSMul.toSMulZeroClass.{u1, u2} R M (AddMonoid.toAddZeroClass.{u2} M _inst_2) (DistribMulAction.toDistribSMul.{u1, u2} R M _inst_1 _inst_2 _inst_3))) (SMulZeroClass.toSMul.{u1, u2} (MulOpposite.{u1} R) M (AddMonoid.toZero.{u2} M _inst_2) (DistribSMul.toSMulZeroClass.{u1, u2} (MulOpposite.{u1} R) M (AddMonoid.toAddZeroClass.{u2} M _inst_2) (DistribMulAction.toDistribSMul.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.monoid.{u1} R _inst_1) _inst_2 _inst_4)))] (x : TrivSqZeroExt.{u1, u2} R M) (n : Nat), (Eq.{succ u2} M (HSMul.hSMul.{u1, u2, u2} (MulOpposite.{u1} R) M M (instHSMul.{u1, u2} (MulOpposite.{u1} R) M (SMulZeroClass.toSMul.{u1, u2} (MulOpposite.{u1} R) M (AddMonoid.toZero.{u2} M _inst_2) (DistribSMul.toSMulZeroClass.{u1, u2} (MulOpposite.{u1} R) M (AddMonoid.toAddZeroClass.{u2} M _inst_2) (DistribMulAction.toDistribSMul.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.monoid.{u1} R _inst_1) _inst_2 _inst_4)))) (MulOpposite.op.{u1} R (TrivSqZeroExt.fst.{u1, u2} R M x)) (TrivSqZeroExt.snd.{u1, u2} R M x)) (HSMul.hSMul.{u1, u2, u2} R M M (instHSMul.{u1, u2} R M (SMulZeroClass.toSMul.{u1, u2} R M (AddMonoid.toZero.{u2} M _inst_2) (DistribSMul.toSMulZeroClass.{u1, u2} R M (AddMonoid.toAddZeroClass.{u2} M _inst_2) (DistribMulAction.toDistribSMul.{u1, u2} R M _inst_1 _inst_2 _inst_3)))) (TrivSqZeroExt.fst.{u1, u2} R M x) (TrivSqZeroExt.snd.{u1, u2} R M x))) -> (Eq.{succ u2} M (TrivSqZeroExt.snd.{u1, u2} R M (HPow.hPow.{max u1 u2, 0, max u1 u2} (TrivSqZeroExt.{u1, u2} R M) Nat (TrivSqZeroExt.{u1, u2} R M) (instHPow.{max u1 u2, 0} (TrivSqZeroExt.{u1, u2} R M) Nat (TrivSqZeroExt.instPowTrivSqZeroExtNat.{u1, u2} R M _inst_1 _inst_2 _inst_3 _inst_4)) x n)) (HSMul.hSMul.{0, u2, u2} Nat M M (instHSMul.{0, u2} Nat M (AddMonoid.SMul.{u2} M _inst_2)) n (HSMul.hSMul.{u1, u2, u2} R M M (instHSMul.{u1, u2} R M (SMulZeroClass.toSMul.{u1, u2} R M (AddMonoid.toZero.{u2} M _inst_2) (DistribSMul.toSMulZeroClass.{u1, u2} R M (AddMonoid.toAddZeroClass.{u2} M _inst_2) (DistribMulAction.toDistribSMul.{u1, u2} R M _inst_1 _inst_2 _inst_3)))) (HPow.hPow.{u1, 0, u1} R Nat R (instHPow.{u1, 0} R Nat (Monoid.Pow.{u1} R _inst_1)) (TrivSqZeroExt.fst.{u1, u2} R M x) (Nat.pred n)) (TrivSqZeroExt.snd.{u1, u2} R M x))))
-Case conversion may be inaccurate. Consider using '#align triv_sq_zero_ext.snd_pow_of_smul_comm TrivSqZeroExt.snd_pow_of_smul_commₓ'. -/
 theorem snd_pow_of_smul_comm [Monoid R] [AddMonoid M] [DistribMulAction R M]
     [DistribMulAction Rᵐᵒᵖ M] [SMulCommClass R Rᵐᵒᵖ M] (x : tsze R M) (n : ℕ)
     (h : op x.fst • x.snd = x.fst • x.snd) : snd (x ^ n) = n • x.fst ^ n.pred • x.snd :=
@@ -880,24 +709,12 @@ theorem snd_pow_of_smul_comm [Monoid R] [AddMonoid M] [DistribMulAction R M]
   · rw [List.length_map, List.length_range]
 #align triv_sq_zero_ext.snd_pow_of_smul_comm TrivSqZeroExt.snd_pow_of_smul_comm
 
-/- warning: triv_sq_zero_ext.snd_pow -> TrivSqZeroExt.snd_pow is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommMonoid.{u1} R] [_inst_2 : AddMonoid.{u2} M] [_inst_3 : DistribMulAction.{u1, u2} R M (CommMonoid.toMonoid.{u1} R _inst_1) _inst_2] [_inst_4 : DistribMulAction.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.monoid.{u1} R (CommMonoid.toMonoid.{u1} R _inst_1)) _inst_2] [_inst_5 : IsCentralScalar.{u1, u2} R M (SMulZeroClass.toHasSmul.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_2)) (DistribSMul.toSmulZeroClass.{u1, u2} R M (AddMonoid.toAddZeroClass.{u2} M _inst_2) (DistribMulAction.toDistribSMul.{u1, u2} R M (CommMonoid.toMonoid.{u1} R _inst_1) _inst_2 _inst_3))) (SMulZeroClass.toHasSmul.{u1, u2} (MulOpposite.{u1} R) M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_2)) (DistribSMul.toSmulZeroClass.{u1, u2} (MulOpposite.{u1} R) M (AddMonoid.toAddZeroClass.{u2} M _inst_2) (DistribMulAction.toDistribSMul.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.monoid.{u1} R (CommMonoid.toMonoid.{u1} R _inst_1)) _inst_2 _inst_4)))] (x : TrivSqZeroExt.{u1, u2} R M) (n : Nat), Eq.{succ u2} M (TrivSqZeroExt.snd.{u1, u2} R M (HPow.hPow.{max u1 u2, 0, max u1 u2} (TrivSqZeroExt.{u1, u2} R M) Nat (TrivSqZeroExt.{u1, u2} R M) (instHPow.{max u1 u2, 0} (TrivSqZeroExt.{u1, u2} R M) Nat (TrivSqZeroExt.Nat.hasPow.{u1, u2} R M (CommMonoid.toMonoid.{u1} R _inst_1) _inst_2 _inst_3 _inst_4)) x n)) (SMul.smul.{0, u2} Nat M (AddMonoid.SMul.{u2} M _inst_2) n (SMul.smul.{u1, u2} R M (SMulZeroClass.toHasSmul.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_2)) (DistribSMul.toSmulZeroClass.{u1, u2} R M (AddMonoid.toAddZeroClass.{u2} M _inst_2) (DistribMulAction.toDistribSMul.{u1, u2} R M (CommMonoid.toMonoid.{u1} R _inst_1) _inst_2 _inst_3))) (HPow.hPow.{u1, 0, u1} R Nat R (instHPow.{u1, 0} R Nat (Monoid.Pow.{u1} R (CommMonoid.toMonoid.{u1} R _inst_1))) (TrivSqZeroExt.fst.{u1, u2} R M x) (Nat.pred n)) (TrivSqZeroExt.snd.{u1, u2} R M x)))
-but is expected to have type
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommMonoid.{u1} R] [_inst_2 : AddMonoid.{u2} M] [_inst_3 : DistribMulAction.{u1, u2} R M (CommMonoid.toMonoid.{u1} R _inst_1) _inst_2] [_inst_4 : DistribMulAction.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.monoid.{u1} R (CommMonoid.toMonoid.{u1} R _inst_1)) _inst_2] [_inst_5 : IsCentralScalar.{u1, u2} R M (SMulZeroClass.toSMul.{u1, u2} R M (AddMonoid.toZero.{u2} M _inst_2) (DistribSMul.toSMulZeroClass.{u1, u2} R M (AddMonoid.toAddZeroClass.{u2} M _inst_2) (DistribMulAction.toDistribSMul.{u1, u2} R M (CommMonoid.toMonoid.{u1} R _inst_1) _inst_2 _inst_3))) (SMulZeroClass.toSMul.{u1, u2} (MulOpposite.{u1} R) M (AddMonoid.toZero.{u2} M _inst_2) (DistribSMul.toSMulZeroClass.{u1, u2} (MulOpposite.{u1} R) M (AddMonoid.toAddZeroClass.{u2} M _inst_2) (DistribMulAction.toDistribSMul.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.monoid.{u1} R (CommMonoid.toMonoid.{u1} R _inst_1)) _inst_2 _inst_4)))] (x : TrivSqZeroExt.{u1, u2} R M) (n : Nat), Eq.{succ u2} M (TrivSqZeroExt.snd.{u1, u2} R M (HPow.hPow.{max u1 u2, 0, max u1 u2} (TrivSqZeroExt.{u1, u2} R M) Nat (TrivSqZeroExt.{u1, u2} R M) (instHPow.{max u1 u2, 0} (TrivSqZeroExt.{u1, u2} R M) Nat (TrivSqZeroExt.instPowTrivSqZeroExtNat.{u1, u2} R M (CommMonoid.toMonoid.{u1} R _inst_1) _inst_2 _inst_3 _inst_4)) x n)) (HSMul.hSMul.{0, u2, u2} Nat M M (instHSMul.{0, u2} Nat M (AddMonoid.SMul.{u2} M _inst_2)) n (HSMul.hSMul.{u1, u2, u2} R M M (instHSMul.{u1, u2} R M (SMulZeroClass.toSMul.{u1, u2} R M (AddMonoid.toZero.{u2} M _inst_2) (DistribSMul.toSMulZeroClass.{u1, u2} R M (AddMonoid.toAddZeroClass.{u2} M _inst_2) (DistribMulAction.toDistribSMul.{u1, u2} R M (CommMonoid.toMonoid.{u1} R _inst_1) _inst_2 _inst_3)))) (HPow.hPow.{u1, 0, u1} R Nat R (instHPow.{u1, 0} R Nat (Monoid.Pow.{u1} R (CommMonoid.toMonoid.{u1} R _inst_1))) (TrivSqZeroExt.fst.{u1, u2} R M x) (Nat.pred n)) (TrivSqZeroExt.snd.{u1, u2} R M x)))
-Case conversion may be inaccurate. Consider using '#align triv_sq_zero_ext.snd_pow TrivSqZeroExt.snd_powₓ'. -/
 @[simp]
 theorem snd_pow [CommMonoid R] [AddMonoid M] [DistribMulAction R M] [DistribMulAction Rᵐᵒᵖ M]
     [IsCentralScalar R M] (x : tsze R M) (n : ℕ) : snd (x ^ n) = n • x.fst ^ n.pred • x.snd :=
   snd_pow_of_smul_comm _ _ (op_smul_eq_smul _ _)
 #align triv_sq_zero_ext.snd_pow TrivSqZeroExt.snd_pow
 
-/- warning: triv_sq_zero_ext.inl_pow -> TrivSqZeroExt.inl_pow is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Monoid.{u1} R] [_inst_2 : AddMonoid.{u2} M] [_inst_3 : DistribMulAction.{u1, u2} R M _inst_1 _inst_2] [_inst_4 : DistribMulAction.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.monoid.{u1} R _inst_1) _inst_2] (r : R) (n : Nat), Eq.{max (succ u1) (succ u2)} (TrivSqZeroExt.{u1, u2} R M) (HPow.hPow.{max u1 u2, 0, max u1 u2} (TrivSqZeroExt.{u1, u2} R M) Nat (TrivSqZeroExt.{u1, u2} R M) (instHPow.{max u1 u2, 0} (TrivSqZeroExt.{u1, u2} R M) Nat (TrivSqZeroExt.Nat.hasPow.{u1, u2} R M _inst_1 _inst_2 _inst_3 _inst_4)) (TrivSqZeroExt.inl.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_2)) r) n) (TrivSqZeroExt.inl.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_2)) (HPow.hPow.{u1, 0, u1} R Nat R (instHPow.{u1, 0} R Nat (Monoid.Pow.{u1} R _inst_1)) r n))
-but is expected to have type
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Monoid.{u1} R] [_inst_2 : AddMonoid.{u2} M] [_inst_3 : DistribMulAction.{u1, u2} R M _inst_1 _inst_2] [_inst_4 : DistribMulAction.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.monoid.{u1} R _inst_1) _inst_2] (r : R) (n : Nat), Eq.{max (succ u1) (succ u2)} (TrivSqZeroExt.{u1, u2} R M) (HPow.hPow.{max u1 u2, 0, max u1 u2} (TrivSqZeroExt.{u1, u2} R M) Nat (TrivSqZeroExt.{u1, u2} R M) (instHPow.{max u1 u2, 0} (TrivSqZeroExt.{u1, u2} R M) Nat (TrivSqZeroExt.instPowTrivSqZeroExtNat.{u1, u2} R M _inst_1 _inst_2 _inst_3 _inst_4)) (TrivSqZeroExt.inl.{u1, u2} R M (AddMonoid.toZero.{u2} M _inst_2) r) n) (TrivSqZeroExt.inl.{u1, u2} R M (AddMonoid.toZero.{u2} M _inst_2) (HPow.hPow.{u1, 0, u1} R Nat R (instHPow.{u1, 0} R Nat (Monoid.Pow.{u1} R _inst_1)) r n))
-Case conversion may be inaccurate. Consider using '#align triv_sq_zero_ext.inl_pow TrivSqZeroExt.inl_powₓ'. -/
 @[simp]
 theorem inl_pow [Monoid R] [AddMonoid M] [DistribMulAction R M] [DistribMulAction Rᵐᵒᵖ M] (r : R)
     (n : ℕ) : (inl r ^ n : tsze R M) = inl (r ^ n) :=
@@ -932,12 +749,6 @@ instance [Monoid R] [AddMonoid M] [DistribMulAction R M] [DistribMulAction Rᵐ
           rw [List.mem_range, Nat.lt_succ_iff] at hi
           rw [Nat.sub_add_comm hi]) }
 
-/- warning: triv_sq_zero_ext.fst_list_prod -> TrivSqZeroExt.fst_list_prod is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Monoid.{u1} R] [_inst_2 : AddMonoid.{u2} M] [_inst_3 : DistribMulAction.{u1, u2} R M _inst_1 _inst_2] [_inst_4 : DistribMulAction.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.monoid.{u1} R _inst_1) _inst_2] [_inst_5 : SMulCommClass.{u1, u1, u2} R (MulOpposite.{u1} R) M (SMulZeroClass.toHasSmul.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_2)) (DistribSMul.toSmulZeroClass.{u1, u2} R M (AddMonoid.toAddZeroClass.{u2} M _inst_2) (DistribMulAction.toDistribSMul.{u1, u2} R M _inst_1 _inst_2 _inst_3))) (SMulZeroClass.toHasSmul.{u1, u2} (MulOpposite.{u1} R) M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_2)) (DistribSMul.toSmulZeroClass.{u1, u2} (MulOpposite.{u1} R) M (AddMonoid.toAddZeroClass.{u2} M _inst_2) (DistribMulAction.toDistribSMul.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.monoid.{u1} R _inst_1) _inst_2 _inst_4)))] (l : List.{max u1 u2} (TrivSqZeroExt.{u1, u2} R M)), Eq.{succ u1} R (TrivSqZeroExt.fst.{u1, u2} R M (List.prod.{max u1 u2} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.hasMul.{u1, u2} R M (MulOneClass.toHasMul.{u1} R (Monoid.toMulOneClass.{u1} R _inst_1)) (AddZeroClass.toHasAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_2)) (SMulZeroClass.toHasSmul.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_2)) (DistribSMul.toSmulZeroClass.{u1, u2} R M (AddMonoid.toAddZeroClass.{u2} M _inst_2) (DistribMulAction.toDistribSMul.{u1, u2} R M _inst_1 _inst_2 _inst_3))) (SMulZeroClass.toHasSmul.{u1, u2} (MulOpposite.{u1} R) M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_2)) (DistribSMul.toSmulZeroClass.{u1, u2} (MulOpposite.{u1} R) M (AddMonoid.toAddZeroClass.{u2} M _inst_2) (DistribMulAction.toDistribSMul.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.monoid.{u1} R _inst_1) _inst_2 _inst_4)))) (TrivSqZeroExt.hasOne.{u1, u2} R M (MulOneClass.toHasOne.{u1} R (Monoid.toMulOneClass.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_2))) l)) (List.prod.{u1} R (MulOneClass.toHasMul.{u1} R (Monoid.toMulOneClass.{u1} R _inst_1)) (MulOneClass.toHasOne.{u1} R (Monoid.toMulOneClass.{u1} R _inst_1)) (List.map.{max u1 u2, u1} (TrivSqZeroExt.{u1, u2} R M) R (TrivSqZeroExt.fst.{u1, u2} R M) l))
-but is expected to have type
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Monoid.{u1} R] [_inst_2 : AddMonoid.{u2} M] [_inst_3 : DistribMulAction.{u1, u2} R M _inst_1 _inst_2] [_inst_4 : DistribMulAction.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.monoid.{u1} R _inst_1) _inst_2] [_inst_5 : SMulCommClass.{u1, u1, u2} R (MulOpposite.{u1} R) M (SMulZeroClass.toSMul.{u1, u2} R M (AddMonoid.toZero.{u2} M _inst_2) (DistribSMul.toSMulZeroClass.{u1, u2} R M (AddMonoid.toAddZeroClass.{u2} M _inst_2) (DistribMulAction.toDistribSMul.{u1, u2} R M _inst_1 _inst_2 _inst_3))) (SMulZeroClass.toSMul.{u1, u2} (MulOpposite.{u1} R) M (AddMonoid.toZero.{u2} M _inst_2) (DistribSMul.toSMulZeroClass.{u1, u2} (MulOpposite.{u1} R) M (AddMonoid.toAddZeroClass.{u2} M _inst_2) (DistribMulAction.toDistribSMul.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.monoid.{u1} R _inst_1) _inst_2 _inst_4)))] (l : List.{max u2 u1} (TrivSqZeroExt.{u1, u2} R M)), Eq.{succ u1} R (TrivSqZeroExt.fst.{u1, u2} R M (List.prod.{max u1 u2} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.mul.{u1, u2} R M (MulOneClass.toMul.{u1} R (Monoid.toMulOneClass.{u1} R _inst_1)) (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_2)) (SMulZeroClass.toSMul.{u1, u2} R M (AddMonoid.toZero.{u2} M _inst_2) (DistribSMul.toSMulZeroClass.{u1, u2} R M (AddMonoid.toAddZeroClass.{u2} M _inst_2) (DistribMulAction.toDistribSMul.{u1, u2} R M _inst_1 _inst_2 _inst_3))) (SMulZeroClass.toSMul.{u1, u2} (MulOpposite.{u1} R) M (AddMonoid.toZero.{u2} M _inst_2) (DistribSMul.toSMulZeroClass.{u1, u2} (MulOpposite.{u1} R) M (AddMonoid.toAddZeroClass.{u2} M _inst_2) (DistribMulAction.toDistribSMul.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.monoid.{u1} R _inst_1) _inst_2 _inst_4)))) (TrivSqZeroExt.one.{u1, u2} R M (Monoid.toOne.{u1} R _inst_1) (AddMonoid.toZero.{u2} M _inst_2)) l)) (List.prod.{u1} R (MulOneClass.toMul.{u1} R (Monoid.toMulOneClass.{u1} R _inst_1)) (Monoid.toOne.{u1} R _inst_1) (List.map.{max u2 u1, u1} (TrivSqZeroExt.{u1, u2} R M) R (TrivSqZeroExt.fst.{u1, u2} R M) l))
-Case conversion may be inaccurate. Consider using '#align triv_sq_zero_ext.fst_list_prod TrivSqZeroExt.fst_list_prodₓ'. -/
 theorem fst_list_prod [Monoid R] [AddMonoid M] [DistribMulAction R M] [DistribMulAction Rᵐᵒᵖ M]
     [SMulCommClass R Rᵐᵒᵖ M] (l : List (tsze R M)) : l.Prod.fst = (l.map fst).Prod :=
   map_list_prod (⟨fst, fst_one, fst_mul⟩ : tsze R M →* R) _
@@ -947,9 +758,6 @@ instance [Semiring R] [AddCommMonoid M] [Module R M] [Module Rᵐᵒᵖ M] [SMul
     Semiring (tsze R M) :=
   { TrivSqZeroExt.monoid, TrivSqZeroExt.nonAssocSemiring with }
 
-/- warning: triv_sq_zero_ext.snd_list_prod -> TrivSqZeroExt.snd_list_prod is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align triv_sq_zero_ext.snd_list_prod TrivSqZeroExt.snd_list_prodₓ'. -/
 /-- The second element of a product $\prod_{i=0}^n (r_i + m_i)$ is a sum of terms of the form
 $r_0\cdots r_{i-1}m_ir_{i+1}\cdots r_n$. -/
 theorem snd_list_prod [Semiring R] [AddCommMonoid M] [Module R M] [Module Rᵐᵒᵖ M]
@@ -1042,9 +850,6 @@ instance algebra' : Algebra S (tsze R M) :=
 instance : Algebra R' (tsze R' M) :=
   TrivSqZeroExt.algebra' _ _ _
 
-/- warning: triv_sq_zero_ext.algebra_map_eq_inl -> TrivSqZeroExt.algebraMap_eq_inl is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align triv_sq_zero_ext.algebra_map_eq_inl TrivSqZeroExt.algebraMap_eq_inlₓ'. -/
 theorem algebraMap_eq_inl : ⇑(algebraMap R' (tsze R' M)) = inl :=
   rfl
 #align triv_sq_zero_ext.algebra_map_eq_inl TrivSqZeroExt.algebraMap_eq_inl
@@ -1055,9 +860,6 @@ theorem algebraMap_eq_inlHom : algebraMap R' (tsze R' M) = inlHom R' M :=
 #align triv_sq_zero_ext.algebra_map_eq_inl_hom TrivSqZeroExt.algebraMap_eq_inlHom
 -/
 
-/- warning: triv_sq_zero_ext.algebra_map_eq_inl' -> TrivSqZeroExt.algebraMap_eq_inl' is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align triv_sq_zero_ext.algebra_map_eq_inl' TrivSqZeroExt.algebraMap_eq_inl'ₓ'. -/
 theorem algebraMap_eq_inl' (s : S) : algebraMap S (tsze R M) s = inl (algebraMap S R s) :=
   rfl
 #align triv_sq_zero_ext.algebra_map_eq_inl' TrivSqZeroExt.algebraMap_eq_inl'
@@ -1077,18 +879,12 @@ def fstHom : tsze R M →ₐ[S] R where
 
 variable {R R' S M}
 
-/- warning: triv_sq_zero_ext.alg_hom_ext -> TrivSqZeroExt.algHom_ext is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align triv_sq_zero_ext.alg_hom_ext TrivSqZeroExt.algHom_extₓ'. -/
 theorem algHom_ext {A} [Semiring A] [Algebra R' A] ⦃f g : tsze R' M →ₐ[R'] A⦄
     (h : ∀ m, f (inr m) = g (inr m)) : f = g :=
   AlgHom.toLinearMap_injective <|
     linearMap_ext (fun r => (f.commutes _).trans (g.commutes _).symm) h
 #align triv_sq_zero_ext.alg_hom_ext TrivSqZeroExt.algHom_ext
 
-/- warning: triv_sq_zero_ext.alg_hom_ext' -> TrivSqZeroExt.algHom_ext' is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align triv_sq_zero_ext.alg_hom_ext' TrivSqZeroExt.algHom_ext'ₓ'. -/
 @[ext]
 theorem algHom_ext' {A} [Semiring A] [Algebra R' A] ⦃f g : tsze R' M →ₐ[R'] A⦄
     (h : f.toLinearMap.comp (inrHom R' M) = g.toLinearMap.comp (inrHom R' M)) : f = g :=
@@ -1097,9 +893,6 @@ theorem algHom_ext' {A} [Semiring A] [Algebra R' A] ⦃f g : tsze R' M →ₐ[R'
 
 variable {A : Type _} [Semiring A] [Algebra R' A]
 
-/- warning: triv_sq_zero_ext.lift_aux -> TrivSqZeroExt.liftAux is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align triv_sq_zero_ext.lift_aux TrivSqZeroExt.liftAuxₓ'. -/
 /-- There is an alg_hom from the trivial square zero extension to any `R`-algebra with a submodule
 whose products are all zero.
 
@@ -1117,18 +910,12 @@ def liftAux (f : M →ₗ[R'] A) (hf : ∀ x y, f x * f y = 0) : tsze R' M →
           Algebra.smul_def, add_right_comm, add_assoc, LinearMap.map_smul, LinearMap.map_smul])
 #align triv_sq_zero_ext.lift_aux TrivSqZeroExt.liftAux
 
-/- warning: triv_sq_zero_ext.lift_aux_apply_inr -> TrivSqZeroExt.liftAux_apply_inr is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align triv_sq_zero_ext.lift_aux_apply_inr TrivSqZeroExt.liftAux_apply_inrₓ'. -/
 @[simp]
 theorem liftAux_apply_inr (f : M →ₗ[R'] A) (hf : ∀ x y, f x * f y = 0) (m : M) :
     liftAux f hf (inr m) = f m :=
   show algebraMap R' A 0 + f m = f m by rw [RingHom.map_zero, zero_add]
 #align triv_sq_zero_ext.lift_aux_apply_inr TrivSqZeroExt.liftAux_apply_inr
 
-/- warning: triv_sq_zero_ext.lift_aux_comp_inr_hom -> TrivSqZeroExt.liftAux_comp_inrHom is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align triv_sq_zero_ext.lift_aux_comp_inr_hom TrivSqZeroExt.liftAux_comp_inrHomₓ'. -/
 @[simp]
 theorem liftAux_comp_inrHom (f : M →ₗ[R'] A) (hf : ∀ x y, f x * f y = 0) :
     (liftAux f hf).toLinearMap.comp (inrHom R' M) = f :=
@@ -1143,9 +930,6 @@ theorem liftAux_inrHom : liftAux (inrHom R' M) (inr_mul_inr R') = AlgHom.id R' (
 #align triv_sq_zero_ext.lift_aux_inr_hom TrivSqZeroExt.liftAux_inrHom
 -/
 
-/- warning: triv_sq_zero_ext.lift -> TrivSqZeroExt.lift is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align triv_sq_zero_ext.lift TrivSqZeroExt.liftₓ'. -/
 /-- A universal property of the trivial square-zero extension, providing a unique
 `triv_sq_zero_ext R M →ₐ[R] A` for every linear map `M →ₗ[R] A` whose range has no non-zero
 products.
Diff
@@ -552,10 +552,7 @@ theorem ind {R M} [AddZeroClass R] [AddZeroClass M] {P : TrivSqZeroExt R M → P
 #align triv_sq_zero_ext.ind TrivSqZeroExt.ind
 
 /- warning: triv_sq_zero_ext.linear_map_ext -> TrivSqZeroExt.linearMap_ext is a dubious translation:
-lean 3 declaration is
-  forall {S : Type.{u3}} {R : Type.{u1}} {M : Type.{u2}} {N : Type.{u4}} [_inst_1 : Semiring.{u3} S] [_inst_2 : AddCommMonoid.{u1} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_4 : AddCommMonoid.{u4} N] [_inst_5 : Module.{u3, u1} S R _inst_1 _inst_2] [_inst_6 : Module.{u3, u2} S M _inst_1 _inst_3] [_inst_7 : Module.{u3, u4} S N _inst_1 _inst_4] {{f : LinearMap.{u3, u3, max u1 u2, u4} S S _inst_1 _inst_1 (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_1)) (TrivSqZeroExt.{u1, u2} R M) N (TrivSqZeroExt.addCommMonoid.{u1, u2} R M _inst_2 _inst_3) _inst_4 (TrivSqZeroExt.module.{u1, u2, u3} S R M _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) _inst_7}} {{g : LinearMap.{u3, u3, max u1 u2, u4} S S _inst_1 _inst_1 (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_1)) (TrivSqZeroExt.{u1, u2} R M) N (TrivSqZeroExt.addCommMonoid.{u1, u2} R M _inst_2 _inst_3) _inst_4 (TrivSqZeroExt.module.{u1, u2, u3} S R M _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) _inst_7}}, (forall (r : R), Eq.{succ u4} N (coeFn.{max (succ (max u1 u2)) (succ u4), max (succ (max u1 u2)) (succ u4)} (LinearMap.{u3, u3, max u1 u2, u4} S S _inst_1 _inst_1 (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_1)) (TrivSqZeroExt.{u1, u2} R M) N (TrivSqZeroExt.addCommMonoid.{u1, u2} R M _inst_2 _inst_3) _inst_4 (TrivSqZeroExt.module.{u1, u2, u3} S R M _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (fun (_x : LinearMap.{u3, u3, max u1 u2, u4} S S _inst_1 _inst_1 (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_1)) (TrivSqZeroExt.{u1, u2} R M) N (TrivSqZeroExt.addCommMonoid.{u1, u2} R M _inst_2 _inst_3) _inst_4 (TrivSqZeroExt.module.{u1, u2, u3} S R M _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) => (TrivSqZeroExt.{u1, u2} R M) -> N) (LinearMap.hasCoeToFun.{u3, u3, max u1 u2, u4} S S (TrivSqZeroExt.{u1, u2} R M) N _inst_1 _inst_1 (TrivSqZeroExt.addCommMonoid.{u1, u2} R M _inst_2 _inst_3) _inst_4 (TrivSqZeroExt.module.{u1, u2, u3} S R M _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) _inst_7 (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_1))) f (TrivSqZeroExt.inl.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) r)) (coeFn.{max (succ (max u1 u2)) (succ u4), max (succ (max u1 u2)) (succ u4)} (LinearMap.{u3, u3, max u1 u2, u4} S S _inst_1 _inst_1 (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_1)) (TrivSqZeroExt.{u1, u2} R M) N (TrivSqZeroExt.addCommMonoid.{u1, u2} R M _inst_2 _inst_3) _inst_4 (TrivSqZeroExt.module.{u1, u2, u3} S R M _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (fun (_x : LinearMap.{u3, u3, max u1 u2, u4} S S _inst_1 _inst_1 (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_1)) (TrivSqZeroExt.{u1, u2} R M) N (TrivSqZeroExt.addCommMonoid.{u1, u2} R M _inst_2 _inst_3) _inst_4 (TrivSqZeroExt.module.{u1, u2, u3} S R M _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) => (TrivSqZeroExt.{u1, u2} R M) -> N) (LinearMap.hasCoeToFun.{u3, u3, max u1 u2, u4} S S (TrivSqZeroExt.{u1, u2} R M) N _inst_1 _inst_1 (TrivSqZeroExt.addCommMonoid.{u1, u2} R M _inst_2 _inst_3) _inst_4 (TrivSqZeroExt.module.{u1, u2, u3} S R M _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) _inst_7 (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_1))) g (TrivSqZeroExt.inl.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) r))) -> (forall (m : M), Eq.{succ u4} N (coeFn.{max (succ (max u1 u2)) (succ u4), max (succ (max u1 u2)) (succ u4)} (LinearMap.{u3, u3, max u1 u2, u4} S S _inst_1 _inst_1 (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_1)) (TrivSqZeroExt.{u1, u2} R M) N (TrivSqZeroExt.addCommMonoid.{u1, u2} R M _inst_2 _inst_3) _inst_4 (TrivSqZeroExt.module.{u1, u2, u3} S R M _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (fun (_x : LinearMap.{u3, u3, max u1 u2, u4} S S _inst_1 _inst_1 (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_1)) (TrivSqZeroExt.{u1, u2} R M) N (TrivSqZeroExt.addCommMonoid.{u1, u2} R M _inst_2 _inst_3) _inst_4 (TrivSqZeroExt.module.{u1, u2, u3} S R M _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) => (TrivSqZeroExt.{u1, u2} R M) -> N) (LinearMap.hasCoeToFun.{u3, u3, max u1 u2, u4} S S (TrivSqZeroExt.{u1, u2} R M) N _inst_1 _inst_1 (TrivSqZeroExt.addCommMonoid.{u1, u2} R M _inst_2 _inst_3) _inst_4 (TrivSqZeroExt.module.{u1, u2, u3} S R M _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) _inst_7 (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_1))) f (TrivSqZeroExt.inr.{u1, u2} R M (AddZeroClass.toHasZero.{u1} R (AddMonoid.toAddZeroClass.{u1} R (AddCommMonoid.toAddMonoid.{u1} R _inst_2))) m)) (coeFn.{max (succ (max u1 u2)) (succ u4), max (succ (max u1 u2)) (succ u4)} (LinearMap.{u3, u3, max u1 u2, u4} S S _inst_1 _inst_1 (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_1)) (TrivSqZeroExt.{u1, u2} R M) N (TrivSqZeroExt.addCommMonoid.{u1, u2} R M _inst_2 _inst_3) _inst_4 (TrivSqZeroExt.module.{u1, u2, u3} S R M _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (fun (_x : LinearMap.{u3, u3, max u1 u2, u4} S S _inst_1 _inst_1 (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_1)) (TrivSqZeroExt.{u1, u2} R M) N (TrivSqZeroExt.addCommMonoid.{u1, u2} R M _inst_2 _inst_3) _inst_4 (TrivSqZeroExt.module.{u1, u2, u3} S R M _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) => (TrivSqZeroExt.{u1, u2} R M) -> N) (LinearMap.hasCoeToFun.{u3, u3, max u1 u2, u4} S S (TrivSqZeroExt.{u1, u2} R M) N _inst_1 _inst_1 (TrivSqZeroExt.addCommMonoid.{u1, u2} R M _inst_2 _inst_3) _inst_4 (TrivSqZeroExt.module.{u1, u2, u3} S R M _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) _inst_7 (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_1))) g (TrivSqZeroExt.inr.{u1, u2} R M (AddZeroClass.toHasZero.{u1} R (AddMonoid.toAddZeroClass.{u1} R (AddCommMonoid.toAddMonoid.{u1} R _inst_2))) m))) -> (Eq.{max (succ (max u1 u2)) (succ u4)} (LinearMap.{u3, u3, max u1 u2, u4} S S _inst_1 _inst_1 (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_1)) (TrivSqZeroExt.{u1, u2} R M) N (TrivSqZeroExt.addCommMonoid.{u1, u2} R M _inst_2 _inst_3) _inst_4 (TrivSqZeroExt.module.{u1, u2, u3} S R M _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) f g)
-but is expected to have type
-  forall {S : Type.{u1}} {R : Type.{u3}} {M : Type.{u4}} {N : Type.{u2}} [_inst_1 : Semiring.{u1} S] [_inst_2 : AddCommMonoid.{u3} R] [_inst_3 : AddCommMonoid.{u4} M] [_inst_4 : AddCommMonoid.{u2} N] [_inst_5 : Module.{u1, u3} S R _inst_1 _inst_2] [_inst_6 : Module.{u1, u4} S M _inst_1 _inst_3] [_inst_7 : Module.{u1, u2} S N _inst_1 _inst_4] {{f : LinearMap.{u1, u1, max u4 u3, u2} S S _inst_1 _inst_1 (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_1)) (TrivSqZeroExt.{u3, u4} R M) N (TrivSqZeroExt.addCommMonoid.{u3, u4} R M _inst_2 _inst_3) _inst_4 (TrivSqZeroExt.module.{u3, u4, u1} S R M _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) _inst_7}} {{g : LinearMap.{u1, u1, max u4 u3, u2} S S _inst_1 _inst_1 (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_1)) (TrivSqZeroExt.{u3, u4} R M) N (TrivSqZeroExt.addCommMonoid.{u3, u4} R M _inst_2 _inst_3) _inst_4 (TrivSqZeroExt.module.{u3, u4, u1} S R M _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) _inst_7}}, (forall (r : R), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : TrivSqZeroExt.{u3, u4} R M) => N) (TrivSqZeroExt.inl.{u3, u4} R M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3)) r)) (FunLike.coe.{max (max (succ u3) (succ u4)) (succ u2), max (succ u3) (succ u4), succ u2} (LinearMap.{u1, u1, max u4 u3, u2} S S _inst_1 _inst_1 (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_1)) (TrivSqZeroExt.{u3, u4} R M) N (TrivSqZeroExt.addCommMonoid.{u3, u4} R M _inst_2 _inst_3) _inst_4 (TrivSqZeroExt.module.{u3, u4, u1} S R M _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TrivSqZeroExt.{u3, u4} R M) (fun (_x : TrivSqZeroExt.{u3, u4} R M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : TrivSqZeroExt.{u3, u4} R M) => N) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, max u3 u4, u2} S S (TrivSqZeroExt.{u3, u4} R M) N _inst_1 _inst_1 (TrivSqZeroExt.addCommMonoid.{u3, u4} R M _inst_2 _inst_3) _inst_4 (TrivSqZeroExt.module.{u3, u4, u1} S R M _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) _inst_7 (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_1))) f (TrivSqZeroExt.inl.{u3, u4} R M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3)) r)) (FunLike.coe.{max (max (succ u3) (succ u4)) (succ u2), max (succ u3) (succ u4), succ u2} (LinearMap.{u1, u1, max u4 u3, u2} S S _inst_1 _inst_1 (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_1)) (TrivSqZeroExt.{u3, u4} R M) N (TrivSqZeroExt.addCommMonoid.{u3, u4} R M _inst_2 _inst_3) _inst_4 (TrivSqZeroExt.module.{u3, u4, u1} S R M _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TrivSqZeroExt.{u3, u4} R M) (fun (_x : TrivSqZeroExt.{u3, u4} R M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : TrivSqZeroExt.{u3, u4} R M) => N) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, max u3 u4, u2} S S (TrivSqZeroExt.{u3, u4} R M) N _inst_1 _inst_1 (TrivSqZeroExt.addCommMonoid.{u3, u4} R M _inst_2 _inst_3) _inst_4 (TrivSqZeroExt.module.{u3, u4, u1} S R M _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) _inst_7 (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_1))) g (TrivSqZeroExt.inl.{u3, u4} R M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3)) r))) -> (forall (m : M), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : TrivSqZeroExt.{u3, u4} R M) => N) (TrivSqZeroExt.inr.{u3, u4} R M (AddMonoid.toZero.{u3} R (AddCommMonoid.toAddMonoid.{u3} R _inst_2)) m)) (FunLike.coe.{max (max (succ u3) (succ u4)) (succ u2), max (succ u3) (succ u4), succ u2} (LinearMap.{u1, u1, max u4 u3, u2} S S _inst_1 _inst_1 (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_1)) (TrivSqZeroExt.{u3, u4} R M) N (TrivSqZeroExt.addCommMonoid.{u3, u4} R M _inst_2 _inst_3) _inst_4 (TrivSqZeroExt.module.{u3, u4, u1} S R M _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TrivSqZeroExt.{u3, u4} R M) (fun (_x : TrivSqZeroExt.{u3, u4} R M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : TrivSqZeroExt.{u3, u4} R M) => N) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, max u3 u4, u2} S S (TrivSqZeroExt.{u3, u4} R M) N _inst_1 _inst_1 (TrivSqZeroExt.addCommMonoid.{u3, u4} R M _inst_2 _inst_3) _inst_4 (TrivSqZeroExt.module.{u3, u4, u1} S R M _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) _inst_7 (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_1))) f (TrivSqZeroExt.inr.{u3, u4} R M (AddMonoid.toZero.{u3} R (AddCommMonoid.toAddMonoid.{u3} R _inst_2)) m)) (FunLike.coe.{max (max (succ u3) (succ u4)) (succ u2), max (succ u3) (succ u4), succ u2} (LinearMap.{u1, u1, max u4 u3, u2} S S _inst_1 _inst_1 (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_1)) (TrivSqZeroExt.{u3, u4} R M) N (TrivSqZeroExt.addCommMonoid.{u3, u4} R M _inst_2 _inst_3) _inst_4 (TrivSqZeroExt.module.{u3, u4, u1} S R M _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TrivSqZeroExt.{u3, u4} R M) (fun (_x : TrivSqZeroExt.{u3, u4} R M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : TrivSqZeroExt.{u3, u4} R M) => N) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, max u3 u4, u2} S S (TrivSqZeroExt.{u3, u4} R M) N _inst_1 _inst_1 (TrivSqZeroExt.addCommMonoid.{u3, u4} R M _inst_2 _inst_3) _inst_4 (TrivSqZeroExt.module.{u3, u4, u1} S R M _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) _inst_7 (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_1))) g (TrivSqZeroExt.inr.{u3, u4} R M (AddMonoid.toZero.{u3} R (AddCommMonoid.toAddMonoid.{u3} R _inst_2)) m))) -> (Eq.{max (max (succ u3) (succ u4)) (succ u2)} (LinearMap.{u1, u1, max u4 u3, u2} S S _inst_1 _inst_1 (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_1)) (TrivSqZeroExt.{u3, u4} R M) N (TrivSqZeroExt.addCommMonoid.{u3, u4} R M _inst_2 _inst_3) _inst_4 (TrivSqZeroExt.module.{u3, u4, u1} S R M _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) f g)
+<too large>
 Case conversion may be inaccurate. Consider using '#align triv_sq_zero_ext.linear_map_ext TrivSqZeroExt.linearMap_extₓ'. -/
 /-- This cannot be marked `@[ext]` as it ends up being used instead of `linear_map.prod_ext` when
 working with `R × M`. -/
@@ -951,10 +948,7 @@ instance [Semiring R] [AddCommMonoid M] [Module R M] [Module Rᵐᵒᵖ M] [SMul
   { TrivSqZeroExt.monoid, TrivSqZeroExt.nonAssocSemiring with }
 
 /- warning: triv_sq_zero_ext.snd_list_prod -> TrivSqZeroExt.snd_list_prod 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] [_inst_4 : Module.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.semiring.{u1} R _inst_1) _inst_2] [_inst_5 : SMulCommClass.{u1, u1, u2} R (MulOpposite.{u1} R) M (SMulZeroClass.toHasSmul.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} R M (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} R M _inst_1 _inst_2 _inst_3)))) (SMulZeroClass.toHasSmul.{u1, u2} (MulOpposite.{u1} R) M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} (MulOpposite.{u1} R) M (MulZeroClass.toHasZero.{u1} (MulOpposite.{u1} R) (MulZeroOneClass.toMulZeroClass.{u1} (MulOpposite.{u1} R) (MonoidWithZero.toMulZeroOneClass.{u1} (MulOpposite.{u1} R) (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R) M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.semiring.{u1} R _inst_1) _inst_2 _inst_4))))] (l : List.{max u1 u2} (TrivSqZeroExt.{u1, u2} R M)), Eq.{succ u2} M (TrivSqZeroExt.snd.{u1, u2} R M (List.prod.{max u1 u2} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.hasMul.{u1, u2} R M (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (AddZeroClass.toHasAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (SMulZeroClass.toHasSmul.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} R M (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} R M _inst_1 _inst_2 _inst_3)))) (SMulZeroClass.toHasSmul.{u1, u2} (MulOpposite.{u1} R) M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} (MulOpposite.{u1} R) M (MulZeroClass.toHasZero.{u1} (MulOpposite.{u1} R) (MulZeroOneClass.toMulZeroClass.{u1} (MulOpposite.{u1} R) (MonoidWithZero.toMulZeroOneClass.{u1} (MulOpposite.{u1} R) (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R) M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.semiring.{u1} R _inst_1) _inst_2 _inst_4))))) (TrivSqZeroExt.hasOne.{u1, u2} R M (AddMonoidWithOne.toOne.{u1} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} R (NonAssocSemiring.toAddCommMonoidWithOne.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)))) l)) (List.sum.{u2} M (AddZeroClass.toHasAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (List.map.{max u1 u2, u2} (Prod.{0, max u1 u2} Nat (TrivSqZeroExt.{u1, u2} R M)) M (fun (x : Prod.{0, max u1 u2} Nat (TrivSqZeroExt.{u1, u2} R M)) => SMul.smul.{u1, u2} R M (SMulZeroClass.toHasSmul.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} R M (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} R M _inst_1 _inst_2 _inst_3)))) (List.prod.{u1} R (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (AddMonoidWithOne.toOne.{u1} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} R (NonAssocSemiring.toAddCommMonoidWithOne.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (List.take.{u1} R (Prod.fst.{0, max u1 u2} Nat (TrivSqZeroExt.{u1, u2} R M) x) (List.map.{max u1 u2, u1} (TrivSqZeroExt.{u1, u2} R M) R (TrivSqZeroExt.fst.{u1, u2} R M) l))) (SMul.smul.{u1, u2} (MulOpposite.{u1} R) M (SMulZeroClass.toHasSmul.{u1, u2} (MulOpposite.{u1} R) M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} (MulOpposite.{u1} R) M (MulZeroClass.toHasZero.{u1} (MulOpposite.{u1} R) (MulZeroOneClass.toMulZeroClass.{u1} (MulOpposite.{u1} R) (MonoidWithZero.toMulZeroOneClass.{u1} (MulOpposite.{u1} R) (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R) M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.semiring.{u1} R _inst_1) _inst_2 _inst_4)))) (MulOpposite.op.{u1} R (List.prod.{u1} R (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (AddMonoidWithOne.toOne.{u1} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} R (NonAssocSemiring.toAddCommMonoidWithOne.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (List.drop.{u1} R (Nat.succ (Prod.fst.{0, max u1 u2} Nat (TrivSqZeroExt.{u1, u2} R M) x)) (List.map.{max u1 u2, u1} (TrivSqZeroExt.{u1, u2} R M) R (TrivSqZeroExt.fst.{u1, u2} R M) l)))) (TrivSqZeroExt.snd.{u1, u2} R M (Prod.snd.{0, max u1 u2} Nat (TrivSqZeroExt.{u1, u2} R M) x)))) (List.enum.{max u1 u2} (TrivSqZeroExt.{u1, u2} R M) l)))
-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] [_inst_4 : Module.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.semiring.{u1} R _inst_1) _inst_2] [_inst_5 : SMulCommClass.{u1, u1, u2} R (MulOpposite.{u1} R) M (SMulZeroClass.toSMul.{u1, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R M (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (Module.toMulActionWithZero.{u1, u2} R M _inst_1 _inst_2 _inst_3)))) (SMulZeroClass.toSMul.{u1, u2} (MulOpposite.{u1} R) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.zero.{u1} R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.monoidWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.semiring.{u1} R _inst_1) _inst_2 _inst_4))))] (l : List.{max u2 u1} (TrivSqZeroExt.{u1, u2} R M)), Eq.{succ u2} M (TrivSqZeroExt.snd.{u1, u2} R M (List.prod.{max u1 u2} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.mul.{u1, u2} R M (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (SMulZeroClass.toSMul.{u1, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R M (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (Module.toMulActionWithZero.{u1, u2} R M _inst_1 _inst_2 _inst_3)))) (SMulZeroClass.toSMul.{u1, u2} (MulOpposite.{u1} R) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.zero.{u1} R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.monoidWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.semiring.{u1} R _inst_1) _inst_2 _inst_4))))) (TrivSqZeroExt.one.{u1, u2} R M (Semiring.toOne.{u1} R _inst_1) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) l)) (List.sum.{u2} M (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (List.map.{max u1 u2, u2} (Prod.{0, max u2 u1} Nat (TrivSqZeroExt.{u1, u2} R M)) M (fun (x : Prod.{0, max u2 u1} Nat (TrivSqZeroExt.{u1, u2} R M)) => HSMul.hSMul.{u1, u2, u2} R M M (instHSMul.{u1, u2} R M (SMulZeroClass.toSMul.{u1, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R M (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (Module.toMulActionWithZero.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (List.prod.{u1} R (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toOne.{u1} R _inst_1) (List.take.{u1} R (Prod.fst.{0, max u1 u2} Nat (TrivSqZeroExt.{u1, u2} R M) x) (List.map.{max u2 u1, u1} (TrivSqZeroExt.{u1, u2} R M) R (TrivSqZeroExt.fst.{u1, u2} R M) l))) (HSMul.hSMul.{u1, u2, u2} (MulOpposite.{u1} R) M M (instHSMul.{u1, u2} (MulOpposite.{u1} R) M (SMulZeroClass.toSMul.{u1, u2} (MulOpposite.{u1} R) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.zero.{u1} R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.monoidWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.semiring.{u1} R _inst_1) _inst_2 _inst_4))))) (MulOpposite.op.{u1} R (List.prod.{u1} R (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toOne.{u1} R _inst_1) (List.drop.{u1} R (Nat.succ (Prod.fst.{0, max u1 u2} Nat (TrivSqZeroExt.{u1, u2} R M) x)) (List.map.{max u2 u1, u1} (TrivSqZeroExt.{u1, u2} R M) R (TrivSqZeroExt.fst.{u1, u2} R M) l)))) (TrivSqZeroExt.snd.{u1, u2} R M (Prod.snd.{0, max u1 u2} Nat (TrivSqZeroExt.{u1, u2} R M) x)))) (List.enum.{max u1 u2} (TrivSqZeroExt.{u1, u2} R M) l)))
+<too large>
 Case conversion may be inaccurate. Consider using '#align triv_sq_zero_ext.snd_list_prod TrivSqZeroExt.snd_list_prodₓ'. -/
 /-- The second element of a product $\prod_{i=0}^n (r_i + m_i)$ is a sum of terms of the form
 $r_0\cdots r_{i-1}m_ir_{i+1}\cdots r_n$. -/
@@ -1049,10 +1043,7 @@ instance : Algebra R' (tsze R' M) :=
   TrivSqZeroExt.algebra' _ _ _
 
 /- warning: triv_sq_zero_ext.algebra_map_eq_inl -> TrivSqZeroExt.algebraMap_eq_inl is a dubious translation:
-lean 3 declaration is
-  forall (R' : Type.{u1}) (M : Type.{u2}) [_inst_3 : CommSemiring.{u1} R'] [_inst_4 : AddCommMonoid.{u2} M] [_inst_13 : Module.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4] [_inst_14 : Module.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4] [_inst_15 : IsCentralScalar.{u1, u2} R' M (SMulZeroClass.toHasSmul.{u1, u2} R' M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} R' M (MulZeroClass.toHasZero.{u1} R' (MulZeroOneClass.toMulZeroClass.{u1} R' (MonoidWithZero.toMulZeroOneClass.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toHasSmul.{u1, u2} (MulOpposite.{u1} R') M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MulZeroClass.toHasZero.{u1} (MulOpposite.{u1} R') (MulZeroOneClass.toMulZeroClass.{u1} (MulOpposite.{u1} R') (MonoidWithZero.toMulZeroOneClass.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14))))], Eq.{max (succ u1) (succ (max u1 u2))} (R' -> (TrivSqZeroExt.{u1, u2} R' M)) (coeFn.{max (succ u1) (succ (max u1 u2)), max (succ u1) (succ (max u1 u2))} (RingHom.{u1, max u1 u2} R' (TrivSqZeroExt.{u1, u2} R' M) (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (Semiring.toNonAssocSemiring.{max u1 u2} (TrivSqZeroExt.{u1, u2} R' M) (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u1, u1, u2} R' _inst_3 (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (MulOpposite.algebra.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u1, u1, u2} R' R' M (SMulZeroClass.toHasSmul.{u1, u2} R' M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} R' M (MulZeroClass.toHasZero.{u1} R' (MulZeroOneClass.toMulZeroClass.{u1} R' (MonoidWithZero.toMulZeroOneClass.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (Mul.toSMul.{u1} R' (Distrib.toHasMul.{u1} R' (NonUnitalNonAssocSemiring.toDistrib.{u1} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (MulAction.toHasSmul.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13))) (SMulZeroClass.toHasSmul.{u1, u2} (MulOpposite.{u1} R') M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MulZeroClass.toHasZero.{u1} (MulOpposite.{u1} R') (MulZeroOneClass.toMulZeroClass.{u1} (MulOpposite.{u1} R') (MonoidWithZero.toMulZeroOneClass.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))))))) (fun (_x : RingHom.{u1, max u1 u2} R' (TrivSqZeroExt.{u1, u2} R' M) (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (Semiring.toNonAssocSemiring.{max u1 u2} (TrivSqZeroExt.{u1, u2} R' M) (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u1, u1, u2} R' _inst_3 (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (MulOpposite.algebra.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u1, u1, u2} R' R' M (SMulZeroClass.toHasSmul.{u1, u2} R' M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} R' M (MulZeroClass.toHasZero.{u1} R' (MulZeroOneClass.toMulZeroClass.{u1} R' (MonoidWithZero.toMulZeroOneClass.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (Mul.toSMul.{u1} R' (Distrib.toHasMul.{u1} R' (NonUnitalNonAssocSemiring.toDistrib.{u1} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (MulAction.toHasSmul.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13))) (SMulZeroClass.toHasSmul.{u1, u2} (MulOpposite.{u1} R') M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MulZeroClass.toHasZero.{u1} (MulOpposite.{u1} R') (MulZeroOneClass.toMulZeroClass.{u1} (MulOpposite.{u1} R') (MonoidWithZero.toMulZeroOneClass.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))))))) => R' -> (TrivSqZeroExt.{u1, u2} R' M)) (RingHom.hasCoeToFun.{u1, max u1 u2} R' (TrivSqZeroExt.{u1, u2} R' M) (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (Semiring.toNonAssocSemiring.{max u1 u2} (TrivSqZeroExt.{u1, u2} R' M) (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u1, u1, u2} R' _inst_3 (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (MulOpposite.algebra.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u1, u1, u2} R' R' M (SMulZeroClass.toHasSmul.{u1, u2} R' M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} R' M (MulZeroClass.toHasZero.{u1} R' (MulZeroOneClass.toMulZeroClass.{u1} R' (MonoidWithZero.toMulZeroOneClass.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (Mul.toSMul.{u1} R' (Distrib.toHasMul.{u1} R' (NonUnitalNonAssocSemiring.toDistrib.{u1} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (MulAction.toHasSmul.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13))) (SMulZeroClass.toHasSmul.{u1, u2} (MulOpposite.{u1} R') M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MulZeroClass.toHasZero.{u1} (MulOpposite.{u1} R') (MulZeroOneClass.toMulZeroClass.{u1} (MulOpposite.{u1} R') (MonoidWithZero.toMulZeroOneClass.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))))))) (algebraMap.{u1, max u1 u2} R' (TrivSqZeroExt.{u1, u2} R' M) _inst_3 (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u1, u1, u2} R' _inst_3 (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (MulOpposite.algebra.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u1, u1, u2} R' R' M (SMulZeroClass.toHasSmul.{u1, u2} R' M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} R' M (MulZeroClass.toHasZero.{u1} R' (MulZeroOneClass.toMulZeroClass.{u1} R' (MonoidWithZero.toMulZeroOneClass.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (Mul.toSMul.{u1} R' (Distrib.toHasMul.{u1} R' (NonUnitalNonAssocSemiring.toDistrib.{u1} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (MulAction.toHasSmul.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13))) (SMulZeroClass.toHasSmul.{u1, u2} (MulOpposite.{u1} R') M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MulZeroClass.toHasZero.{u1} (MulOpposite.{u1} R') (MulZeroOneClass.toMulZeroClass.{u1} (MulOpposite.{u1} R') (MonoidWithZero.toMulZeroOneClass.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))))) (TrivSqZeroExt.algebra.{u1, u2} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15))) (TrivSqZeroExt.inl.{u1, u2} R' M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))))
-but is expected to have type
-  forall (R' : Type.{u1}) (M : Type.{u2}) [_inst_3 : CommSemiring.{u1} R'] [_inst_4 : AddCommMonoid.{u2} M] [_inst_13 : Module.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4] [_inst_14 : Module.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4] [_inst_15 : IsCentralScalar.{u1, u2} R' M (SMulZeroClass.toSMul.{u1, u2} R' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u1, u2} (MulOpposite.{u1} R') M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.zero.{u1} R' (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.monoidWithZero.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14))))], Eq.{max (succ u1) (succ u2)} (forall (ᾰ : R'), (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R') => TrivSqZeroExt.{u1, u2} R' M) ᾰ) (FunLike.coe.{max (succ u1) (succ u2), succ u1, max (succ u1) (succ u2)} (RingHom.{u1, max u2 u1} R' (TrivSqZeroExt.{u1, u2} R' M) (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (Semiring.toNonAssocSemiring.{max u2 u1} (TrivSqZeroExt.{u1, u2} R' M) (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u1, u1, u2} R' _inst_3 (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u1, u1, u2} R' R' M (SMulZeroClass.toSMul.{u1, u2} R' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) (SMulZeroClass.toSMul.{u1, u2} R' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u1, u2} (MulOpposite.{u1} R') M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MonoidWithZero.toZero.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))))))) R' (fun (_x : R') => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R') => TrivSqZeroExt.{u1, u2} R' M) _x) (MulHomClass.toFunLike.{max u1 u2, u1, max u1 u2} (RingHom.{u1, max u2 u1} R' (TrivSqZeroExt.{u1, u2} R' M) (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (Semiring.toNonAssocSemiring.{max u2 u1} (TrivSqZeroExt.{u1, u2} R' M) (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u1, u1, u2} R' _inst_3 (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u1, u1, u2} R' R' M (SMulZeroClass.toSMul.{u1, u2} R' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) (SMulZeroClass.toSMul.{u1, u2} R' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u1, u2} (MulOpposite.{u1} R') M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MonoidWithZero.toZero.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))))))) R' (TrivSqZeroExt.{u1, u2} R' M) (NonUnitalNonAssocSemiring.toMul.{u1} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))) (NonUnitalNonAssocSemiring.toMul.{max u1 u2} (TrivSqZeroExt.{u1, u2} R' M) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (TrivSqZeroExt.{u1, u2} R' M) (Semiring.toNonAssocSemiring.{max u2 u1} (TrivSqZeroExt.{u1, u2} R' M) (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u1, u1, u2} R' _inst_3 (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u1, u1, u2} R' R' M (SMulZeroClass.toSMul.{u1, u2} R' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) (SMulZeroClass.toSMul.{u1, u2} R' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u1, u2} (MulOpposite.{u1} R') M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MonoidWithZero.toZero.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13))))))))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, u1, max u1 u2} (RingHom.{u1, max u2 u1} R' (TrivSqZeroExt.{u1, u2} R' M) (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (Semiring.toNonAssocSemiring.{max u2 u1} (TrivSqZeroExt.{u1, u2} R' M) (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u1, u1, u2} R' _inst_3 (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u1, u1, u2} R' R' M (SMulZeroClass.toSMul.{u1, u2} R' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) (SMulZeroClass.toSMul.{u1, u2} R' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u1, u2} (MulOpposite.{u1} R') M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MonoidWithZero.toZero.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))))))) R' (TrivSqZeroExt.{u1, u2} R' M) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (TrivSqZeroExt.{u1, u2} R' M) (Semiring.toNonAssocSemiring.{max u2 u1} (TrivSqZeroExt.{u1, u2} R' M) (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u1, u1, u2} R' _inst_3 (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u1, u1, u2} R' R' M (SMulZeroClass.toSMul.{u1, u2} R' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) (SMulZeroClass.toSMul.{u1, u2} R' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u1, u2} (MulOpposite.{u1} R') M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MonoidWithZero.toZero.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))))))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, u1, max u1 u2} (RingHom.{u1, max u2 u1} R' (TrivSqZeroExt.{u1, u2} R' M) (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (Semiring.toNonAssocSemiring.{max u2 u1} (TrivSqZeroExt.{u1, u2} R' M) (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u1, u1, u2} R' _inst_3 (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u1, u1, u2} R' R' M (SMulZeroClass.toSMul.{u1, u2} R' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) (SMulZeroClass.toSMul.{u1, u2} R' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u1, u2} (MulOpposite.{u1} R') M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MonoidWithZero.toZero.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))))))) R' (TrivSqZeroExt.{u1, u2} R' M) (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (Semiring.toNonAssocSemiring.{max u2 u1} (TrivSqZeroExt.{u1, u2} R' M) (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u1, u1, u2} R' _inst_3 (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u1, u1, u2} R' R' M (SMulZeroClass.toSMul.{u1, u2} R' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) (SMulZeroClass.toSMul.{u1, u2} R' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u1, u2} (MulOpposite.{u1} R') M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MonoidWithZero.toZero.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13))))))) (RingHom.instRingHomClassRingHom.{u1, max u1 u2} R' (TrivSqZeroExt.{u1, u2} R' M) (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (Semiring.toNonAssocSemiring.{max u2 u1} (TrivSqZeroExt.{u1, u2} R' M) (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u1, u1, u2} R' _inst_3 (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u1, u1, u2} R' R' M (SMulZeroClass.toSMul.{u1, u2} R' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) (SMulZeroClass.toSMul.{u1, u2} R' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u1, u2} (MulOpposite.{u1} R') M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MonoidWithZero.toZero.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13))))))))))) (algebraMap.{u1, max u2 u1} R' (TrivSqZeroExt.{u1, u2} R' M) _inst_3 (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u1, u1, u2} R' _inst_3 (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u1, u1, u2} R' R' M (SMulZeroClass.toSMul.{u1, u2} R' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) (SMulZeroClass.toSMul.{u1, u2} R' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u1, u2} (MulOpposite.{u1} R') M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MonoidWithZero.toZero.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))))) (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeSemiringInstAlgebraMulOppositeSemiringIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u1, u2} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15))) (TrivSqZeroExt.inl.{u1, u2} R' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)))
+<too large>
 Case conversion may be inaccurate. Consider using '#align triv_sq_zero_ext.algebra_map_eq_inl TrivSqZeroExt.algebraMap_eq_inlₓ'. -/
 theorem algebraMap_eq_inl : ⇑(algebraMap R' (tsze R' M)) = inl :=
   rfl
@@ -1065,10 +1056,7 @@ theorem algebraMap_eq_inlHom : algebraMap R' (tsze R' M) = inlHom R' M :=
 -/
 
 /- warning: triv_sq_zero_ext.algebra_map_eq_inl' -> TrivSqZeroExt.algebraMap_eq_inl' is a dubious translation:
-lean 3 declaration is
-  forall (S : Type.{u3}) (R : Type.{u1}) (M : Type.{u2}) [_inst_1 : CommSemiring.{u3} S] [_inst_2 : Semiring.{u1} R] [_inst_4 : AddCommMonoid.{u2} M] [_inst_5 : Algebra.{u3, u1} S R _inst_1 _inst_2] [_inst_7 : Module.{u3, u2} S M (CommSemiring.toSemiring.{u3} S _inst_1) _inst_4] [_inst_8 : Module.{u1, u2} R M _inst_2 _inst_4] [_inst_9 : Module.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.semiring.{u1} R _inst_2) _inst_4] [_inst_10 : SMulCommClass.{u1, u1, u2} R (MulOpposite.{u1} R) M (SMulZeroClass.toHasSmul.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} R M (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_2)))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R _inst_2) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R M _inst_2 _inst_4 _inst_8)))) (SMulZeroClass.toHasSmul.{u1, u2} (MulOpposite.{u1} R) M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} (MulOpposite.{u1} R) M (MulZeroClass.toHasZero.{u1} (MulOpposite.{u1} R) (MulZeroOneClass.toMulZeroClass.{u1} (MulOpposite.{u1} R) (MonoidWithZero.toMulZeroOneClass.{u1} (MulOpposite.{u1} R) (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_2))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R) M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_2)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.semiring.{u1} R _inst_2) _inst_4 _inst_9))))] [_inst_11 : IsScalarTower.{u3, u1, u2} S R M (SMulZeroClass.toHasSmul.{u3, u1} S R (AddZeroClass.toHasZero.{u1} R (AddMonoid.toAddZeroClass.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)))))) (SMulWithZero.toSmulZeroClass.{u3, u1} S R (MulZeroClass.toHasZero.{u3} S (MulZeroOneClass.toMulZeroClass.{u3} S (MonoidWithZero.toMulZeroOneClass.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S _inst_1))))) (AddZeroClass.toHasZero.{u1} R (AddMonoid.toAddZeroClass.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)))))) (MulActionWithZero.toSMulWithZero.{u3, u1} S R (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S _inst_1)) (AddZeroClass.toHasZero.{u1} R (AddMonoid.toAddZeroClass.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)))))) (Module.toMulActionWithZero.{u3, u1} S R (CommSemiring.toSemiring.{u3} S _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Algebra.toModule.{u3, u1} S R _inst_1 _inst_2 _inst_5))))) (SMulZeroClass.toHasSmul.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} R M (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_2)))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R _inst_2) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R M _inst_2 _inst_4 _inst_8)))) (SMulZeroClass.toHasSmul.{u3, u2} S M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u3, u2} S M (MulZeroClass.toHasZero.{u3} S (MulZeroOneClass.toMulZeroClass.{u3} S (MonoidWithZero.toMulZeroOneClass.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S _inst_1))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u3, u2} S M (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S _inst_1)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u3, u2} S M (CommSemiring.toSemiring.{u3} S _inst_1) _inst_4 _inst_7))))] [_inst_12 : IsScalarTower.{u3, u1, u2} S (MulOpposite.{u1} R) M (MulOpposite.hasSmul.{u1, u3} R S (SMulZeroClass.toHasSmul.{u3, u1} S R (AddZeroClass.toHasZero.{u1} R (AddMonoid.toAddZeroClass.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)))))) (SMulWithZero.toSmulZeroClass.{u3, u1} S R (MulZeroClass.toHasZero.{u3} S (MulZeroOneClass.toMulZeroClass.{u3} S (MonoidWithZero.toMulZeroOneClass.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S _inst_1))))) (AddZeroClass.toHasZero.{u1} R (AddMonoid.toAddZeroClass.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)))))) (MulActionWithZero.toSMulWithZero.{u3, u1} S R (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S _inst_1)) (AddZeroClass.toHasZero.{u1} R (AddMonoid.toAddZeroClass.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)))))) (Module.toMulActionWithZero.{u3, u1} S R (CommSemiring.toSemiring.{u3} S _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Algebra.toModule.{u3, u1} S R _inst_1 _inst_2 _inst_5)))))) (SMulZeroClass.toHasSmul.{u1, u2} (MulOpposite.{u1} R) M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} (MulOpposite.{u1} R) M (MulZeroClass.toHasZero.{u1} (MulOpposite.{u1} R) (MulZeroOneClass.toMulZeroClass.{u1} (MulOpposite.{u1} R) (MonoidWithZero.toMulZeroOneClass.{u1} (MulOpposite.{u1} R) (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_2))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R) M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_2)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.semiring.{u1} R _inst_2) _inst_4 _inst_9)))) (SMulZeroClass.toHasSmul.{u3, u2} S M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u3, u2} S M (MulZeroClass.toHasZero.{u3} S (MulZeroOneClass.toMulZeroClass.{u3} S (MonoidWithZero.toMulZeroOneClass.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S _inst_1))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u3, u2} S M (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S _inst_1)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u3, u2} S M (CommSemiring.toSemiring.{u3} S _inst_1) _inst_4 _inst_7))))] (s : S), Eq.{max (succ u1) (succ u2)} (TrivSqZeroExt.{u1, u2} R M) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ u3) (succ (max u1 u2))} (RingHom.{u3, max u1 u2} S (TrivSqZeroExt.{u1, u2} R M) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_1)) (Semiring.toNonAssocSemiring.{max u1 u2} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.semiring.{u1, u2} R M _inst_2 _inst_4 _inst_8 _inst_9 _inst_10))) (fun (_x : RingHom.{u3, max u1 u2} S (TrivSqZeroExt.{u1, u2} R M) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_1)) (Semiring.toNonAssocSemiring.{max u1 u2} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.semiring.{u1, u2} R M _inst_2 _inst_4 _inst_8 _inst_9 _inst_10))) => S -> (TrivSqZeroExt.{u1, u2} R M)) (RingHom.hasCoeToFun.{u3, max u1 u2} S (TrivSqZeroExt.{u1, u2} R M) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_1)) (Semiring.toNonAssocSemiring.{max u1 u2} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.semiring.{u1, u2} R M _inst_2 _inst_4 _inst_8 _inst_9 _inst_10))) (algebraMap.{u3, max u1 u2} S (TrivSqZeroExt.{u1, u2} R M) _inst_1 (TrivSqZeroExt.semiring.{u1, u2} R M _inst_2 _inst_4 _inst_8 _inst_9 _inst_10) (TrivSqZeroExt.algebra'.{u1, u2, u3} S R M _inst_1 _inst_2 _inst_4 _inst_5 _inst_7 _inst_8 _inst_9 _inst_10 _inst_11 _inst_12)) s) (TrivSqZeroExt.inl.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (coeFn.{max (succ u3) (succ u1), max (succ u3) (succ u1)} (RingHom.{u3, u1} S R (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_1)) (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (fun (_x : RingHom.{u3, u1} S R (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_1)) (Semiring.toNonAssocSemiring.{u1} R _inst_2)) => S -> R) (RingHom.hasCoeToFun.{u3, u1} S R (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_1)) (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (algebraMap.{u3, u1} S R _inst_1 _inst_2 _inst_5) s))
-but is expected to have type
-  forall (S : Type.{u1}) (R : Type.{u2}) (M : Type.{u3}) [_inst_1 : CommSemiring.{u1} S] [_inst_2 : Semiring.{u2} R] [_inst_4 : AddCommMonoid.{u3} M] [_inst_5 : Algebra.{u1, u2} S R _inst_1 _inst_2] [_inst_7 : Module.{u1, u3} S M (CommSemiring.toSemiring.{u1} S _inst_1) _inst_4] [_inst_8 : Module.{u2, u3} R M _inst_2 _inst_4] [_inst_9 : Module.{u2, u3} (MulOpposite.{u2} R) M (MulOpposite.semiring.{u2} R _inst_2) _inst_4] [_inst_10 : SMulCommClass.{u2, u2, u3} R (MulOpposite.{u2} R) M (SMulZeroClass.toSMul.{u2, u3} R M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R M (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_2)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R M (Semiring.toMonoidWithZero.{u2} R _inst_2) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R M _inst_2 _inst_4 _inst_8)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R) M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R) M (MulOpposite.zero.{u2} R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_2))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R) M (MulOpposite.monoidWithZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_2)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R) M (MulOpposite.semiring.{u2} R _inst_2) _inst_4 _inst_9))))] [_inst_11 : IsScalarTower.{u1, u2, u3} S R M (Algebra.toSMul.{u1, u2} S R _inst_1 _inst_2 _inst_5) (SMulZeroClass.toSMul.{u2, u3} R M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R M (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_2)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R M (Semiring.toMonoidWithZero.{u2} R _inst_2) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R M _inst_2 _inst_4 _inst_8)))) (SMulZeroClass.toSMul.{u1, u3} S M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u3} S M (CommMonoidWithZero.toZero.{u1} S (CommSemiring.toCommMonoidWithZero.{u1} S _inst_1)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u3} S M (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_1)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u1, u3} S M (CommSemiring.toSemiring.{u1} S _inst_1) _inst_4 _inst_7))))] [_inst_12 : IsScalarTower.{u1, u2, u3} S (MulOpposite.{u2} R) M (MulOpposite.smul.{u2, u1} R S (Algebra.toSMul.{u1, u2} S R _inst_1 _inst_2 _inst_5)) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R) M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R) M (MulOpposite.zero.{u2} R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_2))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R) M (MulOpposite.monoidWithZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_2)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R) M (MulOpposite.semiring.{u2} R _inst_2) _inst_4 _inst_9)))) (SMulZeroClass.toSMul.{u1, u3} S M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u3} S M (CommMonoidWithZero.toZero.{u1} S (CommSemiring.toCommMonoidWithZero.{u1} S _inst_1)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u3} S M (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_1)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u1, u3} S M (CommSemiring.toSemiring.{u1} S _inst_1) _inst_4 _inst_7))))] (s : S), Eq.{max (succ u2) (succ u3)} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : S) => TrivSqZeroExt.{u2, u3} R M) s) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), succ u1, max (succ u2) (succ u3)} (RingHom.{u1, max u3 u2} S (TrivSqZeroExt.{u2, u3} R M) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_1)) (Semiring.toNonAssocSemiring.{max u3 u2} (TrivSqZeroExt.{u2, u3} R M) (TrivSqZeroExt.semiring.{u2, u3} R M _inst_2 _inst_4 _inst_8 _inst_9 _inst_10))) S (fun (_x : S) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : S) => TrivSqZeroExt.{u2, u3} R M) _x) (MulHomClass.toFunLike.{max (max u2 u3) u1, u1, max u2 u3} (RingHom.{u1, max u3 u2} S (TrivSqZeroExt.{u2, u3} R M) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_1)) (Semiring.toNonAssocSemiring.{max u3 u2} (TrivSqZeroExt.{u2, u3} R M) (TrivSqZeroExt.semiring.{u2, u3} R M _inst_2 _inst_4 _inst_8 _inst_9 _inst_10))) S (TrivSqZeroExt.{u2, u3} R M) (NonUnitalNonAssocSemiring.toMul.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{max u2 u3} (TrivSqZeroExt.{u2, u3} R M) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R M) (Semiring.toNonAssocSemiring.{max u3 u2} (TrivSqZeroExt.{u2, u3} R M) (TrivSqZeroExt.semiring.{u2, u3} R M _inst_2 _inst_4 _inst_8 _inst_9 _inst_10)))) (NonUnitalRingHomClass.toMulHomClass.{max (max u2 u3) u1, u1, max u2 u3} (RingHom.{u1, max u3 u2} S (TrivSqZeroExt.{u2, u3} R M) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_1)) (Semiring.toNonAssocSemiring.{max u3 u2} (TrivSqZeroExt.{u2, u3} R M) (TrivSqZeroExt.semiring.{u2, u3} R M _inst_2 _inst_4 _inst_8 _inst_9 _inst_10))) S (TrivSqZeroExt.{u2, u3} R M) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R M) (Semiring.toNonAssocSemiring.{max u3 u2} (TrivSqZeroExt.{u2, u3} R M) (TrivSqZeroExt.semiring.{u2, u3} R M _inst_2 _inst_4 _inst_8 _inst_9 _inst_10))) (RingHomClass.toNonUnitalRingHomClass.{max (max u2 u3) u1, u1, max u2 u3} (RingHom.{u1, max u3 u2} S (TrivSqZeroExt.{u2, u3} R M) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_1)) (Semiring.toNonAssocSemiring.{max u3 u2} (TrivSqZeroExt.{u2, u3} R M) (TrivSqZeroExt.semiring.{u2, u3} R M _inst_2 _inst_4 _inst_8 _inst_9 _inst_10))) S (TrivSqZeroExt.{u2, u3} R M) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_1)) (Semiring.toNonAssocSemiring.{max u3 u2} (TrivSqZeroExt.{u2, u3} R M) (TrivSqZeroExt.semiring.{u2, u3} R M _inst_2 _inst_4 _inst_8 _inst_9 _inst_10)) (RingHom.instRingHomClassRingHom.{u1, max u2 u3} S (TrivSqZeroExt.{u2, u3} R M) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_1)) (Semiring.toNonAssocSemiring.{max u3 u2} (TrivSqZeroExt.{u2, u3} R M) (TrivSqZeroExt.semiring.{u2, u3} R M _inst_2 _inst_4 _inst_8 _inst_9 _inst_10)))))) (algebraMap.{u1, max u3 u2} S (TrivSqZeroExt.{u2, u3} R M) _inst_1 (TrivSqZeroExt.semiring.{u2, u3} R M _inst_2 _inst_4 _inst_8 _inst_9 _inst_10) (TrivSqZeroExt.algebra'.{u2, u3, u1} S R M _inst_1 _inst_2 _inst_4 _inst_5 _inst_7 _inst_8 _inst_9 _inst_10 _inst_11 _inst_12)) s) (TrivSqZeroExt.inl.{u2, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : S) => R) s) M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (RingHom.{u1, u2} S R (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_1)) (Semiring.toNonAssocSemiring.{u2} R _inst_2)) S (fun (_x : S) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : S) => R) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (RingHom.{u1, u2} S R (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_1)) (Semiring.toNonAssocSemiring.{u2} R _inst_2)) S R (NonUnitalNonAssocSemiring.toMul.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u1, u1, u2} (RingHom.{u1, u2} S R (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_1)) (Semiring.toNonAssocSemiring.{u2} R _inst_2)) S R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{max u2 u1, u1, u2} (RingHom.{u1, u2} S R (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_1)) (Semiring.toNonAssocSemiring.{u2} R _inst_2)) S R (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_1)) (Semiring.toNonAssocSemiring.{u2} R _inst_2) (RingHom.instRingHomClassRingHom.{u1, u2} S R (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_1)) (Semiring.toNonAssocSemiring.{u2} R _inst_2))))) (algebraMap.{u1, u2} S R _inst_1 _inst_2 _inst_5) s))
+<too large>
 Case conversion may be inaccurate. Consider using '#align triv_sq_zero_ext.algebra_map_eq_inl' TrivSqZeroExt.algebraMap_eq_inl'ₓ'. -/
 theorem algebraMap_eq_inl' (s : S) : algebraMap S (tsze R M) s = inl (algebraMap S R s) :=
   rfl
@@ -1090,10 +1078,7 @@ def fstHom : tsze R M →ₐ[S] R where
 variable {R R' S M}
 
 /- warning: triv_sq_zero_ext.alg_hom_ext -> TrivSqZeroExt.algHom_ext is a dubious translation:
-lean 3 declaration is
-  forall {R' : Type.{u1}} {M : Type.{u2}} [_inst_3 : CommSemiring.{u1} R'] [_inst_4 : AddCommMonoid.{u2} M] [_inst_13 : Module.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4] [_inst_14 : Module.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4] [_inst_15 : IsCentralScalar.{u1, u2} R' M (SMulZeroClass.toHasSmul.{u1, u2} R' M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} R' M (MulZeroClass.toHasZero.{u1} R' (MulZeroOneClass.toMulZeroClass.{u1} R' (MonoidWithZero.toMulZeroOneClass.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toHasSmul.{u1, u2} (MulOpposite.{u1} R') M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MulZeroClass.toHasZero.{u1} (MulOpposite.{u1} R') (MulZeroOneClass.toMulZeroClass.{u1} (MulOpposite.{u1} R') (MonoidWithZero.toMulZeroOneClass.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14))))] {A : Type.{u3}} [_inst_17 : Semiring.{u3} A] [_inst_18 : Algebra.{u1, u3} R' A _inst_3 _inst_17] {{f : AlgHom.{u1, max u1 u2, u3} R' (TrivSqZeroExt.{u1, u2} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u1, u1, u2} R' _inst_3 (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (MulOpposite.algebra.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u1, u1, u2} R' R' M (SMulZeroClass.toHasSmul.{u1, u2} R' M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} R' M (MulZeroClass.toHasZero.{u1} R' (MulZeroOneClass.toMulZeroClass.{u1} R' (MonoidWithZero.toMulZeroOneClass.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (Mul.toSMul.{u1} R' (Distrib.toHasMul.{u1} R' (NonUnitalNonAssocSemiring.toDistrib.{u1} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (MulAction.toHasSmul.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13))) (SMulZeroClass.toHasSmul.{u1, u2} (MulOpposite.{u1} R') M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MulZeroClass.toHasZero.{u1} (MulOpposite.{u1} R') (MulZeroOneClass.toMulZeroClass.{u1} (MulOpposite.{u1} R') (MonoidWithZero.toMulZeroOneClass.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.algebra.{u1, u2} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18}} {{g : AlgHom.{u1, max u1 u2, u3} R' (TrivSqZeroExt.{u1, u2} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u1, u1, u2} R' _inst_3 (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (MulOpposite.algebra.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u1, u1, u2} R' R' M (SMulZeroClass.toHasSmul.{u1, u2} R' M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} R' M (MulZeroClass.toHasZero.{u1} R' (MulZeroOneClass.toMulZeroClass.{u1} R' (MonoidWithZero.toMulZeroOneClass.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (Mul.toSMul.{u1} R' (Distrib.toHasMul.{u1} R' (NonUnitalNonAssocSemiring.toDistrib.{u1} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (MulAction.toHasSmul.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13))) (SMulZeroClass.toHasSmul.{u1, u2} (MulOpposite.{u1} R') M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MulZeroClass.toHasZero.{u1} (MulOpposite.{u1} R') (MulZeroOneClass.toMulZeroClass.{u1} (MulOpposite.{u1} R') (MonoidWithZero.toMulZeroOneClass.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.algebra.{u1, u2} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18}}, (forall (m : M), Eq.{succ u3} A (coeFn.{max (succ (max u1 u2)) (succ u3), max (succ (max u1 u2)) (succ u3)} (AlgHom.{u1, max u1 u2, u3} R' (TrivSqZeroExt.{u1, u2} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u1, u1, u2} R' _inst_3 (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (MulOpposite.algebra.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u1, u1, u2} R' R' M (SMulZeroClass.toHasSmul.{u1, u2} R' M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} R' M (MulZeroClass.toHasZero.{u1} R' (MulZeroOneClass.toMulZeroClass.{u1} R' (MonoidWithZero.toMulZeroOneClass.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (Mul.toSMul.{u1} R' (Distrib.toHasMul.{u1} R' (NonUnitalNonAssocSemiring.toDistrib.{u1} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (MulAction.toHasSmul.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13))) (SMulZeroClass.toHasSmul.{u1, u2} (MulOpposite.{u1} R') M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MulZeroClass.toHasZero.{u1} (MulOpposite.{u1} R') (MulZeroOneClass.toMulZeroClass.{u1} (MulOpposite.{u1} R') (MonoidWithZero.toMulZeroOneClass.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.algebra.{u1, u2} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18) (fun (_x : AlgHom.{u1, max u1 u2, u3} R' (TrivSqZeroExt.{u1, u2} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u1, u1, u2} R' _inst_3 (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (MulOpposite.algebra.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u1, u1, u2} R' R' M (SMulZeroClass.toHasSmul.{u1, u2} R' M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} R' M (MulZeroClass.toHasZero.{u1} R' (MulZeroOneClass.toMulZeroClass.{u1} R' (MonoidWithZero.toMulZeroOneClass.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (Mul.toSMul.{u1} R' (Distrib.toHasMul.{u1} R' (NonUnitalNonAssocSemiring.toDistrib.{u1} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (MulAction.toHasSmul.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13))) (SMulZeroClass.toHasSmul.{u1, u2} (MulOpposite.{u1} R') M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MulZeroClass.toHasZero.{u1} (MulOpposite.{u1} R') (MulZeroOneClass.toMulZeroClass.{u1} (MulOpposite.{u1} R') (MonoidWithZero.toMulZeroOneClass.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.algebra.{u1, u2} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18) => (TrivSqZeroExt.{u1, u2} R' M) -> A) ([anonymous].{u1, max u1 u2, u3} R' (TrivSqZeroExt.{u1, u2} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u1, u1, u2} R' _inst_3 (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (MulOpposite.algebra.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u1, u1, u2} R' R' M (SMulZeroClass.toHasSmul.{u1, u2} R' M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} R' M (MulZeroClass.toHasZero.{u1} R' (MulZeroOneClass.toMulZeroClass.{u1} R' (MonoidWithZero.toMulZeroOneClass.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (Mul.toSMul.{u1} R' (Distrib.toHasMul.{u1} R' (NonUnitalNonAssocSemiring.toDistrib.{u1} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (MulAction.toHasSmul.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13))) (SMulZeroClass.toHasSmul.{u1, u2} (MulOpposite.{u1} R') M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MulZeroClass.toHasZero.{u1} (MulOpposite.{u1} R') (MulZeroOneClass.toMulZeroClass.{u1} (MulOpposite.{u1} R') (MonoidWithZero.toMulZeroOneClass.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.algebra.{u1, u2} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18) f (TrivSqZeroExt.inr.{u1, u2} R' M (MulZeroClass.toHasZero.{u1} R' (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))))) m)) (coeFn.{max (succ (max u1 u2)) (succ u3), max (succ (max u1 u2)) (succ u3)} (AlgHom.{u1, max u1 u2, u3} R' (TrivSqZeroExt.{u1, u2} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u1, u1, u2} R' _inst_3 (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (MulOpposite.algebra.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u1, u1, u2} R' R' M (SMulZeroClass.toHasSmul.{u1, u2} R' M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} R' M (MulZeroClass.toHasZero.{u1} R' (MulZeroOneClass.toMulZeroClass.{u1} R' (MonoidWithZero.toMulZeroOneClass.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (Mul.toSMul.{u1} R' (Distrib.toHasMul.{u1} R' (NonUnitalNonAssocSemiring.toDistrib.{u1} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (MulAction.toHasSmul.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13))) (SMulZeroClass.toHasSmul.{u1, u2} (MulOpposite.{u1} R') M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MulZeroClass.toHasZero.{u1} (MulOpposite.{u1} R') (MulZeroOneClass.toMulZeroClass.{u1} (MulOpposite.{u1} R') (MonoidWithZero.toMulZeroOneClass.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.algebra.{u1, u2} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18) (fun (_x : AlgHom.{u1, max u1 u2, u3} R' (TrivSqZeroExt.{u1, u2} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u1, u1, u2} R' _inst_3 (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (MulOpposite.algebra.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u1, u1, u2} R' R' M (SMulZeroClass.toHasSmul.{u1, u2} R' M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} R' M (MulZeroClass.toHasZero.{u1} R' (MulZeroOneClass.toMulZeroClass.{u1} R' (MonoidWithZero.toMulZeroOneClass.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (Mul.toSMul.{u1} R' (Distrib.toHasMul.{u1} R' (NonUnitalNonAssocSemiring.toDistrib.{u1} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (MulAction.toHasSmul.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13))) (SMulZeroClass.toHasSmul.{u1, u2} (MulOpposite.{u1} R') M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MulZeroClass.toHasZero.{u1} (MulOpposite.{u1} R') (MulZeroOneClass.toMulZeroClass.{u1} (MulOpposite.{u1} R') (MonoidWithZero.toMulZeroOneClass.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.algebra.{u1, u2} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18) => (TrivSqZeroExt.{u1, u2} R' M) -> A) ([anonymous].{u1, max u1 u2, u3} R' (TrivSqZeroExt.{u1, u2} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u1, u1, u2} R' _inst_3 (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (MulOpposite.algebra.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u1, u1, u2} R' R' M (SMulZeroClass.toHasSmul.{u1, u2} R' M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} R' M (MulZeroClass.toHasZero.{u1} R' (MulZeroOneClass.toMulZeroClass.{u1} R' (MonoidWithZero.toMulZeroOneClass.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (Mul.toSMul.{u1} R' (Distrib.toHasMul.{u1} R' (NonUnitalNonAssocSemiring.toDistrib.{u1} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (MulAction.toHasSmul.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13))) (SMulZeroClass.toHasSmul.{u1, u2} (MulOpposite.{u1} R') M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MulZeroClass.toHasZero.{u1} (MulOpposite.{u1} R') (MulZeroOneClass.toMulZeroClass.{u1} (MulOpposite.{u1} R') (MonoidWithZero.toMulZeroOneClass.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.algebra.{u1, u2} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18) g (TrivSqZeroExt.inr.{u1, u2} R' M (MulZeroClass.toHasZero.{u1} R' (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))))) m))) -> (Eq.{max (succ (max u1 u2)) (succ u3)} (AlgHom.{u1, max u1 u2, u3} R' (TrivSqZeroExt.{u1, u2} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u1, u1, u2} R' _inst_3 (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (MulOpposite.algebra.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u1, u1, u2} R' R' M (SMulZeroClass.toHasSmul.{u1, u2} R' M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} R' M (MulZeroClass.toHasZero.{u1} R' (MulZeroOneClass.toMulZeroClass.{u1} R' (MonoidWithZero.toMulZeroOneClass.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (Mul.toSMul.{u1} R' (Distrib.toHasMul.{u1} R' (NonUnitalNonAssocSemiring.toDistrib.{u1} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (MulAction.toHasSmul.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13))) (SMulZeroClass.toHasSmul.{u1, u2} (MulOpposite.{u1} R') M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MulZeroClass.toHasZero.{u1} (MulOpposite.{u1} R') (MulZeroOneClass.toMulZeroClass.{u1} (MulOpposite.{u1} R') (MonoidWithZero.toMulZeroOneClass.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.algebra.{u1, u2} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18) f g)
-but is expected to have type
-  forall {R' : Type.{u2}} {M : Type.{u3}} [_inst_3 : CommSemiring.{u2} R'] [_inst_4 : AddCommMonoid.{u3} M] [_inst_13 : Module.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4] [_inst_14 : Module.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4] [_inst_15 : IsCentralScalar.{u2, u3} R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.zero.{u2} R' (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.monoidWithZero.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14))))] {A : Type.{u1}} [_inst_17 : Semiring.{u1} A] [_inst_18 : Algebra.{u2, u1} R' A _inst_3 _inst_17] {{f : AlgHom.{u2, max u3 u2, u1} R' (TrivSqZeroExt.{u2, u3} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeSemiringInstAlgebraMulOppositeSemiringIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18}} {{g : AlgHom.{u2, max u3 u2, u1} R' (TrivSqZeroExt.{u2, u3} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeSemiringInstAlgebraMulOppositeSemiringIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18}}, (forall (m : M), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : TrivSqZeroExt.{u2, u3} R' M) => A) (TrivSqZeroExt.inr.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) m)) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u3), succ u1} (AlgHom.{u2, max u3 u2, u1} R' (TrivSqZeroExt.{u2, u3} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeSemiringInstAlgebraMulOppositeSemiringIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18) (TrivSqZeroExt.{u2, u3} R' M) (fun (_x : TrivSqZeroExt.{u2, u3} R' M) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : TrivSqZeroExt.{u2, u3} R' M) => A) _x) (SMulHomClass.toFunLike.{max (max u2 u3) u1, u2, max u2 u3, u1} (AlgHom.{u2, max u3 u2, u1} R' (TrivSqZeroExt.{u2, u3} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeSemiringInstAlgebraMulOppositeSemiringIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18) R' (TrivSqZeroExt.{u2, u3} R' M) A (SMulZeroClass.toSMul.{u2, max u2 u3} R' (TrivSqZeroExt.{u2, u3} R' M) (AddMonoid.toZero.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (AddCommMonoid.toAddMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (Semiring.toNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13))))))))))) (DistribSMul.toSMulZeroClass.{u2, max u2 u3} R' (TrivSqZeroExt.{u2, u3} R' M) (AddMonoid.toAddZeroClass.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (AddCommMonoid.toAddMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (Semiring.toNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13))))))))))) (DistribMulAction.toDistribSMul.{u2, max u2 u3} R' (TrivSqZeroExt.{u2, u3} R' M) (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddCommMonoid.toAddMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (Semiring.toNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))))))) (Module.toDistribMulAction.{u2, max u2 u3} R' (TrivSqZeroExt.{u2, u3} R' M) (CommSemiring.toSemiring.{u2} R' _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (Semiring.toNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13))))))))) (Algebra.toModule.{u2, max u2 u3} R' (TrivSqZeroExt.{u2, u3} R' M) _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeSemiringInstAlgebraMulOppositeSemiringIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15)))))) (SMulZeroClass.toSMul.{u2, u1} R' A (AddMonoid.toZero.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))))) (DistribSMul.toSMulZeroClass.{u2, u1} R' A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))))) (DistribMulAction.toDistribSMul.{u2, u1} R' A (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17)))) (Module.toDistribMulAction.{u2, u1} R' A (CommSemiring.toSemiring.{u2} R' _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))) (Algebra.toModule.{u2, u1} R' A _inst_3 _inst_17 _inst_18))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u2 u3) u1, u2, max u2 u3, u1} (AlgHom.{u2, max u3 u2, u1} R' (TrivSqZeroExt.{u2, u3} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeSemiringInstAlgebraMulOppositeSemiringIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18) R' (TrivSqZeroExt.{u2, u3} R' M) A (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddCommMonoid.toAddMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (Semiring.toNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))))))) (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17)))) (Module.toDistribMulAction.{u2, max u2 u3} R' (TrivSqZeroExt.{u2, u3} R' M) (CommSemiring.toSemiring.{u2} R' _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (Semiring.toNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13))))))))) (Algebra.toModule.{u2, max u2 u3} R' (TrivSqZeroExt.{u2, u3} R' M) _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeSemiringInstAlgebraMulOppositeSemiringIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15))) (Module.toDistribMulAction.{u2, u1} R' A (CommSemiring.toSemiring.{u2} R' _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))) (Algebra.toModule.{u2, u1} R' A _inst_3 _inst_17 _inst_18)) (SemilinearMapClass.distribMulActionHomClass.{u2, max u2 u3, u1, max (max u2 u3) u1} R' (TrivSqZeroExt.{u2, u3} R' M) A (AlgHom.{u2, max u3 u2, u1} R' (TrivSqZeroExt.{u2, u3} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeSemiringInstAlgebraMulOppositeSemiringIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18) (CommSemiring.toSemiring.{u2} R' _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (Semiring.toNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13))))))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))) (Algebra.toModule.{u2, max u2 u3} R' (TrivSqZeroExt.{u2, u3} R' M) _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeSemiringInstAlgebraMulOppositeSemiringIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15)) (Algebra.toModule.{u2, u1} R' A _inst_3 _inst_17 _inst_18) (AlgHomClass.linearMapClass.{u2, max u2 u3, u1, max (max u2 u3) u1} R' (TrivSqZeroExt.{u2, u3} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeSemiringInstAlgebraMulOppositeSemiringIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18 (AlgHom.{u2, max u3 u2, u1} R' (TrivSqZeroExt.{u2, u3} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeSemiringInstAlgebraMulOppositeSemiringIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18) (AlgHom.algHomClass.{u2, max u2 u3, u1} R' (TrivSqZeroExt.{u2, u3} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeSemiringInstAlgebraMulOppositeSemiringIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18))))) f (TrivSqZeroExt.inr.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) m)) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u3), succ u1} (AlgHom.{u2, max u3 u2, u1} R' (TrivSqZeroExt.{u2, u3} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeSemiringInstAlgebraMulOppositeSemiringIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18) (TrivSqZeroExt.{u2, u3} R' M) (fun (_x : TrivSqZeroExt.{u2, u3} R' M) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : TrivSqZeroExt.{u2, u3} R' M) => A) _x) (SMulHomClass.toFunLike.{max (max u2 u3) u1, u2, max u2 u3, u1} (AlgHom.{u2, max u3 u2, u1} R' (TrivSqZeroExt.{u2, u3} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeSemiringInstAlgebraMulOppositeSemiringIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18) R' (TrivSqZeroExt.{u2, u3} R' M) A (SMulZeroClass.toSMul.{u2, max u2 u3} R' (TrivSqZeroExt.{u2, u3} R' M) (AddMonoid.toZero.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (AddCommMonoid.toAddMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (Semiring.toNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13))))))))))) (DistribSMul.toSMulZeroClass.{u2, max u2 u3} R' (TrivSqZeroExt.{u2, u3} R' M) (AddMonoid.toAddZeroClass.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (AddCommMonoid.toAddMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (Semiring.toNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13))))))))))) (DistribMulAction.toDistribSMul.{u2, max u2 u3} R' (TrivSqZeroExt.{u2, u3} R' M) (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddCommMonoid.toAddMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (Semiring.toNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))))))) (Module.toDistribMulAction.{u2, max u2 u3} R' (TrivSqZeroExt.{u2, u3} R' M) (CommSemiring.toSemiring.{u2} R' _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (Semiring.toNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13))))))))) (Algebra.toModule.{u2, max u2 u3} R' (TrivSqZeroExt.{u2, u3} R' M) _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeSemiringInstAlgebraMulOppositeSemiringIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15)))))) (SMulZeroClass.toSMul.{u2, u1} R' A (AddMonoid.toZero.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))))) (DistribSMul.toSMulZeroClass.{u2, u1} R' A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))))) (DistribMulAction.toDistribSMul.{u2, u1} R' A (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17)))) (Module.toDistribMulAction.{u2, u1} R' A (CommSemiring.toSemiring.{u2} R' _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))) (Algebra.toModule.{u2, u1} R' A _inst_3 _inst_17 _inst_18))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u2 u3) u1, u2, max u2 u3, u1} (AlgHom.{u2, max u3 u2, u1} R' (TrivSqZeroExt.{u2, u3} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeSemiringInstAlgebraMulOppositeSemiringIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18) R' (TrivSqZeroExt.{u2, u3} R' M) A (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddCommMonoid.toAddMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (Semiring.toNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))))))) (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17)))) (Module.toDistribMulAction.{u2, max u2 u3} R' (TrivSqZeroExt.{u2, u3} R' M) (CommSemiring.toSemiring.{u2} R' _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (Semiring.toNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13))))))))) (Algebra.toModule.{u2, max u2 u3} R' (TrivSqZeroExt.{u2, u3} R' M) _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeSemiringInstAlgebraMulOppositeSemiringIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15))) (Module.toDistribMulAction.{u2, u1} R' A (CommSemiring.toSemiring.{u2} R' _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))) (Algebra.toModule.{u2, u1} R' A _inst_3 _inst_17 _inst_18)) (SemilinearMapClass.distribMulActionHomClass.{u2, max u2 u3, u1, max (max u2 u3) u1} R' (TrivSqZeroExt.{u2, u3} R' M) A (AlgHom.{u2, max u3 u2, u1} R' (TrivSqZeroExt.{u2, u3} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeSemiringInstAlgebraMulOppositeSemiringIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18) (CommSemiring.toSemiring.{u2} R' _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (Semiring.toNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13))))))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))) (Algebra.toModule.{u2, max u2 u3} R' (TrivSqZeroExt.{u2, u3} R' M) _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeSemiringInstAlgebraMulOppositeSemiringIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15)) (Algebra.toModule.{u2, u1} R' A _inst_3 _inst_17 _inst_18) (AlgHomClass.linearMapClass.{u2, max u2 u3, u1, max (max u2 u3) u1} R' (TrivSqZeroExt.{u2, u3} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeSemiringInstAlgebraMulOppositeSemiringIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18 (AlgHom.{u2, max u3 u2, u1} R' (TrivSqZeroExt.{u2, u3} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeSemiringInstAlgebraMulOppositeSemiringIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18) (AlgHom.algHomClass.{u2, max u2 u3, u1} R' (TrivSqZeroExt.{u2, u3} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeSemiringInstAlgebraMulOppositeSemiringIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18))))) g (TrivSqZeroExt.inr.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) m))) -> (Eq.{max (max (succ u2) (succ u3)) (succ u1)} (AlgHom.{u2, max u3 u2, u1} R' (TrivSqZeroExt.{u2, u3} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeSemiringInstAlgebraMulOppositeSemiringIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18) f g)
+<too large>
 Case conversion may be inaccurate. Consider using '#align triv_sq_zero_ext.alg_hom_ext TrivSqZeroExt.algHom_extₓ'. -/
 theorem algHom_ext {A} [Semiring A] [Algebra R' A] ⦃f g : tsze R' M →ₐ[R'] A⦄
     (h : ∀ m, f (inr m) = g (inr m)) : f = g :=
@@ -1102,10 +1087,7 @@ theorem algHom_ext {A} [Semiring A] [Algebra R' A] ⦃f g : tsze R' M →ₐ[R']
 #align triv_sq_zero_ext.alg_hom_ext TrivSqZeroExt.algHom_ext
 
 /- warning: triv_sq_zero_ext.alg_hom_ext' -> TrivSqZeroExt.algHom_ext' is a dubious translation:
-lean 3 declaration is
-  forall {R' : Type.{u1}} {M : Type.{u2}} [_inst_3 : CommSemiring.{u1} R'] [_inst_4 : AddCommMonoid.{u2} M] [_inst_13 : Module.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4] [_inst_14 : Module.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4] [_inst_15 : IsCentralScalar.{u1, u2} R' M (SMulZeroClass.toHasSmul.{u1, u2} R' M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} R' M (MulZeroClass.toHasZero.{u1} R' (MulZeroOneClass.toMulZeroClass.{u1} R' (MonoidWithZero.toMulZeroOneClass.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toHasSmul.{u1, u2} (MulOpposite.{u1} R') M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MulZeroClass.toHasZero.{u1} (MulOpposite.{u1} R') (MulZeroOneClass.toMulZeroClass.{u1} (MulOpposite.{u1} R') (MonoidWithZero.toMulZeroOneClass.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14))))] {A : Type.{u3}} [_inst_17 : Semiring.{u3} A] [_inst_18 : Algebra.{u1, u3} R' A _inst_3 _inst_17] {{f : AlgHom.{u1, max u1 u2, u3} R' (TrivSqZeroExt.{u1, u2} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u1, u1, u2} R' _inst_3 (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (MulOpposite.algebra.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u1, u1, u2} R' R' M (SMulZeroClass.toHasSmul.{u1, u2} R' M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} R' M (MulZeroClass.toHasZero.{u1} R' (MulZeroOneClass.toMulZeroClass.{u1} R' (MonoidWithZero.toMulZeroOneClass.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (Mul.toSMul.{u1} R' (Distrib.toHasMul.{u1} R' (NonUnitalNonAssocSemiring.toDistrib.{u1} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (MulAction.toHasSmul.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13))) (SMulZeroClass.toHasSmul.{u1, u2} (MulOpposite.{u1} R') M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MulZeroClass.toHasZero.{u1} (MulOpposite.{u1} R') (MulZeroOneClass.toMulZeroClass.{u1} (MulOpposite.{u1} R') (MonoidWithZero.toMulZeroOneClass.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.algebra.{u1, u2} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18}} {{g : AlgHom.{u1, max u1 u2, u3} R' (TrivSqZeroExt.{u1, u2} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u1, u1, u2} R' _inst_3 (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (MulOpposite.algebra.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u1, u1, u2} R' R' M (SMulZeroClass.toHasSmul.{u1, u2} R' M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} R' M (MulZeroClass.toHasZero.{u1} R' (MulZeroOneClass.toMulZeroClass.{u1} R' (MonoidWithZero.toMulZeroOneClass.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (Mul.toSMul.{u1} R' (Distrib.toHasMul.{u1} R' (NonUnitalNonAssocSemiring.toDistrib.{u1} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (MulAction.toHasSmul.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13))) (SMulZeroClass.toHasSmul.{u1, u2} (MulOpposite.{u1} R') M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MulZeroClass.toHasZero.{u1} (MulOpposite.{u1} R') (MulZeroOneClass.toMulZeroClass.{u1} (MulOpposite.{u1} R') (MonoidWithZero.toMulZeroOneClass.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.algebra.{u1, u2} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18}}, (Eq.{max (succ u2) (succ u3)} (LinearMap.{u1, u1, u2, u3} R' R' (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18)) (LinearMap.comp.{u1, u1, u1, u2, max u1 u2, u3} R' R' R' M (TrivSqZeroExt.{u1, u2} R' M) A (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u2} (TrivSqZeroExt.{u1, u2} R' M) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (TrivSqZeroExt.{u1, u2} R' M) (Semiring.toNonAssocSemiring.{max u1 u2} (TrivSqZeroExt.{u1, u2} R' M) (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u1, u1, u2} R' _inst_3 (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (MulOpposite.algebra.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u1, u1, u2} R' R' M (SMulZeroClass.toHasSmul.{u1, u2} R' M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} R' M (MulZeroClass.toHasZero.{u1} R' (MulZeroOneClass.toMulZeroClass.{u1} R' (MonoidWithZero.toMulZeroOneClass.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (Mul.toSMul.{u1} R' (Distrib.toHasMul.{u1} R' (NonUnitalNonAssocSemiring.toDistrib.{u1} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (MulAction.toHasSmul.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13))) (SMulZeroClass.toHasSmul.{u1, u2} (MulOpposite.{u1} R') M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MulZeroClass.toHasZero.{u1} (MulOpposite.{u1} R') (MulZeroOneClass.toMulZeroClass.{u1} (MulOpposite.{u1} R') (MonoidWithZero.toMulZeroOneClass.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13))))))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, max u1 u2} R' (TrivSqZeroExt.{u1, u2} R' M) _inst_3 (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u1, u1, u2} R' _inst_3 (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (MulOpposite.algebra.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u1, u1, u2} R' R' M (SMulZeroClass.toHasSmul.{u1, u2} R' M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} R' M (MulZeroClass.toHasZero.{u1} R' (MulZeroOneClass.toMulZeroClass.{u1} R' (MonoidWithZero.toMulZeroOneClass.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (Mul.toSMul.{u1} R' (Distrib.toHasMul.{u1} R' (NonUnitalNonAssocSemiring.toDistrib.{u1} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (MulAction.toHasSmul.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13))) (SMulZeroClass.toHasSmul.{u1, u2} (MulOpposite.{u1} R') M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MulZeroClass.toHasZero.{u1} (MulOpposite.{u1} R') (MulZeroOneClass.toMulZeroClass.{u1} (MulOpposite.{u1} R') (MonoidWithZero.toMulZeroOneClass.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))))) (TrivSqZeroExt.algebra.{u1, u2} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15)) (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (RingHomCompTriple.right_ids.{u1, u1} R' R' (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))) (AlgHom.toLinearMap.{u1, max u1 u2, u3} R' (TrivSqZeroExt.{u1, u2} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u1, u1, u2} R' _inst_3 (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (MulOpposite.algebra.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u1, u1, u2} R' R' M (SMulZeroClass.toHasSmul.{u1, u2} R' M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} R' M (MulZeroClass.toHasZero.{u1} R' (MulZeroOneClass.toMulZeroClass.{u1} R' (MonoidWithZero.toMulZeroOneClass.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (Mul.toSMul.{u1} R' (Distrib.toHasMul.{u1} R' (NonUnitalNonAssocSemiring.toDistrib.{u1} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (MulAction.toHasSmul.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13))) (SMulZeroClass.toHasSmul.{u1, u2} (MulOpposite.{u1} R') M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MulZeroClass.toHasZero.{u1} (MulOpposite.{u1} R') (MulZeroOneClass.toMulZeroClass.{u1} (MulOpposite.{u1} R') (MonoidWithZero.toMulZeroOneClass.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.algebra.{u1, u2} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18 f) (TrivSqZeroExt.inrHom.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)) (LinearMap.comp.{u1, u1, u1, u2, max u1 u2, u3} R' R' R' M (TrivSqZeroExt.{u1, u2} R' M) A (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u2} (TrivSqZeroExt.{u1, u2} R' M) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (TrivSqZeroExt.{u1, u2} R' M) (Semiring.toNonAssocSemiring.{max u1 u2} (TrivSqZeroExt.{u1, u2} R' M) (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u1, u1, u2} R' _inst_3 (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (MulOpposite.algebra.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u1, u1, u2} R' R' M (SMulZeroClass.toHasSmul.{u1, u2} R' M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} R' M (MulZeroClass.toHasZero.{u1} R' (MulZeroOneClass.toMulZeroClass.{u1} R' (MonoidWithZero.toMulZeroOneClass.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (Mul.toSMul.{u1} R' (Distrib.toHasMul.{u1} R' (NonUnitalNonAssocSemiring.toDistrib.{u1} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (MulAction.toHasSmul.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13))) (SMulZeroClass.toHasSmul.{u1, u2} (MulOpposite.{u1} R') M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MulZeroClass.toHasZero.{u1} (MulOpposite.{u1} R') (MulZeroOneClass.toMulZeroClass.{u1} (MulOpposite.{u1} R') (MonoidWithZero.toMulZeroOneClass.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13))))))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, max u1 u2} R' (TrivSqZeroExt.{u1, u2} R' M) _inst_3 (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u1, u1, u2} R' _inst_3 (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (MulOpposite.algebra.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u1, u1, u2} R' R' M (SMulZeroClass.toHasSmul.{u1, u2} R' M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} R' M (MulZeroClass.toHasZero.{u1} R' (MulZeroOneClass.toMulZeroClass.{u1} R' (MonoidWithZero.toMulZeroOneClass.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (Mul.toSMul.{u1} R' (Distrib.toHasMul.{u1} R' (NonUnitalNonAssocSemiring.toDistrib.{u1} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (MulAction.toHasSmul.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13))) (SMulZeroClass.toHasSmul.{u1, u2} (MulOpposite.{u1} R') M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MulZeroClass.toHasZero.{u1} (MulOpposite.{u1} R') (MulZeroOneClass.toMulZeroClass.{u1} (MulOpposite.{u1} R') (MonoidWithZero.toMulZeroOneClass.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))))) (TrivSqZeroExt.algebra.{u1, u2} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15)) (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (RingHomCompTriple.right_ids.{u1, u1} R' R' (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))) (AlgHom.toLinearMap.{u1, max u1 u2, u3} R' (TrivSqZeroExt.{u1, u2} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u1, u1, u2} R' _inst_3 (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (MulOpposite.algebra.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u1, u1, u2} R' R' M (SMulZeroClass.toHasSmul.{u1, u2} R' M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} R' M (MulZeroClass.toHasZero.{u1} R' (MulZeroOneClass.toMulZeroClass.{u1} R' (MonoidWithZero.toMulZeroOneClass.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (Mul.toSMul.{u1} R' (Distrib.toHasMul.{u1} R' (NonUnitalNonAssocSemiring.toDistrib.{u1} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (MulAction.toHasSmul.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13))) (SMulZeroClass.toHasSmul.{u1, u2} (MulOpposite.{u1} R') M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MulZeroClass.toHasZero.{u1} (MulOpposite.{u1} R') (MulZeroOneClass.toMulZeroClass.{u1} (MulOpposite.{u1} R') (MonoidWithZero.toMulZeroOneClass.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.algebra.{u1, u2} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18 g) (TrivSqZeroExt.inrHom.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13))) -> (Eq.{max (succ (max u1 u2)) (succ u3)} (AlgHom.{u1, max u1 u2, u3} R' (TrivSqZeroExt.{u1, u2} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u1, u1, u2} R' _inst_3 (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (MulOpposite.algebra.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u1, u1, u2} R' R' M (SMulZeroClass.toHasSmul.{u1, u2} R' M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} R' M (MulZeroClass.toHasZero.{u1} R' (MulZeroOneClass.toMulZeroClass.{u1} R' (MonoidWithZero.toMulZeroOneClass.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (Mul.toSMul.{u1} R' (Distrib.toHasMul.{u1} R' (NonUnitalNonAssocSemiring.toDistrib.{u1} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (MulAction.toHasSmul.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13))) (SMulZeroClass.toHasSmul.{u1, u2} (MulOpposite.{u1} R') M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MulZeroClass.toHasZero.{u1} (MulOpposite.{u1} R') (MulZeroOneClass.toMulZeroClass.{u1} (MulOpposite.{u1} R') (MonoidWithZero.toMulZeroOneClass.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.algebra.{u1, u2} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18) f g)
-but is expected to have type
-  forall {R' : Type.{u2}} {M : Type.{u3}} [_inst_3 : CommSemiring.{u2} R'] [_inst_4 : AddCommMonoid.{u3} M] [_inst_13 : Module.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4] [_inst_14 : Module.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4] [_inst_15 : IsCentralScalar.{u2, u3} R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.zero.{u2} R' (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.monoidWithZero.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14))))] {A : Type.{u1}} [_inst_17 : Semiring.{u1} A] [_inst_18 : Algebra.{u2, u1} R' A _inst_3 _inst_17] {{f : AlgHom.{u2, max u3 u2, u1} R' (TrivSqZeroExt.{u2, u3} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeSemiringInstAlgebraMulOppositeSemiringIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18}} {{g : AlgHom.{u2, max u3 u2, u1} R' (TrivSqZeroExt.{u2, u3} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeSemiringInstAlgebraMulOppositeSemiringIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18}}, (Eq.{max (succ u3) (succ u1)} (LinearMap.{u2, u2, u3, u1} R' R' (CommSemiring.toSemiring.{u2} R' _inst_3) (CommSemiring.toSemiring.{u2} R' _inst_3) (RingHom.id.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))) _inst_13 (Algebra.toModule.{u2, u1} R' A _inst_3 _inst_17 _inst_18)) (LinearMap.comp.{u2, u2, u2, u3, max u2 u3, u1} R' R' R' M (TrivSqZeroExt.{u2, u3} R' M) A (CommSemiring.toSemiring.{u2} R' _inst_3) (CommSemiring.toSemiring.{u2} R' _inst_3) (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (Semiring.toNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13))))))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))) _inst_13 (Algebra.toModule.{u2, max u2 u3} R' (TrivSqZeroExt.{u2, u3} R' M) _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeSemiringInstAlgebraMulOppositeSemiringIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15)) (Algebra.toModule.{u2, u1} R' A _inst_3 _inst_17 _inst_18) (RingHom.id.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (RingHom.id.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (RingHom.id.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (RingHomCompTriple.ids.{u2, u2} R' R' (CommSemiring.toSemiring.{u2} R' _inst_3) (CommSemiring.toSemiring.{u2} R' _inst_3) (RingHom.id.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AlgHom.toLinearMap.{u2, max u2 u3, u1} R' (TrivSqZeroExt.{u2, u3} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeSemiringInstAlgebraMulOppositeSemiringIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18 f) (TrivSqZeroExt.inrHom.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)) (LinearMap.comp.{u2, u2, u2, u3, max u2 u3, u1} R' R' R' M (TrivSqZeroExt.{u2, u3} R' M) A (CommSemiring.toSemiring.{u2} R' _inst_3) (CommSemiring.toSemiring.{u2} R' _inst_3) (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (Semiring.toNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13))))))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))) _inst_13 (Algebra.toModule.{u2, max u2 u3} R' (TrivSqZeroExt.{u2, u3} R' M) _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeSemiringInstAlgebraMulOppositeSemiringIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15)) (Algebra.toModule.{u2, u1} R' A _inst_3 _inst_17 _inst_18) (RingHom.id.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (RingHom.id.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (RingHom.id.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (RingHomCompTriple.ids.{u2, u2} R' R' (CommSemiring.toSemiring.{u2} R' _inst_3) (CommSemiring.toSemiring.{u2} R' _inst_3) (RingHom.id.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AlgHom.toLinearMap.{u2, max u2 u3, u1} R' (TrivSqZeroExt.{u2, u3} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeSemiringInstAlgebraMulOppositeSemiringIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18 g) (TrivSqZeroExt.inrHom.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13))) -> (Eq.{max (max (succ u2) (succ u3)) (succ u1)} (AlgHom.{u2, max u3 u2, u1} R' (TrivSqZeroExt.{u2, u3} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeSemiringInstAlgebraMulOppositeSemiringIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18) f g)
+<too large>
 Case conversion may be inaccurate. Consider using '#align triv_sq_zero_ext.alg_hom_ext' TrivSqZeroExt.algHom_ext'ₓ'. -/
 @[ext]
 theorem algHom_ext' {A} [Semiring A] [Algebra R' A] ⦃f g : tsze R' M →ₐ[R'] A⦄
@@ -1116,10 +1098,7 @@ theorem algHom_ext' {A} [Semiring A] [Algebra R' A] ⦃f g : tsze R' M →ₐ[R'
 variable {A : Type _} [Semiring A] [Algebra R' A]
 
 /- warning: triv_sq_zero_ext.lift_aux -> TrivSqZeroExt.liftAux is a dubious translation:
-lean 3 declaration is
-  forall {R' : Type.{u1}} {M : Type.{u2}} [_inst_3 : CommSemiring.{u1} R'] [_inst_4 : AddCommMonoid.{u2} M] [_inst_13 : Module.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4] [_inst_14 : Module.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4] [_inst_15 : IsCentralScalar.{u1, u2} R' M (SMulZeroClass.toHasSmul.{u1, u2} R' M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} R' M (MulZeroClass.toHasZero.{u1} R' (MulZeroOneClass.toMulZeroClass.{u1} R' (MonoidWithZero.toMulZeroOneClass.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toHasSmul.{u1, u2} (MulOpposite.{u1} R') M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MulZeroClass.toHasZero.{u1} (MulOpposite.{u1} R') (MulZeroOneClass.toMulZeroClass.{u1} (MulOpposite.{u1} R') (MonoidWithZero.toMulZeroOneClass.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14))))] {A : Type.{u3}} [_inst_17 : Semiring.{u3} A] [_inst_18 : Algebra.{u1, u3} R' A _inst_3 _inst_17] (f : LinearMap.{u1, u1, u2, u3} R' R' (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18)), (forall (x : M) (y : M), Eq.{succ u3} A (HMul.hMul.{u3, u3, u3} A A A (instHMul.{u3} A (Distrib.toHasMul.{u3} A (NonUnitalNonAssocSemiring.toDistrib.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))))) (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearMap.{u1, u1, u2, u3} R' R' (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18)) (fun (_x : LinearMap.{u1, u1, u2, u3} R' R' (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18)) => M -> A) (LinearMap.hasCoeToFun.{u1, u1, u2, u3} R' R' M A (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))) f x) (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearMap.{u1, u1, u2, u3} R' R' (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18)) (fun (_x : LinearMap.{u1, u1, u2, u3} R' R' (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18)) => M -> A) (LinearMap.hasCoeToFun.{u1, u1, u2, u3} R' R' M A (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))) f y)) (OfNat.ofNat.{u3} A 0 (OfNat.mk.{u3} A 0 (Zero.zero.{u3} A (MulZeroClass.toHasZero.{u3} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17)))))))) -> (AlgHom.{u1, max u1 u2, u3} R' (TrivSqZeroExt.{u1, u2} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (TrivSqZeroExt.liftAux._proof_1.{u1, u2} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15)) _inst_17 (TrivSqZeroExt.algebra.{u1, u2} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18)
-but is expected to have type
-  forall {R' : Type.{u1}} {M : Type.{u2}} [_inst_3 : CommSemiring.{u1} R'] [_inst_4 : AddCommMonoid.{u2} M] [_inst_13 : Module.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4] [_inst_14 : Module.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4] [_inst_15 : IsCentralScalar.{u1, u2} R' M (SMulZeroClass.toSMul.{u1, u2} R' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u1, u2} (MulOpposite.{u1} R') M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.zero.{u1} R' (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.monoidWithZero.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14))))] {A : Type.{u3}} [_inst_17 : Semiring.{u3} A] [_inst_18 : Algebra.{u1, u3} R' A _inst_3 _inst_17] (f : LinearMap.{u1, u1, u2, u3} R' R' (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18)), (forall (x : M) (y : M), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => A) x) (HMul.hMul.{u3, u3, u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => A) x) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => A) y) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => A) x) (instHMul.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => A) x) (NonUnitalNonAssocSemiring.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => A) x) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => A) x) (Semiring.toNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => A) x) _inst_17)))) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (LinearMap.{u1, u1, u2, u3} R' R' (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18)) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => A) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u3} R' R' M A (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))) f x) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (LinearMap.{u1, u1, u2, u3} R' R' (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18)) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => A) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u3} R' R' M A (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))) f y)) (OfNat.ofNat.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => A) x) 0 (Zero.toOfNat0.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => A) x) (MonoidWithZero.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => A) x) (Semiring.toMonoidWithZero.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => A) x) _inst_17))))) -> (AlgHom.{u1, max u2 u1, u3} R' (TrivSqZeroExt.{u1, u2} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u1, u1, u2} R' _inst_3 (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u1, u1, u2} R' R' M (SMulZeroClass.toSMul.{u1, u2} R' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) (SMulZeroClass.toSMul.{u1, u2} R' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u1, u2} (MulOpposite.{u1} R') M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MonoidWithZero.toZero.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeSemiringInstAlgebraMulOppositeSemiringIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u1, u2} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18)
+<too large>
 Case conversion may be inaccurate. Consider using '#align triv_sq_zero_ext.lift_aux TrivSqZeroExt.liftAuxₓ'. -/
 /-- There is an alg_hom from the trivial square zero extension to any `R`-algebra with a submodule
 whose products are all zero.
@@ -1139,10 +1118,7 @@ def liftAux (f : M →ₗ[R'] A) (hf : ∀ x y, f x * f y = 0) : tsze R' M →
 #align triv_sq_zero_ext.lift_aux TrivSqZeroExt.liftAux
 
 /- warning: triv_sq_zero_ext.lift_aux_apply_inr -> TrivSqZeroExt.liftAux_apply_inr is a dubious translation:
-lean 3 declaration is
-  forall {R' : Type.{u1}} {M : Type.{u2}} [_inst_3 : CommSemiring.{u1} R'] [_inst_4 : AddCommMonoid.{u2} M] [_inst_13 : Module.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4] [_inst_14 : Module.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4] [_inst_15 : IsCentralScalar.{u1, u2} R' M (SMulZeroClass.toHasSmul.{u1, u2} R' M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} R' M (MulZeroClass.toHasZero.{u1} R' (MulZeroOneClass.toMulZeroClass.{u1} R' (MonoidWithZero.toMulZeroOneClass.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toHasSmul.{u1, u2} (MulOpposite.{u1} R') M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MulZeroClass.toHasZero.{u1} (MulOpposite.{u1} R') (MulZeroOneClass.toMulZeroClass.{u1} (MulOpposite.{u1} R') (MonoidWithZero.toMulZeroOneClass.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14))))] {A : Type.{u3}} [_inst_17 : Semiring.{u3} A] [_inst_18 : Algebra.{u1, u3} R' A _inst_3 _inst_17] (f : LinearMap.{u1, u1, u2, u3} R' R' (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18)) (hf : forall (x : M) (y : M), Eq.{succ u3} A (HMul.hMul.{u3, u3, u3} A A A (instHMul.{u3} A (Distrib.toHasMul.{u3} A (NonUnitalNonAssocSemiring.toDistrib.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))))) (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearMap.{u1, u1, u2, u3} R' R' (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18)) (fun (_x : LinearMap.{u1, u1, u2, u3} R' R' (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18)) => M -> A) (LinearMap.hasCoeToFun.{u1, u1, u2, u3} R' R' M A (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))) f x) (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearMap.{u1, u1, u2, u3} R' R' (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18)) (fun (_x : LinearMap.{u1, u1, u2, u3} R' R' (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18)) => M -> A) (LinearMap.hasCoeToFun.{u1, u1, u2, u3} R' R' M A (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))) f y)) (OfNat.ofNat.{u3} A 0 (OfNat.mk.{u3} A 0 (Zero.zero.{u3} A (MulZeroClass.toHasZero.{u3} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17)))))))) (m : M), Eq.{succ u3} A (coeFn.{max (succ (max u1 u2)) (succ u3), max (succ (max u1 u2)) (succ u3)} (AlgHom.{u1, max u1 u2, u3} R' (TrivSqZeroExt.{u1, u2} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (TrivSqZeroExt.liftAux._proof_1.{u1, u2} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15)) _inst_17 (TrivSqZeroExt.algebra.{u1, u2} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18) (fun (_x : AlgHom.{u1, max u1 u2, u3} R' (TrivSqZeroExt.{u1, u2} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (TrivSqZeroExt.liftAux._proof_1.{u1, u2} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15)) _inst_17 (TrivSqZeroExt.algebra.{u1, u2} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18) => (TrivSqZeroExt.{u1, u2} R' M) -> A) ([anonymous].{u1, max u1 u2, u3} R' (TrivSqZeroExt.{u1, u2} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (TrivSqZeroExt.liftAux._proof_1.{u1, u2} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15)) _inst_17 (TrivSqZeroExt.algebra.{u1, u2} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18) (TrivSqZeroExt.liftAux.{u1, u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15 A _inst_17 _inst_18 f hf) (TrivSqZeroExt.inr.{u1, u2} R' M (MulZeroClass.toHasZero.{u1} R' (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))))) m)) (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearMap.{u1, u1, u2, u3} R' R' (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18)) (fun (_x : LinearMap.{u1, u1, u2, u3} R' R' (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18)) => M -> A) (LinearMap.hasCoeToFun.{u1, u1, u2, u3} R' R' M A (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))) f m)
-but is expected to have type
-  forall {R' : Type.{u2}} {M : Type.{u3}} [_inst_3 : CommSemiring.{u2} R'] [_inst_4 : AddCommMonoid.{u3} M] [_inst_13 : Module.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4] [_inst_14 : Module.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4] [_inst_15 : IsCentralScalar.{u2, u3} R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.zero.{u2} R' (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.monoidWithZero.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14))))] {A : Type.{u1}} [_inst_17 : Semiring.{u1} A] [_inst_18 : Algebra.{u2, u1} R' A _inst_3 _inst_17] (f : LinearMap.{u2, u2, u3, u1} R' R' (CommSemiring.toSemiring.{u2} R' _inst_3) (CommSemiring.toSemiring.{u2} R' _inst_3) (RingHom.id.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))) _inst_13 (Algebra.toModule.{u2, u1} R' A _inst_3 _inst_17 _inst_18)) (hf : forall (x : M) (y : M), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => A) x) (HMul.hMul.{u1, u1, u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => A) x) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => A) y) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => A) x) (instHMul.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => A) x) (NonUnitalNonAssocSemiring.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => A) x) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => A) x) (Semiring.toNonAssocSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => A) x) _inst_17)))) (FunLike.coe.{max (succ u3) (succ u1), succ u3, succ u1} (LinearMap.{u2, u2, u3, u1} R' R' (CommSemiring.toSemiring.{u2} R' _inst_3) (CommSemiring.toSemiring.{u2} R' _inst_3) (RingHom.id.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))) _inst_13 (Algebra.toModule.{u2, u1} R' A _inst_3 _inst_17 _inst_18)) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => A) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u3, u1} R' R' M A (CommSemiring.toSemiring.{u2} R' _inst_3) (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))) _inst_13 (Algebra.toModule.{u2, u1} R' A _inst_3 _inst_17 _inst_18) (RingHom.id.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) f x) (FunLike.coe.{max (succ u3) (succ u1), succ u3, succ u1} (LinearMap.{u2, u2, u3, u1} R' R' (CommSemiring.toSemiring.{u2} R' _inst_3) (CommSemiring.toSemiring.{u2} R' _inst_3) (RingHom.id.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))) _inst_13 (Algebra.toModule.{u2, u1} R' A _inst_3 _inst_17 _inst_18)) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => A) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u3, u1} R' R' M A (CommSemiring.toSemiring.{u2} R' _inst_3) (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))) _inst_13 (Algebra.toModule.{u2, u1} R' A _inst_3 _inst_17 _inst_18) (RingHom.id.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) f y)) (OfNat.ofNat.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => A) x) 0 (Zero.toOfNat0.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => A) x) (MonoidWithZero.toZero.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => A) x) (Semiring.toMonoidWithZero.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => A) x) _inst_17))))) (m : M), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : TrivSqZeroExt.{u2, u3} R' M) => A) (TrivSqZeroExt.inr.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) m)) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u3), succ u1} (AlgHom.{u2, max u3 u2, u1} R' (TrivSqZeroExt.{u2, u3} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeSemiringInstAlgebraMulOppositeSemiringIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18) (TrivSqZeroExt.{u2, u3} R' M) (fun (_x : TrivSqZeroExt.{u2, u3} R' M) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : TrivSqZeroExt.{u2, u3} R' M) => A) _x) (SMulHomClass.toFunLike.{max (max u2 u3) u1, u2, max u2 u3, u1} (AlgHom.{u2, max u3 u2, u1} R' (TrivSqZeroExt.{u2, u3} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeSemiringInstAlgebraMulOppositeSemiringIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18) R' (TrivSqZeroExt.{u2, u3} R' M) A (SMulZeroClass.toSMul.{u2, max u2 u3} R' (TrivSqZeroExt.{u2, u3} R' M) (AddMonoid.toZero.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (AddCommMonoid.toAddMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (Semiring.toNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13))))))))))) (DistribSMul.toSMulZeroClass.{u2, max u2 u3} R' (TrivSqZeroExt.{u2, u3} R' M) (AddMonoid.toAddZeroClass.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (AddCommMonoid.toAddMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (Semiring.toNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13))))))))))) (DistribMulAction.toDistribSMul.{u2, max u2 u3} R' (TrivSqZeroExt.{u2, u3} R' M) (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddCommMonoid.toAddMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (Semiring.toNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))))))) (Module.toDistribMulAction.{u2, max u2 u3} R' (TrivSqZeroExt.{u2, u3} R' M) (CommSemiring.toSemiring.{u2} R' _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (Semiring.toNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13))))))))) (Algebra.toModule.{u2, max u2 u3} R' (TrivSqZeroExt.{u2, u3} R' M) _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeSemiringInstAlgebraMulOppositeSemiringIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15)))))) (SMulZeroClass.toSMul.{u2, u1} R' A (AddMonoid.toZero.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))))) (DistribSMul.toSMulZeroClass.{u2, u1} R' A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))))) (DistribMulAction.toDistribSMul.{u2, u1} R' A (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17)))) (Module.toDistribMulAction.{u2, u1} R' A (CommSemiring.toSemiring.{u2} R' _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))) (Algebra.toModule.{u2, u1} R' A _inst_3 _inst_17 _inst_18))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u2 u3) u1, u2, max u2 u3, u1} (AlgHom.{u2, max u3 u2, u1} R' (TrivSqZeroExt.{u2, u3} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeSemiringInstAlgebraMulOppositeSemiringIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18) R' (TrivSqZeroExt.{u2, u3} R' M) A (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddCommMonoid.toAddMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (Semiring.toNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))))))) (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17)))) (Module.toDistribMulAction.{u2, max u2 u3} R' (TrivSqZeroExt.{u2, u3} R' M) (CommSemiring.toSemiring.{u2} R' _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (Semiring.toNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13))))))))) (Algebra.toModule.{u2, max u2 u3} R' (TrivSqZeroExt.{u2, u3} R' M) _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeSemiringInstAlgebraMulOppositeSemiringIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15))) (Module.toDistribMulAction.{u2, u1} R' A (CommSemiring.toSemiring.{u2} R' _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))) (Algebra.toModule.{u2, u1} R' A _inst_3 _inst_17 _inst_18)) (SemilinearMapClass.distribMulActionHomClass.{u2, max u2 u3, u1, max (max u2 u3) u1} R' (TrivSqZeroExt.{u2, u3} R' M) A (AlgHom.{u2, max u3 u2, u1} R' (TrivSqZeroExt.{u2, u3} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeSemiringInstAlgebraMulOppositeSemiringIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18) (CommSemiring.toSemiring.{u2} R' _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (Semiring.toNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13))))))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))) (Algebra.toModule.{u2, max u2 u3} R' (TrivSqZeroExt.{u2, u3} R' M) _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeSemiringInstAlgebraMulOppositeSemiringIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15)) (Algebra.toModule.{u2, u1} R' A _inst_3 _inst_17 _inst_18) (AlgHomClass.linearMapClass.{u2, max u2 u3, u1, max (max u2 u3) u1} R' (TrivSqZeroExt.{u2, u3} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeSemiringInstAlgebraMulOppositeSemiringIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18 (AlgHom.{u2, max u3 u2, u1} R' (TrivSqZeroExt.{u2, u3} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeSemiringInstAlgebraMulOppositeSemiringIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18) (AlgHom.algHomClass.{u2, max u2 u3, u1} R' (TrivSqZeroExt.{u2, u3} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeSemiringInstAlgebraMulOppositeSemiringIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18))))) (TrivSqZeroExt.liftAux.{u2, u3, u1} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15 A _inst_17 _inst_18 f hf) (TrivSqZeroExt.inr.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) m)) (FunLike.coe.{max (succ u3) (succ u1), succ u3, succ u1} (LinearMap.{u2, u2, u3, u1} R' R' (CommSemiring.toSemiring.{u2} R' _inst_3) (CommSemiring.toSemiring.{u2} R' _inst_3) (RingHom.id.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))) _inst_13 (Algebra.toModule.{u2, u1} R' A _inst_3 _inst_17 _inst_18)) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => A) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u3, u1} R' R' M A (CommSemiring.toSemiring.{u2} R' _inst_3) (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))) _inst_13 (Algebra.toModule.{u2, u1} R' A _inst_3 _inst_17 _inst_18) (RingHom.id.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) f m)
+<too large>
 Case conversion may be inaccurate. Consider using '#align triv_sq_zero_ext.lift_aux_apply_inr TrivSqZeroExt.liftAux_apply_inrₓ'. -/
 @[simp]
 theorem liftAux_apply_inr (f : M →ₗ[R'] A) (hf : ∀ x y, f x * f y = 0) (m : M) :
@@ -1151,10 +1127,7 @@ theorem liftAux_apply_inr (f : M →ₗ[R'] A) (hf : ∀ x y, f x * f y = 0) (m
 #align triv_sq_zero_ext.lift_aux_apply_inr TrivSqZeroExt.liftAux_apply_inr
 
 /- warning: triv_sq_zero_ext.lift_aux_comp_inr_hom -> TrivSqZeroExt.liftAux_comp_inrHom is a dubious translation:
-lean 3 declaration is
-  forall {R' : Type.{u1}} {M : Type.{u2}} [_inst_3 : CommSemiring.{u1} R'] [_inst_4 : AddCommMonoid.{u2} M] [_inst_13 : Module.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4] [_inst_14 : Module.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4] [_inst_15 : IsCentralScalar.{u1, u2} R' M (SMulZeroClass.toHasSmul.{u1, u2} R' M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} R' M (MulZeroClass.toHasZero.{u1} R' (MulZeroOneClass.toMulZeroClass.{u1} R' (MonoidWithZero.toMulZeroOneClass.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toHasSmul.{u1, u2} (MulOpposite.{u1} R') M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MulZeroClass.toHasZero.{u1} (MulOpposite.{u1} R') (MulZeroOneClass.toMulZeroClass.{u1} (MulOpposite.{u1} R') (MonoidWithZero.toMulZeroOneClass.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14))))] {A : Type.{u3}} [_inst_17 : Semiring.{u3} A] [_inst_18 : Algebra.{u1, u3} R' A _inst_3 _inst_17] (f : LinearMap.{u1, u1, u2, u3} R' R' (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18)) (hf : forall (x : M) (y : M), Eq.{succ u3} A (HMul.hMul.{u3, u3, u3} A A A (instHMul.{u3} A (Distrib.toHasMul.{u3} A (NonUnitalNonAssocSemiring.toDistrib.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))))) (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearMap.{u1, u1, u2, u3} R' R' (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18)) (fun (_x : LinearMap.{u1, u1, u2, u3} R' R' (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18)) => M -> A) (LinearMap.hasCoeToFun.{u1, u1, u2, u3} R' R' M A (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))) f x) (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearMap.{u1, u1, u2, u3} R' R' (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18)) (fun (_x : LinearMap.{u1, u1, u2, u3} R' R' (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18)) => M -> A) (LinearMap.hasCoeToFun.{u1, u1, u2, u3} R' R' M A (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))) f y)) (OfNat.ofNat.{u3} A 0 (OfNat.mk.{u3} A 0 (Zero.zero.{u3} A (MulZeroClass.toHasZero.{u3} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17)))))))), Eq.{max (succ u2) (succ u3)} (LinearMap.{u1, u1, u2, u3} R' R' (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18)) (LinearMap.comp.{u1, u1, u1, u2, max u1 u2, u3} R' R' R' M (TrivSqZeroExt.{u1, u2} R' M) A (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u2} (TrivSqZeroExt.{u1, u2} R' M) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (TrivSqZeroExt.{u1, u2} R' M) (Semiring.toNonAssocSemiring.{max u1 u2} (TrivSqZeroExt.{u1, u2} R' M) (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (TrivSqZeroExt.liftAux._proof_1.{u1, u2} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, max u1 u2} R' (TrivSqZeroExt.{u1, u2} R' M) _inst_3 (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (TrivSqZeroExt.liftAux._proof_1.{u1, u2} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15)) (TrivSqZeroExt.algebra.{u1, u2} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15)) (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (RingHomCompTriple.right_ids.{u1, u1} R' R' (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))) (AlgHom.toLinearMap.{u1, max u1 u2, u3} R' (TrivSqZeroExt.{u1, u2} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (TrivSqZeroExt.liftAux._proof_1.{u1, u2} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15)) _inst_17 (TrivSqZeroExt.algebra.{u1, u2} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18 (TrivSqZeroExt.liftAux.{u1, u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15 A _inst_17 _inst_18 f hf)) (TrivSqZeroExt.inrHom.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)) f
-but is expected to have type
-  forall {R' : Type.{u2}} {M : Type.{u3}} [_inst_3 : CommSemiring.{u2} R'] [_inst_4 : AddCommMonoid.{u3} M] [_inst_13 : Module.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4] [_inst_14 : Module.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4] [_inst_15 : IsCentralScalar.{u2, u3} R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.zero.{u2} R' (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.monoidWithZero.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14))))] {A : Type.{u1}} [_inst_17 : Semiring.{u1} A] [_inst_18 : Algebra.{u2, u1} R' A _inst_3 _inst_17] (f : LinearMap.{u2, u2, u3, u1} R' R' (CommSemiring.toSemiring.{u2} R' _inst_3) (CommSemiring.toSemiring.{u2} R' _inst_3) (RingHom.id.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))) _inst_13 (Algebra.toModule.{u2, u1} R' A _inst_3 _inst_17 _inst_18)) (hf : forall (x : M) (y : M), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => A) x) (HMul.hMul.{u1, u1, u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => A) x) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => A) y) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => A) x) (instHMul.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => A) x) (NonUnitalNonAssocSemiring.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => A) x) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => A) x) (Semiring.toNonAssocSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => A) x) _inst_17)))) (FunLike.coe.{max (succ u3) (succ u1), succ u3, succ u1} (LinearMap.{u2, u2, u3, u1} R' R' (CommSemiring.toSemiring.{u2} R' _inst_3) (CommSemiring.toSemiring.{u2} R' _inst_3) (RingHom.id.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))) _inst_13 (Algebra.toModule.{u2, u1} R' A _inst_3 _inst_17 _inst_18)) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => A) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u3, u1} R' R' M A (CommSemiring.toSemiring.{u2} R' _inst_3) (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))) _inst_13 (Algebra.toModule.{u2, u1} R' A _inst_3 _inst_17 _inst_18) (RingHom.id.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) f x) (FunLike.coe.{max (succ u3) (succ u1), succ u3, succ u1} (LinearMap.{u2, u2, u3, u1} R' R' (CommSemiring.toSemiring.{u2} R' _inst_3) (CommSemiring.toSemiring.{u2} R' _inst_3) (RingHom.id.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))) _inst_13 (Algebra.toModule.{u2, u1} R' A _inst_3 _inst_17 _inst_18)) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => A) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u3, u1} R' R' M A (CommSemiring.toSemiring.{u2} R' _inst_3) (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))) _inst_13 (Algebra.toModule.{u2, u1} R' A _inst_3 _inst_17 _inst_18) (RingHom.id.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) f y)) (OfNat.ofNat.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => A) x) 0 (Zero.toOfNat0.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => A) x) (MonoidWithZero.toZero.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => A) x) (Semiring.toMonoidWithZero.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => A) x) _inst_17))))), Eq.{max (succ u3) (succ u1)} (LinearMap.{u2, u2, u3, u1} R' R' (CommSemiring.toSemiring.{u2} R' _inst_3) (CommSemiring.toSemiring.{u2} R' _inst_3) (RingHom.id.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))) _inst_13 (Algebra.toModule.{u2, u1} R' A _inst_3 _inst_17 _inst_18)) (LinearMap.comp.{u2, u2, u2, u3, max u2 u3, u1} R' R' R' M (TrivSqZeroExt.{u2, u3} R' M) A (CommSemiring.toSemiring.{u2} R' _inst_3) (CommSemiring.toSemiring.{u2} R' _inst_3) (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (Semiring.toNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13))))))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))) _inst_13 (Algebra.toModule.{u2, max u2 u3} R' (TrivSqZeroExt.{u2, u3} R' M) _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeSemiringInstAlgebraMulOppositeSemiringIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15)) (Algebra.toModule.{u2, u1} R' A _inst_3 _inst_17 _inst_18) (RingHom.id.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (RingHom.id.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (RingHom.id.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (RingHomCompTriple.ids.{u2, u2} R' R' (CommSemiring.toSemiring.{u2} R' _inst_3) (CommSemiring.toSemiring.{u2} R' _inst_3) (RingHom.id.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AlgHom.toLinearMap.{u2, max u2 u3, u1} R' (TrivSqZeroExt.{u2, u3} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeSemiringInstAlgebraMulOppositeSemiringIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18 (TrivSqZeroExt.liftAux.{u2, u3, u1} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15 A _inst_17 _inst_18 f hf)) (TrivSqZeroExt.inrHom.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)) f
+<too large>
 Case conversion may be inaccurate. Consider using '#align triv_sq_zero_ext.lift_aux_comp_inr_hom TrivSqZeroExt.liftAux_comp_inrHomₓ'. -/
 @[simp]
 theorem liftAux_comp_inrHom (f : M →ₗ[R'] A) (hf : ∀ x y, f x * f y = 0) :
@@ -1171,10 +1144,7 @@ theorem liftAux_inrHom : liftAux (inrHom R' M) (inr_mul_inr R') = AlgHom.id R' (
 -/
 
 /- warning: triv_sq_zero_ext.lift -> TrivSqZeroExt.lift is a dubious translation:
-lean 3 declaration is
-  forall {R' : Type.{u1}} {M : Type.{u2}} [_inst_3 : CommSemiring.{u1} R'] [_inst_4 : AddCommMonoid.{u2} M] [_inst_13 : Module.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4] [_inst_14 : Module.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4] [_inst_15 : IsCentralScalar.{u1, u2} R' M (SMulZeroClass.toHasSmul.{u1, u2} R' M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} R' M (MulZeroClass.toHasZero.{u1} R' (MulZeroOneClass.toMulZeroClass.{u1} R' (MonoidWithZero.toMulZeroOneClass.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toHasSmul.{u1, u2} (MulOpposite.{u1} R') M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MulZeroClass.toHasZero.{u1} (MulOpposite.{u1} R') (MulZeroOneClass.toMulZeroClass.{u1} (MulOpposite.{u1} R') (MonoidWithZero.toMulZeroOneClass.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14))))] {A : Type.{u3}} [_inst_17 : Semiring.{u3} A] [_inst_18 : Algebra.{u1, u3} R' A _inst_3 _inst_17], Equiv.{max 1 (succ u2) (succ u3), max (succ (max u1 u2)) (succ u3)} (Subtype.{max (succ u2) (succ u3)} (LinearMap.{u1, u1, u2, u3} R' R' (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18)) (fun (f : LinearMap.{u1, u1, u2, u3} R' R' (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18)) => forall (x : M) (y : M), Eq.{succ u3} A (HMul.hMul.{u3, u3, u3} A A A (instHMul.{u3} A (Distrib.toHasMul.{u3} A (NonUnitalNonAssocSemiring.toDistrib.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))))) (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearMap.{u1, u1, u2, u3} R' R' (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18)) (fun (_x : LinearMap.{u1, u1, u2, u3} R' R' (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18)) => M -> A) (LinearMap.hasCoeToFun.{u1, u1, u2, u3} R' R' M A (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))) f x) (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearMap.{u1, u1, u2, u3} R' R' (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18)) (fun (_x : LinearMap.{u1, u1, u2, u3} R' R' (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18)) => M -> A) (LinearMap.hasCoeToFun.{u1, u1, u2, u3} R' R' M A (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))) f y)) (OfNat.ofNat.{u3} A 0 (OfNat.mk.{u3} A 0 (Zero.zero.{u3} A (MulZeroClass.toHasZero.{u3} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))))))))) (AlgHom.{u1, max u1 u2, u3} R' (TrivSqZeroExt.{u1, u2} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (TrivSqZeroExt.lift._proof_1.{u1, u2} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15)) _inst_17 (TrivSqZeroExt.algebra.{u1, u2} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18)
-but is expected to have type
-  forall {R' : Type.{u1}} {M : Type.{u2}} [_inst_3 : CommSemiring.{u1} R'] [_inst_4 : AddCommMonoid.{u2} M] [_inst_13 : Module.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4] [_inst_14 : Module.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4] [_inst_15 : IsCentralScalar.{u1, u2} R' M (SMulZeroClass.toSMul.{u1, u2} R' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u1, u2} (MulOpposite.{u1} R') M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.zero.{u1} R' (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.monoidWithZero.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14))))] {A : Type.{u3}} [_inst_17 : Semiring.{u3} A] [_inst_18 : Algebra.{u1, u3} R' A _inst_3 _inst_17], Equiv.{max 1 (succ u2) (succ u3), max (succ u3) (succ (max u2 u1))} (Subtype.{max (succ u2) (succ u3)} (LinearMap.{u1, u1, u2, u3} R' R' (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18)) (fun (f : LinearMap.{u1, u1, u2, u3} R' R' (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18)) => forall (x : M) (y : M), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => A) x) (HMul.hMul.{u3, u3, u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => A) x) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => A) y) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => A) x) (instHMul.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => A) x) (NonUnitalNonAssocSemiring.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => A) x) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => A) x) (Semiring.toNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => A) x) _inst_17)))) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (LinearMap.{u1, u1, u2, u3} R' R' (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18)) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => A) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u3} R' R' M A (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))) f x) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (LinearMap.{u1, u1, u2, u3} R' R' (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18)) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => A) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u3} R' R' M A (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))) f y)) (OfNat.ofNat.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => A) x) 0 (Zero.toOfNat0.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => A) x) (MonoidWithZero.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => A) x) (Semiring.toMonoidWithZero.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => A) x) _inst_17)))))) (AlgHom.{u1, max u2 u1, u3} R' (TrivSqZeroExt.{u1, u2} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u1, u1, u2} R' _inst_3 (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u1, u1, u2} R' R' M (SMulZeroClass.toSMul.{u1, u2} R' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) (SMulZeroClass.toSMul.{u1, u2} R' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u1, u2} (MulOpposite.{u1} R') M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MonoidWithZero.toZero.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeSemiringInstAlgebraMulOppositeSemiringIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u1, u2} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18)
+<too large>
 Case conversion may be inaccurate. Consider using '#align triv_sq_zero_ext.lift TrivSqZeroExt.liftₓ'. -/
 /-- A universal property of the trivial square-zero extension, providing a unique
 `triv_sq_zero_ext R M →ₐ[R] A` for every linear map `M →ₗ[R] A` whose range has no non-zero
Diff
@@ -555,7 +555,7 @@ theorem ind {R M} [AddZeroClass R] [AddZeroClass M] {P : TrivSqZeroExt R M → P
 lean 3 declaration is
   forall {S : Type.{u3}} {R : Type.{u1}} {M : Type.{u2}} {N : Type.{u4}} [_inst_1 : Semiring.{u3} S] [_inst_2 : AddCommMonoid.{u1} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_4 : AddCommMonoid.{u4} N] [_inst_5 : Module.{u3, u1} S R _inst_1 _inst_2] [_inst_6 : Module.{u3, u2} S M _inst_1 _inst_3] [_inst_7 : Module.{u3, u4} S N _inst_1 _inst_4] {{f : LinearMap.{u3, u3, max u1 u2, u4} S S _inst_1 _inst_1 (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_1)) (TrivSqZeroExt.{u1, u2} R M) N (TrivSqZeroExt.addCommMonoid.{u1, u2} R M _inst_2 _inst_3) _inst_4 (TrivSqZeroExt.module.{u1, u2, u3} S R M _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) _inst_7}} {{g : LinearMap.{u3, u3, max u1 u2, u4} S S _inst_1 _inst_1 (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_1)) (TrivSqZeroExt.{u1, u2} R M) N (TrivSqZeroExt.addCommMonoid.{u1, u2} R M _inst_2 _inst_3) _inst_4 (TrivSqZeroExt.module.{u1, u2, u3} S R M _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) _inst_7}}, (forall (r : R), Eq.{succ u4} N (coeFn.{max (succ (max u1 u2)) (succ u4), max (succ (max u1 u2)) (succ u4)} (LinearMap.{u3, u3, max u1 u2, u4} S S _inst_1 _inst_1 (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_1)) (TrivSqZeroExt.{u1, u2} R M) N (TrivSqZeroExt.addCommMonoid.{u1, u2} R M _inst_2 _inst_3) _inst_4 (TrivSqZeroExt.module.{u1, u2, u3} S R M _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (fun (_x : LinearMap.{u3, u3, max u1 u2, u4} S S _inst_1 _inst_1 (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_1)) (TrivSqZeroExt.{u1, u2} R M) N (TrivSqZeroExt.addCommMonoid.{u1, u2} R M _inst_2 _inst_3) _inst_4 (TrivSqZeroExt.module.{u1, u2, u3} S R M _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) => (TrivSqZeroExt.{u1, u2} R M) -> N) (LinearMap.hasCoeToFun.{u3, u3, max u1 u2, u4} S S (TrivSqZeroExt.{u1, u2} R M) N _inst_1 _inst_1 (TrivSqZeroExt.addCommMonoid.{u1, u2} R M _inst_2 _inst_3) _inst_4 (TrivSqZeroExt.module.{u1, u2, u3} S R M _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) _inst_7 (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_1))) f (TrivSqZeroExt.inl.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) r)) (coeFn.{max (succ (max u1 u2)) (succ u4), max (succ (max u1 u2)) (succ u4)} (LinearMap.{u3, u3, max u1 u2, u4} S S _inst_1 _inst_1 (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_1)) (TrivSqZeroExt.{u1, u2} R M) N (TrivSqZeroExt.addCommMonoid.{u1, u2} R M _inst_2 _inst_3) _inst_4 (TrivSqZeroExt.module.{u1, u2, u3} S R M _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (fun (_x : LinearMap.{u3, u3, max u1 u2, u4} S S _inst_1 _inst_1 (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_1)) (TrivSqZeroExt.{u1, u2} R M) N (TrivSqZeroExt.addCommMonoid.{u1, u2} R M _inst_2 _inst_3) _inst_4 (TrivSqZeroExt.module.{u1, u2, u3} S R M _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) => (TrivSqZeroExt.{u1, u2} R M) -> N) (LinearMap.hasCoeToFun.{u3, u3, max u1 u2, u4} S S (TrivSqZeroExt.{u1, u2} R M) N _inst_1 _inst_1 (TrivSqZeroExt.addCommMonoid.{u1, u2} R M _inst_2 _inst_3) _inst_4 (TrivSqZeroExt.module.{u1, u2, u3} S R M _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) _inst_7 (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_1))) g (TrivSqZeroExt.inl.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) r))) -> (forall (m : M), Eq.{succ u4} N (coeFn.{max (succ (max u1 u2)) (succ u4), max (succ (max u1 u2)) (succ u4)} (LinearMap.{u3, u3, max u1 u2, u4} S S _inst_1 _inst_1 (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_1)) (TrivSqZeroExt.{u1, u2} R M) N (TrivSqZeroExt.addCommMonoid.{u1, u2} R M _inst_2 _inst_3) _inst_4 (TrivSqZeroExt.module.{u1, u2, u3} S R M _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (fun (_x : LinearMap.{u3, u3, max u1 u2, u4} S S _inst_1 _inst_1 (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_1)) (TrivSqZeroExt.{u1, u2} R M) N (TrivSqZeroExt.addCommMonoid.{u1, u2} R M _inst_2 _inst_3) _inst_4 (TrivSqZeroExt.module.{u1, u2, u3} S R M _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) => (TrivSqZeroExt.{u1, u2} R M) -> N) (LinearMap.hasCoeToFun.{u3, u3, max u1 u2, u4} S S (TrivSqZeroExt.{u1, u2} R M) N _inst_1 _inst_1 (TrivSqZeroExt.addCommMonoid.{u1, u2} R M _inst_2 _inst_3) _inst_4 (TrivSqZeroExt.module.{u1, u2, u3} S R M _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) _inst_7 (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_1))) f (TrivSqZeroExt.inr.{u1, u2} R M (AddZeroClass.toHasZero.{u1} R (AddMonoid.toAddZeroClass.{u1} R (AddCommMonoid.toAddMonoid.{u1} R _inst_2))) m)) (coeFn.{max (succ (max u1 u2)) (succ u4), max (succ (max u1 u2)) (succ u4)} (LinearMap.{u3, u3, max u1 u2, u4} S S _inst_1 _inst_1 (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_1)) (TrivSqZeroExt.{u1, u2} R M) N (TrivSqZeroExt.addCommMonoid.{u1, u2} R M _inst_2 _inst_3) _inst_4 (TrivSqZeroExt.module.{u1, u2, u3} S R M _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (fun (_x : LinearMap.{u3, u3, max u1 u2, u4} S S _inst_1 _inst_1 (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_1)) (TrivSqZeroExt.{u1, u2} R M) N (TrivSqZeroExt.addCommMonoid.{u1, u2} R M _inst_2 _inst_3) _inst_4 (TrivSqZeroExt.module.{u1, u2, u3} S R M _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) => (TrivSqZeroExt.{u1, u2} R M) -> N) (LinearMap.hasCoeToFun.{u3, u3, max u1 u2, u4} S S (TrivSqZeroExt.{u1, u2} R M) N _inst_1 _inst_1 (TrivSqZeroExt.addCommMonoid.{u1, u2} R M _inst_2 _inst_3) _inst_4 (TrivSqZeroExt.module.{u1, u2, u3} S R M _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) _inst_7 (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_1))) g (TrivSqZeroExt.inr.{u1, u2} R M (AddZeroClass.toHasZero.{u1} R (AddMonoid.toAddZeroClass.{u1} R (AddCommMonoid.toAddMonoid.{u1} R _inst_2))) m))) -> (Eq.{max (succ (max u1 u2)) (succ u4)} (LinearMap.{u3, u3, max u1 u2, u4} S S _inst_1 _inst_1 (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_1)) (TrivSqZeroExt.{u1, u2} R M) N (TrivSqZeroExt.addCommMonoid.{u1, u2} R M _inst_2 _inst_3) _inst_4 (TrivSqZeroExt.module.{u1, u2, u3} S R M _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) f g)
 but is expected to have type
-  forall {S : Type.{u1}} {R : Type.{u3}} {M : Type.{u4}} {N : Type.{u2}} [_inst_1 : Semiring.{u1} S] [_inst_2 : AddCommMonoid.{u3} R] [_inst_3 : AddCommMonoid.{u4} M] [_inst_4 : AddCommMonoid.{u2} N] [_inst_5 : Module.{u1, u3} S R _inst_1 _inst_2] [_inst_6 : Module.{u1, u4} S M _inst_1 _inst_3] [_inst_7 : Module.{u1, u2} S N _inst_1 _inst_4] {{f : LinearMap.{u1, u1, max u4 u3, u2} S S _inst_1 _inst_1 (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_1)) (TrivSqZeroExt.{u3, u4} R M) N (TrivSqZeroExt.addCommMonoid.{u3, u4} R M _inst_2 _inst_3) _inst_4 (TrivSqZeroExt.module.{u3, u4, u1} S R M _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) _inst_7}} {{g : LinearMap.{u1, u1, max u4 u3, u2} S S _inst_1 _inst_1 (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_1)) (TrivSqZeroExt.{u3, u4} R M) N (TrivSqZeroExt.addCommMonoid.{u3, u4} R M _inst_2 _inst_3) _inst_4 (TrivSqZeroExt.module.{u3, u4, u1} S R M _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) _inst_7}}, (forall (r : R), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : TrivSqZeroExt.{u3, u4} R M) => N) (TrivSqZeroExt.inl.{u3, u4} R M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3)) r)) (FunLike.coe.{max (max (succ u3) (succ u4)) (succ u2), max (succ u3) (succ u4), succ u2} (LinearMap.{u1, u1, max u4 u3, u2} S S _inst_1 _inst_1 (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_1)) (TrivSqZeroExt.{u3, u4} R M) N (TrivSqZeroExt.addCommMonoid.{u3, u4} R M _inst_2 _inst_3) _inst_4 (TrivSqZeroExt.module.{u3, u4, u1} S R M _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TrivSqZeroExt.{u3, u4} R M) (fun (_x : TrivSqZeroExt.{u3, u4} R M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : TrivSqZeroExt.{u3, u4} R M) => N) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, max u3 u4, u2} S S (TrivSqZeroExt.{u3, u4} R M) N _inst_1 _inst_1 (TrivSqZeroExt.addCommMonoid.{u3, u4} R M _inst_2 _inst_3) _inst_4 (TrivSqZeroExt.module.{u3, u4, u1} S R M _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) _inst_7 (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_1))) f (TrivSqZeroExt.inl.{u3, u4} R M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3)) r)) (FunLike.coe.{max (max (succ u3) (succ u4)) (succ u2), max (succ u3) (succ u4), succ u2} (LinearMap.{u1, u1, max u4 u3, u2} S S _inst_1 _inst_1 (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_1)) (TrivSqZeroExt.{u3, u4} R M) N (TrivSqZeroExt.addCommMonoid.{u3, u4} R M _inst_2 _inst_3) _inst_4 (TrivSqZeroExt.module.{u3, u4, u1} S R M _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TrivSqZeroExt.{u3, u4} R M) (fun (_x : TrivSqZeroExt.{u3, u4} R M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : TrivSqZeroExt.{u3, u4} R M) => N) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, max u3 u4, u2} S S (TrivSqZeroExt.{u3, u4} R M) N _inst_1 _inst_1 (TrivSqZeroExt.addCommMonoid.{u3, u4} R M _inst_2 _inst_3) _inst_4 (TrivSqZeroExt.module.{u3, u4, u1} S R M _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) _inst_7 (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_1))) g (TrivSqZeroExt.inl.{u3, u4} R M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3)) r))) -> (forall (m : M), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : TrivSqZeroExt.{u3, u4} R M) => N) (TrivSqZeroExt.inr.{u3, u4} R M (AddMonoid.toZero.{u3} R (AddCommMonoid.toAddMonoid.{u3} R _inst_2)) m)) (FunLike.coe.{max (max (succ u3) (succ u4)) (succ u2), max (succ u3) (succ u4), succ u2} (LinearMap.{u1, u1, max u4 u3, u2} S S _inst_1 _inst_1 (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_1)) (TrivSqZeroExt.{u3, u4} R M) N (TrivSqZeroExt.addCommMonoid.{u3, u4} R M _inst_2 _inst_3) _inst_4 (TrivSqZeroExt.module.{u3, u4, u1} S R M _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TrivSqZeroExt.{u3, u4} R M) (fun (_x : TrivSqZeroExt.{u3, u4} R M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : TrivSqZeroExt.{u3, u4} R M) => N) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, max u3 u4, u2} S S (TrivSqZeroExt.{u3, u4} R M) N _inst_1 _inst_1 (TrivSqZeroExt.addCommMonoid.{u3, u4} R M _inst_2 _inst_3) _inst_4 (TrivSqZeroExt.module.{u3, u4, u1} S R M _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) _inst_7 (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_1))) f (TrivSqZeroExt.inr.{u3, u4} R M (AddMonoid.toZero.{u3} R (AddCommMonoid.toAddMonoid.{u3} R _inst_2)) m)) (FunLike.coe.{max (max (succ u3) (succ u4)) (succ u2), max (succ u3) (succ u4), succ u2} (LinearMap.{u1, u1, max u4 u3, u2} S S _inst_1 _inst_1 (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_1)) (TrivSqZeroExt.{u3, u4} R M) N (TrivSqZeroExt.addCommMonoid.{u3, u4} R M _inst_2 _inst_3) _inst_4 (TrivSqZeroExt.module.{u3, u4, u1} S R M _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TrivSqZeroExt.{u3, u4} R M) (fun (_x : TrivSqZeroExt.{u3, u4} R M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : TrivSqZeroExt.{u3, u4} R M) => N) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, max u3 u4, u2} S S (TrivSqZeroExt.{u3, u4} R M) N _inst_1 _inst_1 (TrivSqZeroExt.addCommMonoid.{u3, u4} R M _inst_2 _inst_3) _inst_4 (TrivSqZeroExt.module.{u3, u4, u1} S R M _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) _inst_7 (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_1))) g (TrivSqZeroExt.inr.{u3, u4} R M (AddMonoid.toZero.{u3} R (AddCommMonoid.toAddMonoid.{u3} R _inst_2)) m))) -> (Eq.{max (max (succ u3) (succ u4)) (succ u2)} (LinearMap.{u1, u1, max u4 u3, u2} S S _inst_1 _inst_1 (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_1)) (TrivSqZeroExt.{u3, u4} R M) N (TrivSqZeroExt.addCommMonoid.{u3, u4} R M _inst_2 _inst_3) _inst_4 (TrivSqZeroExt.module.{u3, u4, u1} S R M _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) f g)
+  forall {S : Type.{u1}} {R : Type.{u3}} {M : Type.{u4}} {N : Type.{u2}} [_inst_1 : Semiring.{u1} S] [_inst_2 : AddCommMonoid.{u3} R] [_inst_3 : AddCommMonoid.{u4} M] [_inst_4 : AddCommMonoid.{u2} N] [_inst_5 : Module.{u1, u3} S R _inst_1 _inst_2] [_inst_6 : Module.{u1, u4} S M _inst_1 _inst_3] [_inst_7 : Module.{u1, u2} S N _inst_1 _inst_4] {{f : LinearMap.{u1, u1, max u4 u3, u2} S S _inst_1 _inst_1 (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_1)) (TrivSqZeroExt.{u3, u4} R M) N (TrivSqZeroExt.addCommMonoid.{u3, u4} R M _inst_2 _inst_3) _inst_4 (TrivSqZeroExt.module.{u3, u4, u1} S R M _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) _inst_7}} {{g : LinearMap.{u1, u1, max u4 u3, u2} S S _inst_1 _inst_1 (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_1)) (TrivSqZeroExt.{u3, u4} R M) N (TrivSqZeroExt.addCommMonoid.{u3, u4} R M _inst_2 _inst_3) _inst_4 (TrivSqZeroExt.module.{u3, u4, u1} S R M _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) _inst_7}}, (forall (r : R), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : TrivSqZeroExt.{u3, u4} R M) => N) (TrivSqZeroExt.inl.{u3, u4} R M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3)) r)) (FunLike.coe.{max (max (succ u3) (succ u4)) (succ u2), max (succ u3) (succ u4), succ u2} (LinearMap.{u1, u1, max u4 u3, u2} S S _inst_1 _inst_1 (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_1)) (TrivSqZeroExt.{u3, u4} R M) N (TrivSqZeroExt.addCommMonoid.{u3, u4} R M _inst_2 _inst_3) _inst_4 (TrivSqZeroExt.module.{u3, u4, u1} S R M _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TrivSqZeroExt.{u3, u4} R M) (fun (_x : TrivSqZeroExt.{u3, u4} R M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : TrivSqZeroExt.{u3, u4} R M) => N) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, max u3 u4, u2} S S (TrivSqZeroExt.{u3, u4} R M) N _inst_1 _inst_1 (TrivSqZeroExt.addCommMonoid.{u3, u4} R M _inst_2 _inst_3) _inst_4 (TrivSqZeroExt.module.{u3, u4, u1} S R M _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) _inst_7 (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_1))) f (TrivSqZeroExt.inl.{u3, u4} R M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3)) r)) (FunLike.coe.{max (max (succ u3) (succ u4)) (succ u2), max (succ u3) (succ u4), succ u2} (LinearMap.{u1, u1, max u4 u3, u2} S S _inst_1 _inst_1 (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_1)) (TrivSqZeroExt.{u3, u4} R M) N (TrivSqZeroExt.addCommMonoid.{u3, u4} R M _inst_2 _inst_3) _inst_4 (TrivSqZeroExt.module.{u3, u4, u1} S R M _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TrivSqZeroExt.{u3, u4} R M) (fun (_x : TrivSqZeroExt.{u3, u4} R M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : TrivSqZeroExt.{u3, u4} R M) => N) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, max u3 u4, u2} S S (TrivSqZeroExt.{u3, u4} R M) N _inst_1 _inst_1 (TrivSqZeroExt.addCommMonoid.{u3, u4} R M _inst_2 _inst_3) _inst_4 (TrivSqZeroExt.module.{u3, u4, u1} S R M _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) _inst_7 (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_1))) g (TrivSqZeroExt.inl.{u3, u4} R M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3)) r))) -> (forall (m : M), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : TrivSqZeroExt.{u3, u4} R M) => N) (TrivSqZeroExt.inr.{u3, u4} R M (AddMonoid.toZero.{u3} R (AddCommMonoid.toAddMonoid.{u3} R _inst_2)) m)) (FunLike.coe.{max (max (succ u3) (succ u4)) (succ u2), max (succ u3) (succ u4), succ u2} (LinearMap.{u1, u1, max u4 u3, u2} S S _inst_1 _inst_1 (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_1)) (TrivSqZeroExt.{u3, u4} R M) N (TrivSqZeroExt.addCommMonoid.{u3, u4} R M _inst_2 _inst_3) _inst_4 (TrivSqZeroExt.module.{u3, u4, u1} S R M _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TrivSqZeroExt.{u3, u4} R M) (fun (_x : TrivSqZeroExt.{u3, u4} R M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : TrivSqZeroExt.{u3, u4} R M) => N) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, max u3 u4, u2} S S (TrivSqZeroExt.{u3, u4} R M) N _inst_1 _inst_1 (TrivSqZeroExt.addCommMonoid.{u3, u4} R M _inst_2 _inst_3) _inst_4 (TrivSqZeroExt.module.{u3, u4, u1} S R M _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) _inst_7 (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_1))) f (TrivSqZeroExt.inr.{u3, u4} R M (AddMonoid.toZero.{u3} R (AddCommMonoid.toAddMonoid.{u3} R _inst_2)) m)) (FunLike.coe.{max (max (succ u3) (succ u4)) (succ u2), max (succ u3) (succ u4), succ u2} (LinearMap.{u1, u1, max u4 u3, u2} S S _inst_1 _inst_1 (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_1)) (TrivSqZeroExt.{u3, u4} R M) N (TrivSqZeroExt.addCommMonoid.{u3, u4} R M _inst_2 _inst_3) _inst_4 (TrivSqZeroExt.module.{u3, u4, u1} S R M _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TrivSqZeroExt.{u3, u4} R M) (fun (_x : TrivSqZeroExt.{u3, u4} R M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : TrivSqZeroExt.{u3, u4} R M) => N) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, max u3 u4, u2} S S (TrivSqZeroExt.{u3, u4} R M) N _inst_1 _inst_1 (TrivSqZeroExt.addCommMonoid.{u3, u4} R M _inst_2 _inst_3) _inst_4 (TrivSqZeroExt.module.{u3, u4, u1} S R M _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) _inst_7 (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_1))) g (TrivSqZeroExt.inr.{u3, u4} R M (AddMonoid.toZero.{u3} R (AddCommMonoid.toAddMonoid.{u3} R _inst_2)) m))) -> (Eq.{max (max (succ u3) (succ u4)) (succ u2)} (LinearMap.{u1, u1, max u4 u3, u2} S S _inst_1 _inst_1 (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_1)) (TrivSqZeroExt.{u3, u4} R M) N (TrivSqZeroExt.addCommMonoid.{u3, u4} R M _inst_2 _inst_3) _inst_4 (TrivSqZeroExt.module.{u3, u4, u1} S R M _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) f g)
 Case conversion may be inaccurate. Consider using '#align triv_sq_zero_ext.linear_map_ext TrivSqZeroExt.linearMap_extₓ'. -/
 /-- This cannot be marked `@[ext]` as it ends up being used instead of `linear_map.prod_ext` when
 working with `R × M`. -/
@@ -1093,7 +1093,7 @@ variable {R R' S M}
 lean 3 declaration is
   forall {R' : Type.{u1}} {M : Type.{u2}} [_inst_3 : CommSemiring.{u1} R'] [_inst_4 : AddCommMonoid.{u2} M] [_inst_13 : Module.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4] [_inst_14 : Module.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4] [_inst_15 : IsCentralScalar.{u1, u2} R' M (SMulZeroClass.toHasSmul.{u1, u2} R' M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} R' M (MulZeroClass.toHasZero.{u1} R' (MulZeroOneClass.toMulZeroClass.{u1} R' (MonoidWithZero.toMulZeroOneClass.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toHasSmul.{u1, u2} (MulOpposite.{u1} R') M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MulZeroClass.toHasZero.{u1} (MulOpposite.{u1} R') (MulZeroOneClass.toMulZeroClass.{u1} (MulOpposite.{u1} R') (MonoidWithZero.toMulZeroOneClass.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14))))] {A : Type.{u3}} [_inst_17 : Semiring.{u3} A] [_inst_18 : Algebra.{u1, u3} R' A _inst_3 _inst_17] {{f : AlgHom.{u1, max u1 u2, u3} R' (TrivSqZeroExt.{u1, u2} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u1, u1, u2} R' _inst_3 (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (MulOpposite.algebra.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u1, u1, u2} R' R' M (SMulZeroClass.toHasSmul.{u1, u2} R' M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} R' M (MulZeroClass.toHasZero.{u1} R' (MulZeroOneClass.toMulZeroClass.{u1} R' (MonoidWithZero.toMulZeroOneClass.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (Mul.toSMul.{u1} R' (Distrib.toHasMul.{u1} R' (NonUnitalNonAssocSemiring.toDistrib.{u1} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (MulAction.toHasSmul.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13))) (SMulZeroClass.toHasSmul.{u1, u2} (MulOpposite.{u1} R') M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MulZeroClass.toHasZero.{u1} (MulOpposite.{u1} R') (MulZeroOneClass.toMulZeroClass.{u1} (MulOpposite.{u1} R') (MonoidWithZero.toMulZeroOneClass.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.algebra.{u1, u2} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18}} {{g : AlgHom.{u1, max u1 u2, u3} R' (TrivSqZeroExt.{u1, u2} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u1, u1, u2} R' _inst_3 (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (MulOpposite.algebra.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u1, u1, u2} R' R' M (SMulZeroClass.toHasSmul.{u1, u2} R' M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} R' M (MulZeroClass.toHasZero.{u1} R' (MulZeroOneClass.toMulZeroClass.{u1} R' (MonoidWithZero.toMulZeroOneClass.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (Mul.toSMul.{u1} R' (Distrib.toHasMul.{u1} R' (NonUnitalNonAssocSemiring.toDistrib.{u1} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (MulAction.toHasSmul.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13))) (SMulZeroClass.toHasSmul.{u1, u2} (MulOpposite.{u1} R') M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MulZeroClass.toHasZero.{u1} (MulOpposite.{u1} R') (MulZeroOneClass.toMulZeroClass.{u1} (MulOpposite.{u1} R') (MonoidWithZero.toMulZeroOneClass.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.algebra.{u1, u2} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18}}, (forall (m : M), Eq.{succ u3} A (coeFn.{max (succ (max u1 u2)) (succ u3), max (succ (max u1 u2)) (succ u3)} (AlgHom.{u1, max u1 u2, u3} R' (TrivSqZeroExt.{u1, u2} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u1, u1, u2} R' _inst_3 (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (MulOpposite.algebra.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u1, u1, u2} R' R' M (SMulZeroClass.toHasSmul.{u1, u2} R' M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} R' M (MulZeroClass.toHasZero.{u1} R' (MulZeroOneClass.toMulZeroClass.{u1} R' (MonoidWithZero.toMulZeroOneClass.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (Mul.toSMul.{u1} R' (Distrib.toHasMul.{u1} R' (NonUnitalNonAssocSemiring.toDistrib.{u1} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (MulAction.toHasSmul.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13))) (SMulZeroClass.toHasSmul.{u1, u2} (MulOpposite.{u1} R') M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MulZeroClass.toHasZero.{u1} (MulOpposite.{u1} R') (MulZeroOneClass.toMulZeroClass.{u1} (MulOpposite.{u1} R') (MonoidWithZero.toMulZeroOneClass.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.algebra.{u1, u2} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18) (fun (_x : AlgHom.{u1, max u1 u2, u3} R' (TrivSqZeroExt.{u1, u2} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u1, u1, u2} R' _inst_3 (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (MulOpposite.algebra.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u1, u1, u2} R' R' M (SMulZeroClass.toHasSmul.{u1, u2} R' M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} R' M (MulZeroClass.toHasZero.{u1} R' (MulZeroOneClass.toMulZeroClass.{u1} R' (MonoidWithZero.toMulZeroOneClass.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (Mul.toSMul.{u1} R' (Distrib.toHasMul.{u1} R' (NonUnitalNonAssocSemiring.toDistrib.{u1} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (MulAction.toHasSmul.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13))) (SMulZeroClass.toHasSmul.{u1, u2} (MulOpposite.{u1} R') M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MulZeroClass.toHasZero.{u1} (MulOpposite.{u1} R') (MulZeroOneClass.toMulZeroClass.{u1} (MulOpposite.{u1} R') (MonoidWithZero.toMulZeroOneClass.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.algebra.{u1, u2} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18) => (TrivSqZeroExt.{u1, u2} R' M) -> A) ([anonymous].{u1, max u1 u2, u3} R' (TrivSqZeroExt.{u1, u2} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u1, u1, u2} R' _inst_3 (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (MulOpposite.algebra.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u1, u1, u2} R' R' M (SMulZeroClass.toHasSmul.{u1, u2} R' M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} R' M (MulZeroClass.toHasZero.{u1} R' (MulZeroOneClass.toMulZeroClass.{u1} R' (MonoidWithZero.toMulZeroOneClass.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (Mul.toSMul.{u1} R' (Distrib.toHasMul.{u1} R' (NonUnitalNonAssocSemiring.toDistrib.{u1} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (MulAction.toHasSmul.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13))) (SMulZeroClass.toHasSmul.{u1, u2} (MulOpposite.{u1} R') M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MulZeroClass.toHasZero.{u1} (MulOpposite.{u1} R') (MulZeroOneClass.toMulZeroClass.{u1} (MulOpposite.{u1} R') (MonoidWithZero.toMulZeroOneClass.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.algebra.{u1, u2} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18) f (TrivSqZeroExt.inr.{u1, u2} R' M (MulZeroClass.toHasZero.{u1} R' (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))))) m)) (coeFn.{max (succ (max u1 u2)) (succ u3), max (succ (max u1 u2)) (succ u3)} (AlgHom.{u1, max u1 u2, u3} R' (TrivSqZeroExt.{u1, u2} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u1, u1, u2} R' _inst_3 (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (MulOpposite.algebra.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u1, u1, u2} R' R' M (SMulZeroClass.toHasSmul.{u1, u2} R' M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} R' M (MulZeroClass.toHasZero.{u1} R' (MulZeroOneClass.toMulZeroClass.{u1} R' (MonoidWithZero.toMulZeroOneClass.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (Mul.toSMul.{u1} R' (Distrib.toHasMul.{u1} R' (NonUnitalNonAssocSemiring.toDistrib.{u1} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (MulAction.toHasSmul.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13))) (SMulZeroClass.toHasSmul.{u1, u2} (MulOpposite.{u1} R') M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MulZeroClass.toHasZero.{u1} (MulOpposite.{u1} R') (MulZeroOneClass.toMulZeroClass.{u1} (MulOpposite.{u1} R') (MonoidWithZero.toMulZeroOneClass.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.algebra.{u1, u2} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18) (fun (_x : AlgHom.{u1, max u1 u2, u3} R' (TrivSqZeroExt.{u1, u2} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u1, u1, u2} R' _inst_3 (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (MulOpposite.algebra.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u1, u1, u2} R' R' M (SMulZeroClass.toHasSmul.{u1, u2} R' M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} R' M (MulZeroClass.toHasZero.{u1} R' (MulZeroOneClass.toMulZeroClass.{u1} R' (MonoidWithZero.toMulZeroOneClass.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (Mul.toSMul.{u1} R' (Distrib.toHasMul.{u1} R' (NonUnitalNonAssocSemiring.toDistrib.{u1} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (MulAction.toHasSmul.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13))) (SMulZeroClass.toHasSmul.{u1, u2} (MulOpposite.{u1} R') M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MulZeroClass.toHasZero.{u1} (MulOpposite.{u1} R') (MulZeroOneClass.toMulZeroClass.{u1} (MulOpposite.{u1} R') (MonoidWithZero.toMulZeroOneClass.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.algebra.{u1, u2} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18) => (TrivSqZeroExt.{u1, u2} R' M) -> A) ([anonymous].{u1, max u1 u2, u3} R' (TrivSqZeroExt.{u1, u2} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u1, u1, u2} R' _inst_3 (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (MulOpposite.algebra.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u1, u1, u2} R' R' M (SMulZeroClass.toHasSmul.{u1, u2} R' M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} R' M (MulZeroClass.toHasZero.{u1} R' (MulZeroOneClass.toMulZeroClass.{u1} R' (MonoidWithZero.toMulZeroOneClass.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (Mul.toSMul.{u1} R' (Distrib.toHasMul.{u1} R' (NonUnitalNonAssocSemiring.toDistrib.{u1} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (MulAction.toHasSmul.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13))) (SMulZeroClass.toHasSmul.{u1, u2} (MulOpposite.{u1} R') M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MulZeroClass.toHasZero.{u1} (MulOpposite.{u1} R') (MulZeroOneClass.toMulZeroClass.{u1} (MulOpposite.{u1} R') (MonoidWithZero.toMulZeroOneClass.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.algebra.{u1, u2} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18) g (TrivSqZeroExt.inr.{u1, u2} R' M (MulZeroClass.toHasZero.{u1} R' (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))))) m))) -> (Eq.{max (succ (max u1 u2)) (succ u3)} (AlgHom.{u1, max u1 u2, u3} R' (TrivSqZeroExt.{u1, u2} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u1, u1, u2} R' _inst_3 (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (MulOpposite.algebra.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u1, u1, u2} R' R' M (SMulZeroClass.toHasSmul.{u1, u2} R' M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} R' M (MulZeroClass.toHasZero.{u1} R' (MulZeroOneClass.toMulZeroClass.{u1} R' (MonoidWithZero.toMulZeroOneClass.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (Mul.toSMul.{u1} R' (Distrib.toHasMul.{u1} R' (NonUnitalNonAssocSemiring.toDistrib.{u1} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (MulAction.toHasSmul.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13))) (SMulZeroClass.toHasSmul.{u1, u2} (MulOpposite.{u1} R') M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MulZeroClass.toHasZero.{u1} (MulOpposite.{u1} R') (MulZeroOneClass.toMulZeroClass.{u1} (MulOpposite.{u1} R') (MonoidWithZero.toMulZeroOneClass.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.algebra.{u1, u2} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18) f g)
 but is expected to have type
-  forall {R' : Type.{u2}} {M : Type.{u3}} [_inst_3 : CommSemiring.{u2} R'] [_inst_4 : AddCommMonoid.{u3} M] [_inst_13 : Module.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4] [_inst_14 : Module.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4] [_inst_15 : IsCentralScalar.{u2, u3} R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.zero.{u2} R' (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.monoidWithZero.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14))))] {A : Type.{u1}} [_inst_17 : Semiring.{u1} A] [_inst_18 : Algebra.{u2, u1} R' A _inst_3 _inst_17] {{f : AlgHom.{u2, max u3 u2, u1} R' (TrivSqZeroExt.{u2, u3} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeSemiringInstAlgebraMulOppositeSemiringIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18}} {{g : AlgHom.{u2, max u3 u2, u1} R' (TrivSqZeroExt.{u2, u3} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeSemiringInstAlgebraMulOppositeSemiringIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18}}, (forall (m : M), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : TrivSqZeroExt.{u2, u3} R' M) => A) (TrivSqZeroExt.inr.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) m)) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u3), succ u1} (AlgHom.{u2, max u3 u2, u1} R' (TrivSqZeroExt.{u2, u3} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeSemiringInstAlgebraMulOppositeSemiringIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18) (TrivSqZeroExt.{u2, u3} R' M) (fun (_x : TrivSqZeroExt.{u2, u3} R' M) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : TrivSqZeroExt.{u2, u3} R' M) => A) _x) (SMulHomClass.toFunLike.{max (max u2 u3) u1, u2, max u2 u3, u1} (AlgHom.{u2, max u3 u2, u1} R' (TrivSqZeroExt.{u2, u3} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeSemiringInstAlgebraMulOppositeSemiringIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18) R' (TrivSqZeroExt.{u2, u3} R' M) A (SMulZeroClass.toSMul.{u2, max u2 u3} R' (TrivSqZeroExt.{u2, u3} R' M) (AddMonoid.toZero.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (AddCommMonoid.toAddMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (Semiring.toNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13))))))))))) (DistribSMul.toSMulZeroClass.{u2, max u2 u3} R' (TrivSqZeroExt.{u2, u3} R' M) (AddMonoid.toAddZeroClass.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (AddCommMonoid.toAddMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (Semiring.toNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13))))))))))) (DistribMulAction.toDistribSMul.{u2, max u2 u3} R' (TrivSqZeroExt.{u2, u3} R' M) (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddCommMonoid.toAddMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (Semiring.toNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))))))) (Module.toDistribMulAction.{u2, max u2 u3} R' (TrivSqZeroExt.{u2, u3} R' M) (CommSemiring.toSemiring.{u2} R' _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (Semiring.toNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13))))))))) (Algebra.toModule.{u2, max u2 u3} R' (TrivSqZeroExt.{u2, u3} R' M) _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeSemiringInstAlgebraMulOppositeSemiringIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15)))))) (SMulZeroClass.toSMul.{u2, u1} R' A (AddMonoid.toZero.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))))) (DistribSMul.toSMulZeroClass.{u2, u1} R' A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))))) (DistribMulAction.toDistribSMul.{u2, u1} R' A (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17)))) (Module.toDistribMulAction.{u2, u1} R' A (CommSemiring.toSemiring.{u2} R' _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))) (Algebra.toModule.{u2, u1} R' A _inst_3 _inst_17 _inst_18))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u2 u3) u1, u2, max u2 u3, u1} (AlgHom.{u2, max u3 u2, u1} R' (TrivSqZeroExt.{u2, u3} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeSemiringInstAlgebraMulOppositeSemiringIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18) R' (TrivSqZeroExt.{u2, u3} R' M) A (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddCommMonoid.toAddMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (Semiring.toNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))))))) (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17)))) (Module.toDistribMulAction.{u2, max u2 u3} R' (TrivSqZeroExt.{u2, u3} R' M) (CommSemiring.toSemiring.{u2} R' _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (Semiring.toNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13))))))))) (Algebra.toModule.{u2, max u2 u3} R' (TrivSqZeroExt.{u2, u3} R' M) _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeSemiringInstAlgebraMulOppositeSemiringIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15))) (Module.toDistribMulAction.{u2, u1} R' A (CommSemiring.toSemiring.{u2} R' _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))) (Algebra.toModule.{u2, u1} R' A _inst_3 _inst_17 _inst_18)) (SemilinearMapClass.distribMulActionHomClass.{u2, max u2 u3, u1, max (max u2 u3) u1} R' (TrivSqZeroExt.{u2, u3} R' M) A (AlgHom.{u2, max u3 u2, u1} R' (TrivSqZeroExt.{u2, u3} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeSemiringInstAlgebraMulOppositeSemiringIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18) (CommSemiring.toSemiring.{u2} R' _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (Semiring.toNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13))))))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))) (Algebra.toModule.{u2, max u2 u3} R' (TrivSqZeroExt.{u2, u3} R' M) _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeSemiringInstAlgebraMulOppositeSemiringIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15)) (Algebra.toModule.{u2, u1} R' A _inst_3 _inst_17 _inst_18) (AlgHomClass.linearMapClass.{u2, max u2 u3, u1, max (max u2 u3) u1} R' (TrivSqZeroExt.{u2, u3} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeSemiringInstAlgebraMulOppositeSemiringIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18 (AlgHom.{u2, max u3 u2, u1} R' (TrivSqZeroExt.{u2, u3} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeSemiringInstAlgebraMulOppositeSemiringIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18) (AlgHom.algHomClass.{u2, max u2 u3, u1} R' (TrivSqZeroExt.{u2, u3} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeSemiringInstAlgebraMulOppositeSemiringIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18))))) f (TrivSqZeroExt.inr.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) m)) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u3), succ u1} (AlgHom.{u2, max u3 u2, u1} R' (TrivSqZeroExt.{u2, u3} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeSemiringInstAlgebraMulOppositeSemiringIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18) (TrivSqZeroExt.{u2, u3} R' M) (fun (_x : TrivSqZeroExt.{u2, u3} R' M) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : TrivSqZeroExt.{u2, u3} R' M) => A) _x) (SMulHomClass.toFunLike.{max (max u2 u3) u1, u2, max u2 u3, u1} (AlgHom.{u2, max u3 u2, u1} R' (TrivSqZeroExt.{u2, u3} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeSemiringInstAlgebraMulOppositeSemiringIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18) R' (TrivSqZeroExt.{u2, u3} R' M) A (SMulZeroClass.toSMul.{u2, max u2 u3} R' (TrivSqZeroExt.{u2, u3} R' M) (AddMonoid.toZero.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (AddCommMonoid.toAddMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (Semiring.toNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13))))))))))) (DistribSMul.toSMulZeroClass.{u2, max u2 u3} R' (TrivSqZeroExt.{u2, u3} R' M) (AddMonoid.toAddZeroClass.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (AddCommMonoid.toAddMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (Semiring.toNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13))))))))))) (DistribMulAction.toDistribSMul.{u2, max u2 u3} R' (TrivSqZeroExt.{u2, u3} R' M) (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddCommMonoid.toAddMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (Semiring.toNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))))))) (Module.toDistribMulAction.{u2, max u2 u3} R' (TrivSqZeroExt.{u2, u3} R' M) (CommSemiring.toSemiring.{u2} R' _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (Semiring.toNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13))))))))) (Algebra.toModule.{u2, max u2 u3} R' (TrivSqZeroExt.{u2, u3} R' M) _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeSemiringInstAlgebraMulOppositeSemiringIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15)))))) (SMulZeroClass.toSMul.{u2, u1} R' A (AddMonoid.toZero.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))))) (DistribSMul.toSMulZeroClass.{u2, u1} R' A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))))) (DistribMulAction.toDistribSMul.{u2, u1} R' A (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17)))) (Module.toDistribMulAction.{u2, u1} R' A (CommSemiring.toSemiring.{u2} R' _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))) (Algebra.toModule.{u2, u1} R' A _inst_3 _inst_17 _inst_18))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u2 u3) u1, u2, max u2 u3, u1} (AlgHom.{u2, max u3 u2, u1} R' (TrivSqZeroExt.{u2, u3} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeSemiringInstAlgebraMulOppositeSemiringIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18) R' (TrivSqZeroExt.{u2, u3} R' M) A (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddCommMonoid.toAddMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (Semiring.toNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))))))) (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17)))) (Module.toDistribMulAction.{u2, max u2 u3} R' (TrivSqZeroExt.{u2, u3} R' M) (CommSemiring.toSemiring.{u2} R' _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (Semiring.toNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13))))))))) (Algebra.toModule.{u2, max u2 u3} R' (TrivSqZeroExt.{u2, u3} R' M) _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeSemiringInstAlgebraMulOppositeSemiringIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15))) (Module.toDistribMulAction.{u2, u1} R' A (CommSemiring.toSemiring.{u2} R' _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))) (Algebra.toModule.{u2, u1} R' A _inst_3 _inst_17 _inst_18)) (SemilinearMapClass.distribMulActionHomClass.{u2, max u2 u3, u1, max (max u2 u3) u1} R' (TrivSqZeroExt.{u2, u3} R' M) A (AlgHom.{u2, max u3 u2, u1} R' (TrivSqZeroExt.{u2, u3} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeSemiringInstAlgebraMulOppositeSemiringIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18) (CommSemiring.toSemiring.{u2} R' _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (Semiring.toNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13))))))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))) (Algebra.toModule.{u2, max u2 u3} R' (TrivSqZeroExt.{u2, u3} R' M) _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeSemiringInstAlgebraMulOppositeSemiringIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15)) (Algebra.toModule.{u2, u1} R' A _inst_3 _inst_17 _inst_18) (AlgHomClass.linearMapClass.{u2, max u2 u3, u1, max (max u2 u3) u1} R' (TrivSqZeroExt.{u2, u3} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeSemiringInstAlgebraMulOppositeSemiringIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18 (AlgHom.{u2, max u3 u2, u1} R' (TrivSqZeroExt.{u2, u3} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeSemiringInstAlgebraMulOppositeSemiringIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18) (AlgHom.algHomClass.{u2, max u2 u3, u1} R' (TrivSqZeroExt.{u2, u3} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeSemiringInstAlgebraMulOppositeSemiringIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18))))) g (TrivSqZeroExt.inr.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) m))) -> (Eq.{max (max (succ u2) (succ u3)) (succ u1)} (AlgHom.{u2, max u3 u2, u1} R' (TrivSqZeroExt.{u2, u3} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeSemiringInstAlgebraMulOppositeSemiringIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18) f g)
+  forall {R' : Type.{u2}} {M : Type.{u3}} [_inst_3 : CommSemiring.{u2} R'] [_inst_4 : AddCommMonoid.{u3} M] [_inst_13 : Module.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4] [_inst_14 : Module.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4] [_inst_15 : IsCentralScalar.{u2, u3} R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.zero.{u2} R' (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.monoidWithZero.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14))))] {A : Type.{u1}} [_inst_17 : Semiring.{u1} A] [_inst_18 : Algebra.{u2, u1} R' A _inst_3 _inst_17] {{f : AlgHom.{u2, max u3 u2, u1} R' (TrivSqZeroExt.{u2, u3} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeSemiringInstAlgebraMulOppositeSemiringIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18}} {{g : AlgHom.{u2, max u3 u2, u1} R' (TrivSqZeroExt.{u2, u3} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeSemiringInstAlgebraMulOppositeSemiringIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18}}, (forall (m : M), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : TrivSqZeroExt.{u2, u3} R' M) => A) (TrivSqZeroExt.inr.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) m)) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u3), succ u1} (AlgHom.{u2, max u3 u2, u1} R' (TrivSqZeroExt.{u2, u3} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeSemiringInstAlgebraMulOppositeSemiringIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18) (TrivSqZeroExt.{u2, u3} R' M) (fun (_x : TrivSqZeroExt.{u2, u3} R' M) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : TrivSqZeroExt.{u2, u3} R' M) => A) _x) (SMulHomClass.toFunLike.{max (max u2 u3) u1, u2, max u2 u3, u1} (AlgHom.{u2, max u3 u2, u1} R' (TrivSqZeroExt.{u2, u3} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeSemiringInstAlgebraMulOppositeSemiringIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18) R' (TrivSqZeroExt.{u2, u3} R' M) A (SMulZeroClass.toSMul.{u2, max u2 u3} R' (TrivSqZeroExt.{u2, u3} R' M) (AddMonoid.toZero.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (AddCommMonoid.toAddMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (Semiring.toNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13))))))))))) (DistribSMul.toSMulZeroClass.{u2, max u2 u3} R' (TrivSqZeroExt.{u2, u3} R' M) (AddMonoid.toAddZeroClass.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (AddCommMonoid.toAddMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (Semiring.toNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13))))))))))) (DistribMulAction.toDistribSMul.{u2, max u2 u3} R' (TrivSqZeroExt.{u2, u3} R' M) (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddCommMonoid.toAddMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (Semiring.toNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))))))) (Module.toDistribMulAction.{u2, max u2 u3} R' (TrivSqZeroExt.{u2, u3} R' M) (CommSemiring.toSemiring.{u2} R' _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (Semiring.toNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13))))))))) (Algebra.toModule.{u2, max u2 u3} R' (TrivSqZeroExt.{u2, u3} R' M) _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeSemiringInstAlgebraMulOppositeSemiringIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15)))))) (SMulZeroClass.toSMul.{u2, u1} R' A (AddMonoid.toZero.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))))) (DistribSMul.toSMulZeroClass.{u2, u1} R' A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))))) (DistribMulAction.toDistribSMul.{u2, u1} R' A (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17)))) (Module.toDistribMulAction.{u2, u1} R' A (CommSemiring.toSemiring.{u2} R' _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))) (Algebra.toModule.{u2, u1} R' A _inst_3 _inst_17 _inst_18))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u2 u3) u1, u2, max u2 u3, u1} (AlgHom.{u2, max u3 u2, u1} R' (TrivSqZeroExt.{u2, u3} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeSemiringInstAlgebraMulOppositeSemiringIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18) R' (TrivSqZeroExt.{u2, u3} R' M) A (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddCommMonoid.toAddMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (Semiring.toNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))))))) (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17)))) (Module.toDistribMulAction.{u2, max u2 u3} R' (TrivSqZeroExt.{u2, u3} R' M) (CommSemiring.toSemiring.{u2} R' _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (Semiring.toNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13))))))))) (Algebra.toModule.{u2, max u2 u3} R' (TrivSqZeroExt.{u2, u3} R' M) _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeSemiringInstAlgebraMulOppositeSemiringIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15))) (Module.toDistribMulAction.{u2, u1} R' A (CommSemiring.toSemiring.{u2} R' _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))) (Algebra.toModule.{u2, u1} R' A _inst_3 _inst_17 _inst_18)) (SemilinearMapClass.distribMulActionHomClass.{u2, max u2 u3, u1, max (max u2 u3) u1} R' (TrivSqZeroExt.{u2, u3} R' M) A (AlgHom.{u2, max u3 u2, u1} R' (TrivSqZeroExt.{u2, u3} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeSemiringInstAlgebraMulOppositeSemiringIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18) (CommSemiring.toSemiring.{u2} R' _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (Semiring.toNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13))))))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))) (Algebra.toModule.{u2, max u2 u3} R' (TrivSqZeroExt.{u2, u3} R' M) _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeSemiringInstAlgebraMulOppositeSemiringIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15)) (Algebra.toModule.{u2, u1} R' A _inst_3 _inst_17 _inst_18) (AlgHomClass.linearMapClass.{u2, max u2 u3, u1, max (max u2 u3) u1} R' (TrivSqZeroExt.{u2, u3} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeSemiringInstAlgebraMulOppositeSemiringIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18 (AlgHom.{u2, max u3 u2, u1} R' (TrivSqZeroExt.{u2, u3} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeSemiringInstAlgebraMulOppositeSemiringIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18) (AlgHom.algHomClass.{u2, max u2 u3, u1} R' (TrivSqZeroExt.{u2, u3} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeSemiringInstAlgebraMulOppositeSemiringIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18))))) f (TrivSqZeroExt.inr.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) m)) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u3), succ u1} (AlgHom.{u2, max u3 u2, u1} R' (TrivSqZeroExt.{u2, u3} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeSemiringInstAlgebraMulOppositeSemiringIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18) (TrivSqZeroExt.{u2, u3} R' M) (fun (_x : TrivSqZeroExt.{u2, u3} R' M) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : TrivSqZeroExt.{u2, u3} R' M) => A) _x) (SMulHomClass.toFunLike.{max (max u2 u3) u1, u2, max u2 u3, u1} (AlgHom.{u2, max u3 u2, u1} R' (TrivSqZeroExt.{u2, u3} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeSemiringInstAlgebraMulOppositeSemiringIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18) R' (TrivSqZeroExt.{u2, u3} R' M) A (SMulZeroClass.toSMul.{u2, max u2 u3} R' (TrivSqZeroExt.{u2, u3} R' M) (AddMonoid.toZero.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (AddCommMonoid.toAddMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (Semiring.toNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13))))))))))) (DistribSMul.toSMulZeroClass.{u2, max u2 u3} R' (TrivSqZeroExt.{u2, u3} R' M) (AddMonoid.toAddZeroClass.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (AddCommMonoid.toAddMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (Semiring.toNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13))))))))))) (DistribMulAction.toDistribSMul.{u2, max u2 u3} R' (TrivSqZeroExt.{u2, u3} R' M) (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddCommMonoid.toAddMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (Semiring.toNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))))))) (Module.toDistribMulAction.{u2, max u2 u3} R' (TrivSqZeroExt.{u2, u3} R' M) (CommSemiring.toSemiring.{u2} R' _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (Semiring.toNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13))))))))) (Algebra.toModule.{u2, max u2 u3} R' (TrivSqZeroExt.{u2, u3} R' M) _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeSemiringInstAlgebraMulOppositeSemiringIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15)))))) (SMulZeroClass.toSMul.{u2, u1} R' A (AddMonoid.toZero.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))))) (DistribSMul.toSMulZeroClass.{u2, u1} R' A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))))) (DistribMulAction.toDistribSMul.{u2, u1} R' A (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17)))) (Module.toDistribMulAction.{u2, u1} R' A (CommSemiring.toSemiring.{u2} R' _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))) (Algebra.toModule.{u2, u1} R' A _inst_3 _inst_17 _inst_18))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u2 u3) u1, u2, max u2 u3, u1} (AlgHom.{u2, max u3 u2, u1} R' (TrivSqZeroExt.{u2, u3} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeSemiringInstAlgebraMulOppositeSemiringIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18) R' (TrivSqZeroExt.{u2, u3} R' M) A (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddCommMonoid.toAddMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (Semiring.toNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))))))) (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17)))) (Module.toDistribMulAction.{u2, max u2 u3} R' (TrivSqZeroExt.{u2, u3} R' M) (CommSemiring.toSemiring.{u2} R' _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (Semiring.toNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13))))))))) (Algebra.toModule.{u2, max u2 u3} R' (TrivSqZeroExt.{u2, u3} R' M) _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeSemiringInstAlgebraMulOppositeSemiringIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15))) (Module.toDistribMulAction.{u2, u1} R' A (CommSemiring.toSemiring.{u2} R' _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))) (Algebra.toModule.{u2, u1} R' A _inst_3 _inst_17 _inst_18)) (SemilinearMapClass.distribMulActionHomClass.{u2, max u2 u3, u1, max (max u2 u3) u1} R' (TrivSqZeroExt.{u2, u3} R' M) A (AlgHom.{u2, max u3 u2, u1} R' (TrivSqZeroExt.{u2, u3} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeSemiringInstAlgebraMulOppositeSemiringIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18) (CommSemiring.toSemiring.{u2} R' _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (Semiring.toNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13))))))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))) (Algebra.toModule.{u2, max u2 u3} R' (TrivSqZeroExt.{u2, u3} R' M) _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeSemiringInstAlgebraMulOppositeSemiringIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15)) (Algebra.toModule.{u2, u1} R' A _inst_3 _inst_17 _inst_18) (AlgHomClass.linearMapClass.{u2, max u2 u3, u1, max (max u2 u3) u1} R' (TrivSqZeroExt.{u2, u3} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeSemiringInstAlgebraMulOppositeSemiringIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18 (AlgHom.{u2, max u3 u2, u1} R' (TrivSqZeroExt.{u2, u3} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeSemiringInstAlgebraMulOppositeSemiringIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18) (AlgHom.algHomClass.{u2, max u2 u3, u1} R' (TrivSqZeroExt.{u2, u3} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeSemiringInstAlgebraMulOppositeSemiringIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18))))) g (TrivSqZeroExt.inr.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) m))) -> (Eq.{max (max (succ u2) (succ u3)) (succ u1)} (AlgHom.{u2, max u3 u2, u1} R' (TrivSqZeroExt.{u2, u3} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeSemiringInstAlgebraMulOppositeSemiringIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18) f g)
 Case conversion may be inaccurate. Consider using '#align triv_sq_zero_ext.alg_hom_ext TrivSqZeroExt.algHom_extₓ'. -/
 theorem algHom_ext {A} [Semiring A] [Algebra R' A] ⦃f g : tsze R' M →ₐ[R'] A⦄
     (h : ∀ m, f (inr m) = g (inr m)) : f = g :=
@@ -1119,7 +1119,7 @@ variable {A : Type _} [Semiring A] [Algebra R' A]
 lean 3 declaration is
   forall {R' : Type.{u1}} {M : Type.{u2}} [_inst_3 : CommSemiring.{u1} R'] [_inst_4 : AddCommMonoid.{u2} M] [_inst_13 : Module.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4] [_inst_14 : Module.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4] [_inst_15 : IsCentralScalar.{u1, u2} R' M (SMulZeroClass.toHasSmul.{u1, u2} R' M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} R' M (MulZeroClass.toHasZero.{u1} R' (MulZeroOneClass.toMulZeroClass.{u1} R' (MonoidWithZero.toMulZeroOneClass.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toHasSmul.{u1, u2} (MulOpposite.{u1} R') M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MulZeroClass.toHasZero.{u1} (MulOpposite.{u1} R') (MulZeroOneClass.toMulZeroClass.{u1} (MulOpposite.{u1} R') (MonoidWithZero.toMulZeroOneClass.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14))))] {A : Type.{u3}} [_inst_17 : Semiring.{u3} A] [_inst_18 : Algebra.{u1, u3} R' A _inst_3 _inst_17] (f : LinearMap.{u1, u1, u2, u3} R' R' (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18)), (forall (x : M) (y : M), Eq.{succ u3} A (HMul.hMul.{u3, u3, u3} A A A (instHMul.{u3} A (Distrib.toHasMul.{u3} A (NonUnitalNonAssocSemiring.toDistrib.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))))) (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearMap.{u1, u1, u2, u3} R' R' (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18)) (fun (_x : LinearMap.{u1, u1, u2, u3} R' R' (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18)) => M -> A) (LinearMap.hasCoeToFun.{u1, u1, u2, u3} R' R' M A (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))) f x) (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearMap.{u1, u1, u2, u3} R' R' (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18)) (fun (_x : LinearMap.{u1, u1, u2, u3} R' R' (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18)) => M -> A) (LinearMap.hasCoeToFun.{u1, u1, u2, u3} R' R' M A (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))) f y)) (OfNat.ofNat.{u3} A 0 (OfNat.mk.{u3} A 0 (Zero.zero.{u3} A (MulZeroClass.toHasZero.{u3} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17)))))))) -> (AlgHom.{u1, max u1 u2, u3} R' (TrivSqZeroExt.{u1, u2} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (TrivSqZeroExt.liftAux._proof_1.{u1, u2} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15)) _inst_17 (TrivSqZeroExt.algebra.{u1, u2} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18)
 but is expected to have type
-  forall {R' : Type.{u1}} {M : Type.{u2}} [_inst_3 : CommSemiring.{u1} R'] [_inst_4 : AddCommMonoid.{u2} M] [_inst_13 : Module.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4] [_inst_14 : Module.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4] [_inst_15 : IsCentralScalar.{u1, u2} R' M (SMulZeroClass.toSMul.{u1, u2} R' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u1, u2} (MulOpposite.{u1} R') M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.zero.{u1} R' (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.monoidWithZero.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14))))] {A : Type.{u3}} [_inst_17 : Semiring.{u3} A] [_inst_18 : Algebra.{u1, u3} R' A _inst_3 _inst_17] (f : LinearMap.{u1, u1, u2, u3} R' R' (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18)), (forall (x : M) (y : M), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => A) x) (HMul.hMul.{u3, u3, u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => A) x) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => A) y) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => A) x) (instHMul.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => A) x) (NonUnitalNonAssocSemiring.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => A) x) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => A) x) (Semiring.toNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => A) x) _inst_17)))) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (LinearMap.{u1, u1, u2, u3} R' R' (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18)) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => A) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u3} R' R' M A (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))) f x) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (LinearMap.{u1, u1, u2, u3} R' R' (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18)) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => A) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u3} R' R' M A (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))) f y)) (OfNat.ofNat.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => A) x) 0 (Zero.toOfNat0.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => A) x) (MonoidWithZero.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => A) x) (Semiring.toMonoidWithZero.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => A) x) _inst_17))))) -> (AlgHom.{u1, max u2 u1, u3} R' (TrivSqZeroExt.{u1, u2} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u1, u1, u2} R' _inst_3 (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u1, u1, u2} R' R' M (SMulZeroClass.toSMul.{u1, u2} R' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) (SMulZeroClass.toSMul.{u1, u2} R' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u1, u2} (MulOpposite.{u1} R') M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MonoidWithZero.toZero.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeSemiringInstAlgebraMulOppositeSemiringIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u1, u2} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18)
+  forall {R' : Type.{u1}} {M : Type.{u2}} [_inst_3 : CommSemiring.{u1} R'] [_inst_4 : AddCommMonoid.{u2} M] [_inst_13 : Module.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4] [_inst_14 : Module.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4] [_inst_15 : IsCentralScalar.{u1, u2} R' M (SMulZeroClass.toSMul.{u1, u2} R' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u1, u2} (MulOpposite.{u1} R') M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.zero.{u1} R' (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.monoidWithZero.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14))))] {A : Type.{u3}} [_inst_17 : Semiring.{u3} A] [_inst_18 : Algebra.{u1, u3} R' A _inst_3 _inst_17] (f : LinearMap.{u1, u1, u2, u3} R' R' (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18)), (forall (x : M) (y : M), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => A) x) (HMul.hMul.{u3, u3, u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => A) x) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => A) y) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => A) x) (instHMul.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => A) x) (NonUnitalNonAssocSemiring.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => A) x) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => A) x) (Semiring.toNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => A) x) _inst_17)))) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (LinearMap.{u1, u1, u2, u3} R' R' (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18)) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => A) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u3} R' R' M A (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))) f x) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (LinearMap.{u1, u1, u2, u3} R' R' (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18)) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => A) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u3} R' R' M A (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))) f y)) (OfNat.ofNat.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => A) x) 0 (Zero.toOfNat0.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => A) x) (MonoidWithZero.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => A) x) (Semiring.toMonoidWithZero.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => A) x) _inst_17))))) -> (AlgHom.{u1, max u2 u1, u3} R' (TrivSqZeroExt.{u1, u2} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u1, u1, u2} R' _inst_3 (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u1, u1, u2} R' R' M (SMulZeroClass.toSMul.{u1, u2} R' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) (SMulZeroClass.toSMul.{u1, u2} R' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u1, u2} (MulOpposite.{u1} R') M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MonoidWithZero.toZero.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeSemiringInstAlgebraMulOppositeSemiringIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u1, u2} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18)
 Case conversion may be inaccurate. Consider using '#align triv_sq_zero_ext.lift_aux TrivSqZeroExt.liftAuxₓ'. -/
 /-- There is an alg_hom from the trivial square zero extension to any `R`-algebra with a submodule
 whose products are all zero.
@@ -1142,7 +1142,7 @@ def liftAux (f : M →ₗ[R'] A) (hf : ∀ x y, f x * f y = 0) : tsze R' M →
 lean 3 declaration is
   forall {R' : Type.{u1}} {M : Type.{u2}} [_inst_3 : CommSemiring.{u1} R'] [_inst_4 : AddCommMonoid.{u2} M] [_inst_13 : Module.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4] [_inst_14 : Module.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4] [_inst_15 : IsCentralScalar.{u1, u2} R' M (SMulZeroClass.toHasSmul.{u1, u2} R' M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} R' M (MulZeroClass.toHasZero.{u1} R' (MulZeroOneClass.toMulZeroClass.{u1} R' (MonoidWithZero.toMulZeroOneClass.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toHasSmul.{u1, u2} (MulOpposite.{u1} R') M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MulZeroClass.toHasZero.{u1} (MulOpposite.{u1} R') (MulZeroOneClass.toMulZeroClass.{u1} (MulOpposite.{u1} R') (MonoidWithZero.toMulZeroOneClass.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14))))] {A : Type.{u3}} [_inst_17 : Semiring.{u3} A] [_inst_18 : Algebra.{u1, u3} R' A _inst_3 _inst_17] (f : LinearMap.{u1, u1, u2, u3} R' R' (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18)) (hf : forall (x : M) (y : M), Eq.{succ u3} A (HMul.hMul.{u3, u3, u3} A A A (instHMul.{u3} A (Distrib.toHasMul.{u3} A (NonUnitalNonAssocSemiring.toDistrib.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))))) (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearMap.{u1, u1, u2, u3} R' R' (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18)) (fun (_x : LinearMap.{u1, u1, u2, u3} R' R' (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18)) => M -> A) (LinearMap.hasCoeToFun.{u1, u1, u2, u3} R' R' M A (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))) f x) (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearMap.{u1, u1, u2, u3} R' R' (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18)) (fun (_x : LinearMap.{u1, u1, u2, u3} R' R' (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18)) => M -> A) (LinearMap.hasCoeToFun.{u1, u1, u2, u3} R' R' M A (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))) f y)) (OfNat.ofNat.{u3} A 0 (OfNat.mk.{u3} A 0 (Zero.zero.{u3} A (MulZeroClass.toHasZero.{u3} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17)))))))) (m : M), Eq.{succ u3} A (coeFn.{max (succ (max u1 u2)) (succ u3), max (succ (max u1 u2)) (succ u3)} (AlgHom.{u1, max u1 u2, u3} R' (TrivSqZeroExt.{u1, u2} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (TrivSqZeroExt.liftAux._proof_1.{u1, u2} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15)) _inst_17 (TrivSqZeroExt.algebra.{u1, u2} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18) (fun (_x : AlgHom.{u1, max u1 u2, u3} R' (TrivSqZeroExt.{u1, u2} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (TrivSqZeroExt.liftAux._proof_1.{u1, u2} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15)) _inst_17 (TrivSqZeroExt.algebra.{u1, u2} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18) => (TrivSqZeroExt.{u1, u2} R' M) -> A) ([anonymous].{u1, max u1 u2, u3} R' (TrivSqZeroExt.{u1, u2} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (TrivSqZeroExt.liftAux._proof_1.{u1, u2} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15)) _inst_17 (TrivSqZeroExt.algebra.{u1, u2} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18) (TrivSqZeroExt.liftAux.{u1, u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15 A _inst_17 _inst_18 f hf) (TrivSqZeroExt.inr.{u1, u2} R' M (MulZeroClass.toHasZero.{u1} R' (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))))) m)) (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearMap.{u1, u1, u2, u3} R' R' (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18)) (fun (_x : LinearMap.{u1, u1, u2, u3} R' R' (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18)) => M -> A) (LinearMap.hasCoeToFun.{u1, u1, u2, u3} R' R' M A (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))) f m)
 but is expected to have type
-  forall {R' : Type.{u2}} {M : Type.{u3}} [_inst_3 : CommSemiring.{u2} R'] [_inst_4 : AddCommMonoid.{u3} M] [_inst_13 : Module.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4] [_inst_14 : Module.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4] [_inst_15 : IsCentralScalar.{u2, u3} R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.zero.{u2} R' (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.monoidWithZero.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14))))] {A : Type.{u1}} [_inst_17 : Semiring.{u1} A] [_inst_18 : Algebra.{u2, u1} R' A _inst_3 _inst_17] (f : LinearMap.{u2, u2, u3, u1} R' R' (CommSemiring.toSemiring.{u2} R' _inst_3) (CommSemiring.toSemiring.{u2} R' _inst_3) (RingHom.id.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))) _inst_13 (Algebra.toModule.{u2, u1} R' A _inst_3 _inst_17 _inst_18)) (hf : forall (x : M) (y : M), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => A) x) (HMul.hMul.{u1, u1, u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => A) x) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => A) y) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => A) x) (instHMul.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => A) x) (NonUnitalNonAssocSemiring.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => A) x) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => A) x) (Semiring.toNonAssocSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => A) x) _inst_17)))) (FunLike.coe.{max (succ u3) (succ u1), succ u3, succ u1} (LinearMap.{u2, u2, u3, u1} R' R' (CommSemiring.toSemiring.{u2} R' _inst_3) (CommSemiring.toSemiring.{u2} R' _inst_3) (RingHom.id.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))) _inst_13 (Algebra.toModule.{u2, u1} R' A _inst_3 _inst_17 _inst_18)) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => A) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u3, u1} R' R' M A (CommSemiring.toSemiring.{u2} R' _inst_3) (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))) _inst_13 (Algebra.toModule.{u2, u1} R' A _inst_3 _inst_17 _inst_18) (RingHom.id.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) f x) (FunLike.coe.{max (succ u3) (succ u1), succ u3, succ u1} (LinearMap.{u2, u2, u3, u1} R' R' (CommSemiring.toSemiring.{u2} R' _inst_3) (CommSemiring.toSemiring.{u2} R' _inst_3) (RingHom.id.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))) _inst_13 (Algebra.toModule.{u2, u1} R' A _inst_3 _inst_17 _inst_18)) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => A) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u3, u1} R' R' M A (CommSemiring.toSemiring.{u2} R' _inst_3) (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))) _inst_13 (Algebra.toModule.{u2, u1} R' A _inst_3 _inst_17 _inst_18) (RingHom.id.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) f y)) (OfNat.ofNat.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => A) x) 0 (Zero.toOfNat0.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => A) x) (MonoidWithZero.toZero.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => A) x) (Semiring.toMonoidWithZero.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => A) x) _inst_17))))) (m : M), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : TrivSqZeroExt.{u2, u3} R' M) => A) (TrivSqZeroExt.inr.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) m)) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u3), succ u1} (AlgHom.{u2, max u3 u2, u1} R' (TrivSqZeroExt.{u2, u3} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeSemiringInstAlgebraMulOppositeSemiringIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18) (TrivSqZeroExt.{u2, u3} R' M) (fun (_x : TrivSqZeroExt.{u2, u3} R' M) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : TrivSqZeroExt.{u2, u3} R' M) => A) _x) (SMulHomClass.toFunLike.{max (max u2 u3) u1, u2, max u2 u3, u1} (AlgHom.{u2, max u3 u2, u1} R' (TrivSqZeroExt.{u2, u3} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeSemiringInstAlgebraMulOppositeSemiringIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18) R' (TrivSqZeroExt.{u2, u3} R' M) A (SMulZeroClass.toSMul.{u2, max u2 u3} R' (TrivSqZeroExt.{u2, u3} R' M) (AddMonoid.toZero.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (AddCommMonoid.toAddMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (Semiring.toNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13))))))))))) (DistribSMul.toSMulZeroClass.{u2, max u2 u3} R' (TrivSqZeroExt.{u2, u3} R' M) (AddMonoid.toAddZeroClass.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (AddCommMonoid.toAddMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (Semiring.toNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13))))))))))) (DistribMulAction.toDistribSMul.{u2, max u2 u3} R' (TrivSqZeroExt.{u2, u3} R' M) (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddCommMonoid.toAddMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (Semiring.toNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))))))) (Module.toDistribMulAction.{u2, max u2 u3} R' (TrivSqZeroExt.{u2, u3} R' M) (CommSemiring.toSemiring.{u2} R' _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (Semiring.toNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13))))))))) (Algebra.toModule.{u2, max u2 u3} R' (TrivSqZeroExt.{u2, u3} R' M) _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeSemiringInstAlgebraMulOppositeSemiringIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15)))))) (SMulZeroClass.toSMul.{u2, u1} R' A (AddMonoid.toZero.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))))) (DistribSMul.toSMulZeroClass.{u2, u1} R' A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))))) (DistribMulAction.toDistribSMul.{u2, u1} R' A (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17)))) (Module.toDistribMulAction.{u2, u1} R' A (CommSemiring.toSemiring.{u2} R' _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))) (Algebra.toModule.{u2, u1} R' A _inst_3 _inst_17 _inst_18))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u2 u3) u1, u2, max u2 u3, u1} (AlgHom.{u2, max u3 u2, u1} R' (TrivSqZeroExt.{u2, u3} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeSemiringInstAlgebraMulOppositeSemiringIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18) R' (TrivSqZeroExt.{u2, u3} R' M) A (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddCommMonoid.toAddMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (Semiring.toNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))))))) (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17)))) (Module.toDistribMulAction.{u2, max u2 u3} R' (TrivSqZeroExt.{u2, u3} R' M) (CommSemiring.toSemiring.{u2} R' _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (Semiring.toNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13))))))))) (Algebra.toModule.{u2, max u2 u3} R' (TrivSqZeroExt.{u2, u3} R' M) _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeSemiringInstAlgebraMulOppositeSemiringIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15))) (Module.toDistribMulAction.{u2, u1} R' A (CommSemiring.toSemiring.{u2} R' _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))) (Algebra.toModule.{u2, u1} R' A _inst_3 _inst_17 _inst_18)) (SemilinearMapClass.distribMulActionHomClass.{u2, max u2 u3, u1, max (max u2 u3) u1} R' (TrivSqZeroExt.{u2, u3} R' M) A (AlgHom.{u2, max u3 u2, u1} R' (TrivSqZeroExt.{u2, u3} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeSemiringInstAlgebraMulOppositeSemiringIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18) (CommSemiring.toSemiring.{u2} R' _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (Semiring.toNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13))))))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))) (Algebra.toModule.{u2, max u2 u3} R' (TrivSqZeroExt.{u2, u3} R' M) _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeSemiringInstAlgebraMulOppositeSemiringIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15)) (Algebra.toModule.{u2, u1} R' A _inst_3 _inst_17 _inst_18) (AlgHomClass.linearMapClass.{u2, max u2 u3, u1, max (max u2 u3) u1} R' (TrivSqZeroExt.{u2, u3} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeSemiringInstAlgebraMulOppositeSemiringIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18 (AlgHom.{u2, max u3 u2, u1} R' (TrivSqZeroExt.{u2, u3} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeSemiringInstAlgebraMulOppositeSemiringIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18) (AlgHom.algHomClass.{u2, max u2 u3, u1} R' (TrivSqZeroExt.{u2, u3} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeSemiringInstAlgebraMulOppositeSemiringIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18))))) (TrivSqZeroExt.liftAux.{u2, u3, u1} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15 A _inst_17 _inst_18 f hf) (TrivSqZeroExt.inr.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) m)) (FunLike.coe.{max (succ u3) (succ u1), succ u3, succ u1} (LinearMap.{u2, u2, u3, u1} R' R' (CommSemiring.toSemiring.{u2} R' _inst_3) (CommSemiring.toSemiring.{u2} R' _inst_3) (RingHom.id.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))) _inst_13 (Algebra.toModule.{u2, u1} R' A _inst_3 _inst_17 _inst_18)) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => A) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u3, u1} R' R' M A (CommSemiring.toSemiring.{u2} R' _inst_3) (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))) _inst_13 (Algebra.toModule.{u2, u1} R' A _inst_3 _inst_17 _inst_18) (RingHom.id.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) f m)
+  forall {R' : Type.{u2}} {M : Type.{u3}} [_inst_3 : CommSemiring.{u2} R'] [_inst_4 : AddCommMonoid.{u3} M] [_inst_13 : Module.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4] [_inst_14 : Module.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4] [_inst_15 : IsCentralScalar.{u2, u3} R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.zero.{u2} R' (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.monoidWithZero.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14))))] {A : Type.{u1}} [_inst_17 : Semiring.{u1} A] [_inst_18 : Algebra.{u2, u1} R' A _inst_3 _inst_17] (f : LinearMap.{u2, u2, u3, u1} R' R' (CommSemiring.toSemiring.{u2} R' _inst_3) (CommSemiring.toSemiring.{u2} R' _inst_3) (RingHom.id.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))) _inst_13 (Algebra.toModule.{u2, u1} R' A _inst_3 _inst_17 _inst_18)) (hf : forall (x : M) (y : M), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => A) x) (HMul.hMul.{u1, u1, u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => A) x) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => A) y) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => A) x) (instHMul.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => A) x) (NonUnitalNonAssocSemiring.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => A) x) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => A) x) (Semiring.toNonAssocSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => A) x) _inst_17)))) (FunLike.coe.{max (succ u3) (succ u1), succ u3, succ u1} (LinearMap.{u2, u2, u3, u1} R' R' (CommSemiring.toSemiring.{u2} R' _inst_3) (CommSemiring.toSemiring.{u2} R' _inst_3) (RingHom.id.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))) _inst_13 (Algebra.toModule.{u2, u1} R' A _inst_3 _inst_17 _inst_18)) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => A) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u3, u1} R' R' M A (CommSemiring.toSemiring.{u2} R' _inst_3) (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))) _inst_13 (Algebra.toModule.{u2, u1} R' A _inst_3 _inst_17 _inst_18) (RingHom.id.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) f x) (FunLike.coe.{max (succ u3) (succ u1), succ u3, succ u1} (LinearMap.{u2, u2, u3, u1} R' R' (CommSemiring.toSemiring.{u2} R' _inst_3) (CommSemiring.toSemiring.{u2} R' _inst_3) (RingHom.id.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))) _inst_13 (Algebra.toModule.{u2, u1} R' A _inst_3 _inst_17 _inst_18)) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => A) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u3, u1} R' R' M A (CommSemiring.toSemiring.{u2} R' _inst_3) (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))) _inst_13 (Algebra.toModule.{u2, u1} R' A _inst_3 _inst_17 _inst_18) (RingHom.id.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) f y)) (OfNat.ofNat.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => A) x) 0 (Zero.toOfNat0.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => A) x) (MonoidWithZero.toZero.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => A) x) (Semiring.toMonoidWithZero.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => A) x) _inst_17))))) (m : M), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : TrivSqZeroExt.{u2, u3} R' M) => A) (TrivSqZeroExt.inr.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) m)) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u3), succ u1} (AlgHom.{u2, max u3 u2, u1} R' (TrivSqZeroExt.{u2, u3} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeSemiringInstAlgebraMulOppositeSemiringIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18) (TrivSqZeroExt.{u2, u3} R' M) (fun (_x : TrivSqZeroExt.{u2, u3} R' M) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : TrivSqZeroExt.{u2, u3} R' M) => A) _x) (SMulHomClass.toFunLike.{max (max u2 u3) u1, u2, max u2 u3, u1} (AlgHom.{u2, max u3 u2, u1} R' (TrivSqZeroExt.{u2, u3} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeSemiringInstAlgebraMulOppositeSemiringIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18) R' (TrivSqZeroExt.{u2, u3} R' M) A (SMulZeroClass.toSMul.{u2, max u2 u3} R' (TrivSqZeroExt.{u2, u3} R' M) (AddMonoid.toZero.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (AddCommMonoid.toAddMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (Semiring.toNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13))))))))))) (DistribSMul.toSMulZeroClass.{u2, max u2 u3} R' (TrivSqZeroExt.{u2, u3} R' M) (AddMonoid.toAddZeroClass.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (AddCommMonoid.toAddMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (Semiring.toNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13))))))))))) (DistribMulAction.toDistribSMul.{u2, max u2 u3} R' (TrivSqZeroExt.{u2, u3} R' M) (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddCommMonoid.toAddMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (Semiring.toNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))))))) (Module.toDistribMulAction.{u2, max u2 u3} R' (TrivSqZeroExt.{u2, u3} R' M) (CommSemiring.toSemiring.{u2} R' _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (Semiring.toNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13))))))))) (Algebra.toModule.{u2, max u2 u3} R' (TrivSqZeroExt.{u2, u3} R' M) _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeSemiringInstAlgebraMulOppositeSemiringIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15)))))) (SMulZeroClass.toSMul.{u2, u1} R' A (AddMonoid.toZero.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))))) (DistribSMul.toSMulZeroClass.{u2, u1} R' A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))))) (DistribMulAction.toDistribSMul.{u2, u1} R' A (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17)))) (Module.toDistribMulAction.{u2, u1} R' A (CommSemiring.toSemiring.{u2} R' _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))) (Algebra.toModule.{u2, u1} R' A _inst_3 _inst_17 _inst_18))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u2 u3) u1, u2, max u2 u3, u1} (AlgHom.{u2, max u3 u2, u1} R' (TrivSqZeroExt.{u2, u3} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeSemiringInstAlgebraMulOppositeSemiringIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18) R' (TrivSqZeroExt.{u2, u3} R' M) A (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddCommMonoid.toAddMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (Semiring.toNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))))))) (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17)))) (Module.toDistribMulAction.{u2, max u2 u3} R' (TrivSqZeroExt.{u2, u3} R' M) (CommSemiring.toSemiring.{u2} R' _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (Semiring.toNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13))))))))) (Algebra.toModule.{u2, max u2 u3} R' (TrivSqZeroExt.{u2, u3} R' M) _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeSemiringInstAlgebraMulOppositeSemiringIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15))) (Module.toDistribMulAction.{u2, u1} R' A (CommSemiring.toSemiring.{u2} R' _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))) (Algebra.toModule.{u2, u1} R' A _inst_3 _inst_17 _inst_18)) (SemilinearMapClass.distribMulActionHomClass.{u2, max u2 u3, u1, max (max u2 u3) u1} R' (TrivSqZeroExt.{u2, u3} R' M) A (AlgHom.{u2, max u3 u2, u1} R' (TrivSqZeroExt.{u2, u3} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeSemiringInstAlgebraMulOppositeSemiringIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18) (CommSemiring.toSemiring.{u2} R' _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (Semiring.toNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13))))))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))) (Algebra.toModule.{u2, max u2 u3} R' (TrivSqZeroExt.{u2, u3} R' M) _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeSemiringInstAlgebraMulOppositeSemiringIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15)) (Algebra.toModule.{u2, u1} R' A _inst_3 _inst_17 _inst_18) (AlgHomClass.linearMapClass.{u2, max u2 u3, u1, max (max u2 u3) u1} R' (TrivSqZeroExt.{u2, u3} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeSemiringInstAlgebraMulOppositeSemiringIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18 (AlgHom.{u2, max u3 u2, u1} R' (TrivSqZeroExt.{u2, u3} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeSemiringInstAlgebraMulOppositeSemiringIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18) (AlgHom.algHomClass.{u2, max u2 u3, u1} R' (TrivSqZeroExt.{u2, u3} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeSemiringInstAlgebraMulOppositeSemiringIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18))))) (TrivSqZeroExt.liftAux.{u2, u3, u1} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15 A _inst_17 _inst_18 f hf) (TrivSqZeroExt.inr.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) m)) (FunLike.coe.{max (succ u3) (succ u1), succ u3, succ u1} (LinearMap.{u2, u2, u3, u1} R' R' (CommSemiring.toSemiring.{u2} R' _inst_3) (CommSemiring.toSemiring.{u2} R' _inst_3) (RingHom.id.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))) _inst_13 (Algebra.toModule.{u2, u1} R' A _inst_3 _inst_17 _inst_18)) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => A) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u3, u1} R' R' M A (CommSemiring.toSemiring.{u2} R' _inst_3) (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))) _inst_13 (Algebra.toModule.{u2, u1} R' A _inst_3 _inst_17 _inst_18) (RingHom.id.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) f m)
 Case conversion may be inaccurate. Consider using '#align triv_sq_zero_ext.lift_aux_apply_inr TrivSqZeroExt.liftAux_apply_inrₓ'. -/
 @[simp]
 theorem liftAux_apply_inr (f : M →ₗ[R'] A) (hf : ∀ x y, f x * f y = 0) (m : M) :
@@ -1154,7 +1154,7 @@ theorem liftAux_apply_inr (f : M →ₗ[R'] A) (hf : ∀ x y, f x * f y = 0) (m
 lean 3 declaration is
   forall {R' : Type.{u1}} {M : Type.{u2}} [_inst_3 : CommSemiring.{u1} R'] [_inst_4 : AddCommMonoid.{u2} M] [_inst_13 : Module.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4] [_inst_14 : Module.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4] [_inst_15 : IsCentralScalar.{u1, u2} R' M (SMulZeroClass.toHasSmul.{u1, u2} R' M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} R' M (MulZeroClass.toHasZero.{u1} R' (MulZeroOneClass.toMulZeroClass.{u1} R' (MonoidWithZero.toMulZeroOneClass.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toHasSmul.{u1, u2} (MulOpposite.{u1} R') M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MulZeroClass.toHasZero.{u1} (MulOpposite.{u1} R') (MulZeroOneClass.toMulZeroClass.{u1} (MulOpposite.{u1} R') (MonoidWithZero.toMulZeroOneClass.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14))))] {A : Type.{u3}} [_inst_17 : Semiring.{u3} A] [_inst_18 : Algebra.{u1, u3} R' A _inst_3 _inst_17] (f : LinearMap.{u1, u1, u2, u3} R' R' (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18)) (hf : forall (x : M) (y : M), Eq.{succ u3} A (HMul.hMul.{u3, u3, u3} A A A (instHMul.{u3} A (Distrib.toHasMul.{u3} A (NonUnitalNonAssocSemiring.toDistrib.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))))) (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearMap.{u1, u1, u2, u3} R' R' (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18)) (fun (_x : LinearMap.{u1, u1, u2, u3} R' R' (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18)) => M -> A) (LinearMap.hasCoeToFun.{u1, u1, u2, u3} R' R' M A (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))) f x) (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearMap.{u1, u1, u2, u3} R' R' (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18)) (fun (_x : LinearMap.{u1, u1, u2, u3} R' R' (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18)) => M -> A) (LinearMap.hasCoeToFun.{u1, u1, u2, u3} R' R' M A (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))) f y)) (OfNat.ofNat.{u3} A 0 (OfNat.mk.{u3} A 0 (Zero.zero.{u3} A (MulZeroClass.toHasZero.{u3} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17)))))))), Eq.{max (succ u2) (succ u3)} (LinearMap.{u1, u1, u2, u3} R' R' (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18)) (LinearMap.comp.{u1, u1, u1, u2, max u1 u2, u3} R' R' R' M (TrivSqZeroExt.{u1, u2} R' M) A (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u2} (TrivSqZeroExt.{u1, u2} R' M) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (TrivSqZeroExt.{u1, u2} R' M) (Semiring.toNonAssocSemiring.{max u1 u2} (TrivSqZeroExt.{u1, u2} R' M) (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (TrivSqZeroExt.liftAux._proof_1.{u1, u2} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, max u1 u2} R' (TrivSqZeroExt.{u1, u2} R' M) _inst_3 (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (TrivSqZeroExt.liftAux._proof_1.{u1, u2} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15)) (TrivSqZeroExt.algebra.{u1, u2} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15)) (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (RingHomCompTriple.right_ids.{u1, u1} R' R' (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))) (AlgHom.toLinearMap.{u1, max u1 u2, u3} R' (TrivSqZeroExt.{u1, u2} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (TrivSqZeroExt.liftAux._proof_1.{u1, u2} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15)) _inst_17 (TrivSqZeroExt.algebra.{u1, u2} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18 (TrivSqZeroExt.liftAux.{u1, u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15 A _inst_17 _inst_18 f hf)) (TrivSqZeroExt.inrHom.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)) f
 but is expected to have type
-  forall {R' : Type.{u2}} {M : Type.{u3}} [_inst_3 : CommSemiring.{u2} R'] [_inst_4 : AddCommMonoid.{u3} M] [_inst_13 : Module.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4] [_inst_14 : Module.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4] [_inst_15 : IsCentralScalar.{u2, u3} R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.zero.{u2} R' (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.monoidWithZero.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14))))] {A : Type.{u1}} [_inst_17 : Semiring.{u1} A] [_inst_18 : Algebra.{u2, u1} R' A _inst_3 _inst_17] (f : LinearMap.{u2, u2, u3, u1} R' R' (CommSemiring.toSemiring.{u2} R' _inst_3) (CommSemiring.toSemiring.{u2} R' _inst_3) (RingHom.id.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))) _inst_13 (Algebra.toModule.{u2, u1} R' A _inst_3 _inst_17 _inst_18)) (hf : forall (x : M) (y : M), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => A) x) (HMul.hMul.{u1, u1, u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => A) x) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => A) y) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => A) x) (instHMul.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => A) x) (NonUnitalNonAssocSemiring.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => A) x) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => A) x) (Semiring.toNonAssocSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => A) x) _inst_17)))) (FunLike.coe.{max (succ u3) (succ u1), succ u3, succ u1} (LinearMap.{u2, u2, u3, u1} R' R' (CommSemiring.toSemiring.{u2} R' _inst_3) (CommSemiring.toSemiring.{u2} R' _inst_3) (RingHom.id.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))) _inst_13 (Algebra.toModule.{u2, u1} R' A _inst_3 _inst_17 _inst_18)) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => A) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u3, u1} R' R' M A (CommSemiring.toSemiring.{u2} R' _inst_3) (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))) _inst_13 (Algebra.toModule.{u2, u1} R' A _inst_3 _inst_17 _inst_18) (RingHom.id.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) f x) (FunLike.coe.{max (succ u3) (succ u1), succ u3, succ u1} (LinearMap.{u2, u2, u3, u1} R' R' (CommSemiring.toSemiring.{u2} R' _inst_3) (CommSemiring.toSemiring.{u2} R' _inst_3) (RingHom.id.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))) _inst_13 (Algebra.toModule.{u2, u1} R' A _inst_3 _inst_17 _inst_18)) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => A) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u3, u1} R' R' M A (CommSemiring.toSemiring.{u2} R' _inst_3) (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))) _inst_13 (Algebra.toModule.{u2, u1} R' A _inst_3 _inst_17 _inst_18) (RingHom.id.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) f y)) (OfNat.ofNat.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => A) x) 0 (Zero.toOfNat0.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => A) x) (MonoidWithZero.toZero.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => A) x) (Semiring.toMonoidWithZero.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => A) x) _inst_17))))), Eq.{max (succ u3) (succ u1)} (LinearMap.{u2, u2, u3, u1} R' R' (CommSemiring.toSemiring.{u2} R' _inst_3) (CommSemiring.toSemiring.{u2} R' _inst_3) (RingHom.id.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))) _inst_13 (Algebra.toModule.{u2, u1} R' A _inst_3 _inst_17 _inst_18)) (LinearMap.comp.{u2, u2, u2, u3, max u2 u3, u1} R' R' R' M (TrivSqZeroExt.{u2, u3} R' M) A (CommSemiring.toSemiring.{u2} R' _inst_3) (CommSemiring.toSemiring.{u2} R' _inst_3) (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (Semiring.toNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13))))))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))) _inst_13 (Algebra.toModule.{u2, max u2 u3} R' (TrivSqZeroExt.{u2, u3} R' M) _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeSemiringInstAlgebraMulOppositeSemiringIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15)) (Algebra.toModule.{u2, u1} R' A _inst_3 _inst_17 _inst_18) (RingHom.id.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (RingHom.id.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (RingHom.id.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (RingHomCompTriple.ids.{u2, u2} R' R' (CommSemiring.toSemiring.{u2} R' _inst_3) (CommSemiring.toSemiring.{u2} R' _inst_3) (RingHom.id.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AlgHom.toLinearMap.{u2, max u2 u3, u1} R' (TrivSqZeroExt.{u2, u3} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeSemiringInstAlgebraMulOppositeSemiringIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18 (TrivSqZeroExt.liftAux.{u2, u3, u1} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15 A _inst_17 _inst_18 f hf)) (TrivSqZeroExt.inrHom.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)) f
+  forall {R' : Type.{u2}} {M : Type.{u3}} [_inst_3 : CommSemiring.{u2} R'] [_inst_4 : AddCommMonoid.{u3} M] [_inst_13 : Module.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4] [_inst_14 : Module.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4] [_inst_15 : IsCentralScalar.{u2, u3} R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.zero.{u2} R' (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.monoidWithZero.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14))))] {A : Type.{u1}} [_inst_17 : Semiring.{u1} A] [_inst_18 : Algebra.{u2, u1} R' A _inst_3 _inst_17] (f : LinearMap.{u2, u2, u3, u1} R' R' (CommSemiring.toSemiring.{u2} R' _inst_3) (CommSemiring.toSemiring.{u2} R' _inst_3) (RingHom.id.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))) _inst_13 (Algebra.toModule.{u2, u1} R' A _inst_3 _inst_17 _inst_18)) (hf : forall (x : M) (y : M), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => A) x) (HMul.hMul.{u1, u1, u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => A) x) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => A) y) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => A) x) (instHMul.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => A) x) (NonUnitalNonAssocSemiring.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => A) x) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => A) x) (Semiring.toNonAssocSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => A) x) _inst_17)))) (FunLike.coe.{max (succ u3) (succ u1), succ u3, succ u1} (LinearMap.{u2, u2, u3, u1} R' R' (CommSemiring.toSemiring.{u2} R' _inst_3) (CommSemiring.toSemiring.{u2} R' _inst_3) (RingHom.id.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))) _inst_13 (Algebra.toModule.{u2, u1} R' A _inst_3 _inst_17 _inst_18)) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => A) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u3, u1} R' R' M A (CommSemiring.toSemiring.{u2} R' _inst_3) (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))) _inst_13 (Algebra.toModule.{u2, u1} R' A _inst_3 _inst_17 _inst_18) (RingHom.id.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) f x) (FunLike.coe.{max (succ u3) (succ u1), succ u3, succ u1} (LinearMap.{u2, u2, u3, u1} R' R' (CommSemiring.toSemiring.{u2} R' _inst_3) (CommSemiring.toSemiring.{u2} R' _inst_3) (RingHom.id.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))) _inst_13 (Algebra.toModule.{u2, u1} R' A _inst_3 _inst_17 _inst_18)) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => A) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u3, u1} R' R' M A (CommSemiring.toSemiring.{u2} R' _inst_3) (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))) _inst_13 (Algebra.toModule.{u2, u1} R' A _inst_3 _inst_17 _inst_18) (RingHom.id.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) f y)) (OfNat.ofNat.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => A) x) 0 (Zero.toOfNat0.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => A) x) (MonoidWithZero.toZero.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => A) x) (Semiring.toMonoidWithZero.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => A) x) _inst_17))))), Eq.{max (succ u3) (succ u1)} (LinearMap.{u2, u2, u3, u1} R' R' (CommSemiring.toSemiring.{u2} R' _inst_3) (CommSemiring.toSemiring.{u2} R' _inst_3) (RingHom.id.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))) _inst_13 (Algebra.toModule.{u2, u1} R' A _inst_3 _inst_17 _inst_18)) (LinearMap.comp.{u2, u2, u2, u3, max u2 u3, u1} R' R' R' M (TrivSqZeroExt.{u2, u3} R' M) A (CommSemiring.toSemiring.{u2} R' _inst_3) (CommSemiring.toSemiring.{u2} R' _inst_3) (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (Semiring.toNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13))))))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))) _inst_13 (Algebra.toModule.{u2, max u2 u3} R' (TrivSqZeroExt.{u2, u3} R' M) _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeSemiringInstAlgebraMulOppositeSemiringIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15)) (Algebra.toModule.{u2, u1} R' A _inst_3 _inst_17 _inst_18) (RingHom.id.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (RingHom.id.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (RingHom.id.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (RingHomCompTriple.ids.{u2, u2} R' R' (CommSemiring.toSemiring.{u2} R' _inst_3) (CommSemiring.toSemiring.{u2} R' _inst_3) (RingHom.id.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AlgHom.toLinearMap.{u2, max u2 u3, u1} R' (TrivSqZeroExt.{u2, u3} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeSemiringInstAlgebraMulOppositeSemiringIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18 (TrivSqZeroExt.liftAux.{u2, u3, u1} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15 A _inst_17 _inst_18 f hf)) (TrivSqZeroExt.inrHom.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)) f
 Case conversion may be inaccurate. Consider using '#align triv_sq_zero_ext.lift_aux_comp_inr_hom TrivSqZeroExt.liftAux_comp_inrHomₓ'. -/
 @[simp]
 theorem liftAux_comp_inrHom (f : M →ₗ[R'] A) (hf : ∀ x y, f x * f y = 0) :
@@ -1174,7 +1174,7 @@ theorem liftAux_inrHom : liftAux (inrHom R' M) (inr_mul_inr R') = AlgHom.id R' (
 lean 3 declaration is
   forall {R' : Type.{u1}} {M : Type.{u2}} [_inst_3 : CommSemiring.{u1} R'] [_inst_4 : AddCommMonoid.{u2} M] [_inst_13 : Module.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4] [_inst_14 : Module.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4] [_inst_15 : IsCentralScalar.{u1, u2} R' M (SMulZeroClass.toHasSmul.{u1, u2} R' M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} R' M (MulZeroClass.toHasZero.{u1} R' (MulZeroOneClass.toMulZeroClass.{u1} R' (MonoidWithZero.toMulZeroOneClass.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toHasSmul.{u1, u2} (MulOpposite.{u1} R') M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MulZeroClass.toHasZero.{u1} (MulOpposite.{u1} R') (MulZeroOneClass.toMulZeroClass.{u1} (MulOpposite.{u1} R') (MonoidWithZero.toMulZeroOneClass.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14))))] {A : Type.{u3}} [_inst_17 : Semiring.{u3} A] [_inst_18 : Algebra.{u1, u3} R' A _inst_3 _inst_17], Equiv.{max 1 (succ u2) (succ u3), max (succ (max u1 u2)) (succ u3)} (Subtype.{max (succ u2) (succ u3)} (LinearMap.{u1, u1, u2, u3} R' R' (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18)) (fun (f : LinearMap.{u1, u1, u2, u3} R' R' (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18)) => forall (x : M) (y : M), Eq.{succ u3} A (HMul.hMul.{u3, u3, u3} A A A (instHMul.{u3} A (Distrib.toHasMul.{u3} A (NonUnitalNonAssocSemiring.toDistrib.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))))) (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearMap.{u1, u1, u2, u3} R' R' (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18)) (fun (_x : LinearMap.{u1, u1, u2, u3} R' R' (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18)) => M -> A) (LinearMap.hasCoeToFun.{u1, u1, u2, u3} R' R' M A (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))) f x) (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearMap.{u1, u1, u2, u3} R' R' (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18)) (fun (_x : LinearMap.{u1, u1, u2, u3} R' R' (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18)) => M -> A) (LinearMap.hasCoeToFun.{u1, u1, u2, u3} R' R' M A (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))) f y)) (OfNat.ofNat.{u3} A 0 (OfNat.mk.{u3} A 0 (Zero.zero.{u3} A (MulZeroClass.toHasZero.{u3} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))))))))) (AlgHom.{u1, max u1 u2, u3} R' (TrivSqZeroExt.{u1, u2} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (TrivSqZeroExt.lift._proof_1.{u1, u2} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15)) _inst_17 (TrivSqZeroExt.algebra.{u1, u2} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18)
 but is expected to have type
-  forall {R' : Type.{u1}} {M : Type.{u2}} [_inst_3 : CommSemiring.{u1} R'] [_inst_4 : AddCommMonoid.{u2} M] [_inst_13 : Module.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4] [_inst_14 : Module.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4] [_inst_15 : IsCentralScalar.{u1, u2} R' M (SMulZeroClass.toSMul.{u1, u2} R' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u1, u2} (MulOpposite.{u1} R') M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.zero.{u1} R' (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.monoidWithZero.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14))))] {A : Type.{u3}} [_inst_17 : Semiring.{u3} A] [_inst_18 : Algebra.{u1, u3} R' A _inst_3 _inst_17], Equiv.{max 1 (succ u2) (succ u3), max (succ u3) (succ (max u2 u1))} (Subtype.{max (succ u2) (succ u3)} (LinearMap.{u1, u1, u2, u3} R' R' (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18)) (fun (f : LinearMap.{u1, u1, u2, u3} R' R' (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18)) => forall (x : M) (y : M), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => A) x) (HMul.hMul.{u3, u3, u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => A) x) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => A) y) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => A) x) (instHMul.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => A) x) (NonUnitalNonAssocSemiring.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => A) x) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => A) x) (Semiring.toNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => A) x) _inst_17)))) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (LinearMap.{u1, u1, u2, u3} R' R' (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18)) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => A) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u3} R' R' M A (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))) f x) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (LinearMap.{u1, u1, u2, u3} R' R' (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18)) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => A) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u3} R' R' M A (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))) f y)) (OfNat.ofNat.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => A) x) 0 (Zero.toOfNat0.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => A) x) (MonoidWithZero.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => A) x) (Semiring.toMonoidWithZero.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => A) x) _inst_17)))))) (AlgHom.{u1, max u2 u1, u3} R' (TrivSqZeroExt.{u1, u2} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u1, u1, u2} R' _inst_3 (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u1, u1, u2} R' R' M (SMulZeroClass.toSMul.{u1, u2} R' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) (SMulZeroClass.toSMul.{u1, u2} R' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u1, u2} (MulOpposite.{u1} R') M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MonoidWithZero.toZero.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeSemiringInstAlgebraMulOppositeSemiringIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u1, u2} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18)
+  forall {R' : Type.{u1}} {M : Type.{u2}} [_inst_3 : CommSemiring.{u1} R'] [_inst_4 : AddCommMonoid.{u2} M] [_inst_13 : Module.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4] [_inst_14 : Module.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4] [_inst_15 : IsCentralScalar.{u1, u2} R' M (SMulZeroClass.toSMul.{u1, u2} R' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u1, u2} (MulOpposite.{u1} R') M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.zero.{u1} R' (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.monoidWithZero.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14))))] {A : Type.{u3}} [_inst_17 : Semiring.{u3} A] [_inst_18 : Algebra.{u1, u3} R' A _inst_3 _inst_17], Equiv.{max 1 (succ u2) (succ u3), max (succ u3) (succ (max u2 u1))} (Subtype.{max (succ u2) (succ u3)} (LinearMap.{u1, u1, u2, u3} R' R' (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18)) (fun (f : LinearMap.{u1, u1, u2, u3} R' R' (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18)) => forall (x : M) (y : M), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => A) x) (HMul.hMul.{u3, u3, u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => A) x) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => A) y) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => A) x) (instHMul.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => A) x) (NonUnitalNonAssocSemiring.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => A) x) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => A) x) (Semiring.toNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => A) x) _inst_17)))) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (LinearMap.{u1, u1, u2, u3} R' R' (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18)) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => A) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u3} R' R' M A (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))) f x) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (LinearMap.{u1, u1, u2, u3} R' R' (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18)) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => A) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u3} R' R' M A (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))) f y)) (OfNat.ofNat.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => A) x) 0 (Zero.toOfNat0.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => A) x) (MonoidWithZero.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => A) x) (Semiring.toMonoidWithZero.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => A) x) _inst_17)))))) (AlgHom.{u1, max u2 u1, u3} R' (TrivSqZeroExt.{u1, u2} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u1, u1, u2} R' _inst_3 (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u1, u1, u2} R' R' M (SMulZeroClass.toSMul.{u1, u2} R' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) (SMulZeroClass.toSMul.{u1, u2} R' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u1, u2} (MulOpposite.{u1} R') M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MonoidWithZero.toZero.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeSemiringInstAlgebraMulOppositeSemiringIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u1, u2} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18)
 Case conversion may be inaccurate. Consider using '#align triv_sq_zero_ext.lift TrivSqZeroExt.liftₓ'. -/
 /-- A universal property of the trivial square-zero extension, providing a unique
 `triv_sq_zero_ext R M →ₐ[R] A` for every linear map `M →ₗ[R] A` whose range has no non-zero
Diff
@@ -1052,7 +1052,7 @@ instance : Algebra R' (tsze R' M) :=
 lean 3 declaration is
   forall (R' : Type.{u1}) (M : Type.{u2}) [_inst_3 : CommSemiring.{u1} R'] [_inst_4 : AddCommMonoid.{u2} M] [_inst_13 : Module.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4] [_inst_14 : Module.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4] [_inst_15 : IsCentralScalar.{u1, u2} R' M (SMulZeroClass.toHasSmul.{u1, u2} R' M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} R' M (MulZeroClass.toHasZero.{u1} R' (MulZeroOneClass.toMulZeroClass.{u1} R' (MonoidWithZero.toMulZeroOneClass.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toHasSmul.{u1, u2} (MulOpposite.{u1} R') M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MulZeroClass.toHasZero.{u1} (MulOpposite.{u1} R') (MulZeroOneClass.toMulZeroClass.{u1} (MulOpposite.{u1} R') (MonoidWithZero.toMulZeroOneClass.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14))))], Eq.{max (succ u1) (succ (max u1 u2))} (R' -> (TrivSqZeroExt.{u1, u2} R' M)) (coeFn.{max (succ u1) (succ (max u1 u2)), max (succ u1) (succ (max u1 u2))} (RingHom.{u1, max u1 u2} R' (TrivSqZeroExt.{u1, u2} R' M) (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (Semiring.toNonAssocSemiring.{max u1 u2} (TrivSqZeroExt.{u1, u2} R' M) (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u1, u1, u2} R' _inst_3 (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (MulOpposite.algebra.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u1, u1, u2} R' R' M (SMulZeroClass.toHasSmul.{u1, u2} R' M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} R' M (MulZeroClass.toHasZero.{u1} R' (MulZeroOneClass.toMulZeroClass.{u1} R' (MonoidWithZero.toMulZeroOneClass.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (Mul.toSMul.{u1} R' (Distrib.toHasMul.{u1} R' (NonUnitalNonAssocSemiring.toDistrib.{u1} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (MulAction.toHasSmul.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13))) (SMulZeroClass.toHasSmul.{u1, u2} (MulOpposite.{u1} R') M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MulZeroClass.toHasZero.{u1} (MulOpposite.{u1} R') (MulZeroOneClass.toMulZeroClass.{u1} (MulOpposite.{u1} R') (MonoidWithZero.toMulZeroOneClass.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))))))) (fun (_x : RingHom.{u1, max u1 u2} R' (TrivSqZeroExt.{u1, u2} R' M) (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (Semiring.toNonAssocSemiring.{max u1 u2} (TrivSqZeroExt.{u1, u2} R' M) (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u1, u1, u2} R' _inst_3 (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (MulOpposite.algebra.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u1, u1, u2} R' R' M (SMulZeroClass.toHasSmul.{u1, u2} R' M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} R' M (MulZeroClass.toHasZero.{u1} R' (MulZeroOneClass.toMulZeroClass.{u1} R' (MonoidWithZero.toMulZeroOneClass.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (Mul.toSMul.{u1} R' (Distrib.toHasMul.{u1} R' (NonUnitalNonAssocSemiring.toDistrib.{u1} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (MulAction.toHasSmul.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13))) (SMulZeroClass.toHasSmul.{u1, u2} (MulOpposite.{u1} R') M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MulZeroClass.toHasZero.{u1} (MulOpposite.{u1} R') (MulZeroOneClass.toMulZeroClass.{u1} (MulOpposite.{u1} R') (MonoidWithZero.toMulZeroOneClass.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))))))) => R' -> (TrivSqZeroExt.{u1, u2} R' M)) (RingHom.hasCoeToFun.{u1, max u1 u2} R' (TrivSqZeroExt.{u1, u2} R' M) (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (Semiring.toNonAssocSemiring.{max u1 u2} (TrivSqZeroExt.{u1, u2} R' M) (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u1, u1, u2} R' _inst_3 (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (MulOpposite.algebra.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u1, u1, u2} R' R' M (SMulZeroClass.toHasSmul.{u1, u2} R' M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} R' M (MulZeroClass.toHasZero.{u1} R' (MulZeroOneClass.toMulZeroClass.{u1} R' (MonoidWithZero.toMulZeroOneClass.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (Mul.toSMul.{u1} R' (Distrib.toHasMul.{u1} R' (NonUnitalNonAssocSemiring.toDistrib.{u1} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (MulAction.toHasSmul.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13))) (SMulZeroClass.toHasSmul.{u1, u2} (MulOpposite.{u1} R') M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MulZeroClass.toHasZero.{u1} (MulOpposite.{u1} R') (MulZeroOneClass.toMulZeroClass.{u1} (MulOpposite.{u1} R') (MonoidWithZero.toMulZeroOneClass.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))))))) (algebraMap.{u1, max u1 u2} R' (TrivSqZeroExt.{u1, u2} R' M) _inst_3 (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u1, u1, u2} R' _inst_3 (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (MulOpposite.algebra.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u1, u1, u2} R' R' M (SMulZeroClass.toHasSmul.{u1, u2} R' M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} R' M (MulZeroClass.toHasZero.{u1} R' (MulZeroOneClass.toMulZeroClass.{u1} R' (MonoidWithZero.toMulZeroOneClass.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (Mul.toSMul.{u1} R' (Distrib.toHasMul.{u1} R' (NonUnitalNonAssocSemiring.toDistrib.{u1} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (MulAction.toHasSmul.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13))) (SMulZeroClass.toHasSmul.{u1, u2} (MulOpposite.{u1} R') M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MulZeroClass.toHasZero.{u1} (MulOpposite.{u1} R') (MulZeroOneClass.toMulZeroClass.{u1} (MulOpposite.{u1} R') (MonoidWithZero.toMulZeroOneClass.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))))) (TrivSqZeroExt.algebra.{u1, u2} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15))) (TrivSqZeroExt.inl.{u1, u2} R' M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))))
 but is expected to have type
-  forall (R' : Type.{u1}) (M : Type.{u2}) [_inst_3 : CommSemiring.{u1} R'] [_inst_4 : AddCommMonoid.{u2} M] [_inst_13 : Module.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4] [_inst_14 : Module.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4] [_inst_15 : IsCentralScalar.{u1, u2} R' M (SMulZeroClass.toSMul.{u1, u2} R' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u1, u2} (MulOpposite.{u1} R') M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.zero.{u1} R' (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.monoidWithZero.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14))))], Eq.{max (succ u1) (succ u2)} (forall (ᾰ : R'), (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R') => TrivSqZeroExt.{u1, u2} R' M) ᾰ) (FunLike.coe.{max (succ u1) (succ u2), succ u1, max (succ u1) (succ u2)} (RingHom.{u1, max u2 u1} R' (TrivSqZeroExt.{u1, u2} R' M) (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (Semiring.toNonAssocSemiring.{max u2 u1} (TrivSqZeroExt.{u1, u2} R' M) (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u1, u1, u2} R' _inst_3 (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u1, u1, u2} R' R' M (SMulZeroClass.toSMul.{u1, u2} R' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) (SMulZeroClass.toSMul.{u1, u2} R' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u1, u2} (MulOpposite.{u1} R') M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MonoidWithZero.toZero.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))))))) R' (fun (_x : R') => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R') => TrivSqZeroExt.{u1, u2} R' M) _x) (MulHomClass.toFunLike.{max u1 u2, u1, max u1 u2} (RingHom.{u1, max u2 u1} R' (TrivSqZeroExt.{u1, u2} R' M) (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (Semiring.toNonAssocSemiring.{max u2 u1} (TrivSqZeroExt.{u1, u2} R' M) (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u1, u1, u2} R' _inst_3 (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u1, u1, u2} R' R' M (SMulZeroClass.toSMul.{u1, u2} R' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) (SMulZeroClass.toSMul.{u1, u2} R' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u1, u2} (MulOpposite.{u1} R') M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MonoidWithZero.toZero.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))))))) R' (TrivSqZeroExt.{u1, u2} R' M) (NonUnitalNonAssocSemiring.toMul.{u1} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))) (NonUnitalNonAssocSemiring.toMul.{max u1 u2} (TrivSqZeroExt.{u1, u2} R' M) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (TrivSqZeroExt.{u1, u2} R' M) (Semiring.toNonAssocSemiring.{max u2 u1} (TrivSqZeroExt.{u1, u2} R' M) (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u1, u1, u2} R' _inst_3 (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u1, u1, u2} R' R' M (SMulZeroClass.toSMul.{u1, u2} R' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) (SMulZeroClass.toSMul.{u1, u2} R' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u1, u2} (MulOpposite.{u1} R') M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MonoidWithZero.toZero.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13))))))))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, u1, max u1 u2} (RingHom.{u1, max u2 u1} R' (TrivSqZeroExt.{u1, u2} R' M) (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (Semiring.toNonAssocSemiring.{max u2 u1} (TrivSqZeroExt.{u1, u2} R' M) (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u1, u1, u2} R' _inst_3 (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u1, u1, u2} R' R' M (SMulZeroClass.toSMul.{u1, u2} R' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) (SMulZeroClass.toSMul.{u1, u2} R' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u1, u2} (MulOpposite.{u1} R') M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MonoidWithZero.toZero.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))))))) R' (TrivSqZeroExt.{u1, u2} R' M) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (TrivSqZeroExt.{u1, u2} R' M) (Semiring.toNonAssocSemiring.{max u2 u1} (TrivSqZeroExt.{u1, u2} R' M) (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u1, u1, u2} R' _inst_3 (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u1, u1, u2} R' R' M (SMulZeroClass.toSMul.{u1, u2} R' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) (SMulZeroClass.toSMul.{u1, u2} R' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u1, u2} (MulOpposite.{u1} R') M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MonoidWithZero.toZero.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))))))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, u1, max u1 u2} (RingHom.{u1, max u2 u1} R' (TrivSqZeroExt.{u1, u2} R' M) (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (Semiring.toNonAssocSemiring.{max u2 u1} (TrivSqZeroExt.{u1, u2} R' M) (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u1, u1, u2} R' _inst_3 (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u1, u1, u2} R' R' M (SMulZeroClass.toSMul.{u1, u2} R' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) (SMulZeroClass.toSMul.{u1, u2} R' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u1, u2} (MulOpposite.{u1} R') M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MonoidWithZero.toZero.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))))))) R' (TrivSqZeroExt.{u1, u2} R' M) (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (Semiring.toNonAssocSemiring.{max u2 u1} (TrivSqZeroExt.{u1, u2} R' M) (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u1, u1, u2} R' _inst_3 (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u1, u1, u2} R' R' M (SMulZeroClass.toSMul.{u1, u2} R' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) (SMulZeroClass.toSMul.{u1, u2} R' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u1, u2} (MulOpposite.{u1} R') M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MonoidWithZero.toZero.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13))))))) (RingHom.instRingHomClassRingHom.{u1, max u1 u2} R' (TrivSqZeroExt.{u1, u2} R' M) (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (Semiring.toNonAssocSemiring.{max u2 u1} (TrivSqZeroExt.{u1, u2} R' M) (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u1, u1, u2} R' _inst_3 (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u1, u1, u2} R' R' M (SMulZeroClass.toSMul.{u1, u2} R' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) (SMulZeroClass.toSMul.{u1, u2} R' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u1, u2} (MulOpposite.{u1} R') M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MonoidWithZero.toZero.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13))))))))))) (algebraMap.{u1, max u2 u1} R' (TrivSqZeroExt.{u1, u2} R' M) _inst_3 (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u1, u1, u2} R' _inst_3 (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u1, u1, u2} R' R' M (SMulZeroClass.toSMul.{u1, u2} R' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) (SMulZeroClass.toSMul.{u1, u2} R' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u1, u2} (MulOpposite.{u1} R') M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MonoidWithZero.toZero.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))))) (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeSemiringInstAlgebraMulOppositeSemiringIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u1, u2} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15))) (TrivSqZeroExt.inl.{u1, u2} R' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)))
+  forall (R' : Type.{u1}) (M : Type.{u2}) [_inst_3 : CommSemiring.{u1} R'] [_inst_4 : AddCommMonoid.{u2} M] [_inst_13 : Module.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4] [_inst_14 : Module.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4] [_inst_15 : IsCentralScalar.{u1, u2} R' M (SMulZeroClass.toSMul.{u1, u2} R' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u1, u2} (MulOpposite.{u1} R') M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.zero.{u1} R' (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.monoidWithZero.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14))))], Eq.{max (succ u1) (succ u2)} (forall (ᾰ : R'), (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R') => TrivSqZeroExt.{u1, u2} R' M) ᾰ) (FunLike.coe.{max (succ u1) (succ u2), succ u1, max (succ u1) (succ u2)} (RingHom.{u1, max u2 u1} R' (TrivSqZeroExt.{u1, u2} R' M) (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (Semiring.toNonAssocSemiring.{max u2 u1} (TrivSqZeroExt.{u1, u2} R' M) (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u1, u1, u2} R' _inst_3 (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u1, u1, u2} R' R' M (SMulZeroClass.toSMul.{u1, u2} R' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) (SMulZeroClass.toSMul.{u1, u2} R' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u1, u2} (MulOpposite.{u1} R') M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MonoidWithZero.toZero.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))))))) R' (fun (_x : R') => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R') => TrivSqZeroExt.{u1, u2} R' M) _x) (MulHomClass.toFunLike.{max u1 u2, u1, max u1 u2} (RingHom.{u1, max u2 u1} R' (TrivSqZeroExt.{u1, u2} R' M) (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (Semiring.toNonAssocSemiring.{max u2 u1} (TrivSqZeroExt.{u1, u2} R' M) (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u1, u1, u2} R' _inst_3 (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u1, u1, u2} R' R' M (SMulZeroClass.toSMul.{u1, u2} R' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) (SMulZeroClass.toSMul.{u1, u2} R' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u1, u2} (MulOpposite.{u1} R') M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MonoidWithZero.toZero.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))))))) R' (TrivSqZeroExt.{u1, u2} R' M) (NonUnitalNonAssocSemiring.toMul.{u1} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))) (NonUnitalNonAssocSemiring.toMul.{max u1 u2} (TrivSqZeroExt.{u1, u2} R' M) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (TrivSqZeroExt.{u1, u2} R' M) (Semiring.toNonAssocSemiring.{max u2 u1} (TrivSqZeroExt.{u1, u2} R' M) (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u1, u1, u2} R' _inst_3 (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u1, u1, u2} R' R' M (SMulZeroClass.toSMul.{u1, u2} R' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) (SMulZeroClass.toSMul.{u1, u2} R' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u1, u2} (MulOpposite.{u1} R') M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MonoidWithZero.toZero.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13))))))))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, u1, max u1 u2} (RingHom.{u1, max u2 u1} R' (TrivSqZeroExt.{u1, u2} R' M) (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (Semiring.toNonAssocSemiring.{max u2 u1} (TrivSqZeroExt.{u1, u2} R' M) (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u1, u1, u2} R' _inst_3 (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u1, u1, u2} R' R' M (SMulZeroClass.toSMul.{u1, u2} R' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) (SMulZeroClass.toSMul.{u1, u2} R' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u1, u2} (MulOpposite.{u1} R') M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MonoidWithZero.toZero.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))))))) R' (TrivSqZeroExt.{u1, u2} R' M) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (TrivSqZeroExt.{u1, u2} R' M) (Semiring.toNonAssocSemiring.{max u2 u1} (TrivSqZeroExt.{u1, u2} R' M) (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u1, u1, u2} R' _inst_3 (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u1, u1, u2} R' R' M (SMulZeroClass.toSMul.{u1, u2} R' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) (SMulZeroClass.toSMul.{u1, u2} R' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u1, u2} (MulOpposite.{u1} R') M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MonoidWithZero.toZero.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))))))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, u1, max u1 u2} (RingHom.{u1, max u2 u1} R' (TrivSqZeroExt.{u1, u2} R' M) (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (Semiring.toNonAssocSemiring.{max u2 u1} (TrivSqZeroExt.{u1, u2} R' M) (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u1, u1, u2} R' _inst_3 (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u1, u1, u2} R' R' M (SMulZeroClass.toSMul.{u1, u2} R' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) (SMulZeroClass.toSMul.{u1, u2} R' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u1, u2} (MulOpposite.{u1} R') M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MonoidWithZero.toZero.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))))))) R' (TrivSqZeroExt.{u1, u2} R' M) (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (Semiring.toNonAssocSemiring.{max u2 u1} (TrivSqZeroExt.{u1, u2} R' M) (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u1, u1, u2} R' _inst_3 (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u1, u1, u2} R' R' M (SMulZeroClass.toSMul.{u1, u2} R' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) (SMulZeroClass.toSMul.{u1, u2} R' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u1, u2} (MulOpposite.{u1} R') M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MonoidWithZero.toZero.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13))))))) (RingHom.instRingHomClassRingHom.{u1, max u1 u2} R' (TrivSqZeroExt.{u1, u2} R' M) (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (Semiring.toNonAssocSemiring.{max u2 u1} (TrivSqZeroExt.{u1, u2} R' M) (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u1, u1, u2} R' _inst_3 (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u1, u1, u2} R' R' M (SMulZeroClass.toSMul.{u1, u2} R' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) (SMulZeroClass.toSMul.{u1, u2} R' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u1, u2} (MulOpposite.{u1} R') M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MonoidWithZero.toZero.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13))))))))))) (algebraMap.{u1, max u2 u1} R' (TrivSqZeroExt.{u1, u2} R' M) _inst_3 (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u1, u1, u2} R' _inst_3 (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u1, u1, u2} R' R' M (SMulZeroClass.toSMul.{u1, u2} R' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) (SMulZeroClass.toSMul.{u1, u2} R' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u1, u2} (MulOpposite.{u1} R') M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MonoidWithZero.toZero.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))))) (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeSemiringInstAlgebraMulOppositeSemiringIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u1, u2} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15))) (TrivSqZeroExt.inl.{u1, u2} R' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)))
 Case conversion may be inaccurate. Consider using '#align triv_sq_zero_ext.algebra_map_eq_inl TrivSqZeroExt.algebraMap_eq_inlₓ'. -/
 theorem algebraMap_eq_inl : ⇑(algebraMap R' (tsze R' M)) = inl :=
   rfl
@@ -1068,7 +1068,7 @@ theorem algebraMap_eq_inlHom : algebraMap R' (tsze R' M) = inlHom R' M :=
 lean 3 declaration is
   forall (S : Type.{u3}) (R : Type.{u1}) (M : Type.{u2}) [_inst_1 : CommSemiring.{u3} S] [_inst_2 : Semiring.{u1} R] [_inst_4 : AddCommMonoid.{u2} M] [_inst_5 : Algebra.{u3, u1} S R _inst_1 _inst_2] [_inst_7 : Module.{u3, u2} S M (CommSemiring.toSemiring.{u3} S _inst_1) _inst_4] [_inst_8 : Module.{u1, u2} R M _inst_2 _inst_4] [_inst_9 : Module.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.semiring.{u1} R _inst_2) _inst_4] [_inst_10 : SMulCommClass.{u1, u1, u2} R (MulOpposite.{u1} R) M (SMulZeroClass.toHasSmul.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} R M (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_2)))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R _inst_2) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R M _inst_2 _inst_4 _inst_8)))) (SMulZeroClass.toHasSmul.{u1, u2} (MulOpposite.{u1} R) M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} (MulOpposite.{u1} R) M (MulZeroClass.toHasZero.{u1} (MulOpposite.{u1} R) (MulZeroOneClass.toMulZeroClass.{u1} (MulOpposite.{u1} R) (MonoidWithZero.toMulZeroOneClass.{u1} (MulOpposite.{u1} R) (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_2))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R) M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_2)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.semiring.{u1} R _inst_2) _inst_4 _inst_9))))] [_inst_11 : IsScalarTower.{u3, u1, u2} S R M (SMulZeroClass.toHasSmul.{u3, u1} S R (AddZeroClass.toHasZero.{u1} R (AddMonoid.toAddZeroClass.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)))))) (SMulWithZero.toSmulZeroClass.{u3, u1} S R (MulZeroClass.toHasZero.{u3} S (MulZeroOneClass.toMulZeroClass.{u3} S (MonoidWithZero.toMulZeroOneClass.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S _inst_1))))) (AddZeroClass.toHasZero.{u1} R (AddMonoid.toAddZeroClass.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)))))) (MulActionWithZero.toSMulWithZero.{u3, u1} S R (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S _inst_1)) (AddZeroClass.toHasZero.{u1} R (AddMonoid.toAddZeroClass.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)))))) (Module.toMulActionWithZero.{u3, u1} S R (CommSemiring.toSemiring.{u3} S _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Algebra.toModule.{u3, u1} S R _inst_1 _inst_2 _inst_5))))) (SMulZeroClass.toHasSmul.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} R M (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_2)))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R _inst_2) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R M _inst_2 _inst_4 _inst_8)))) (SMulZeroClass.toHasSmul.{u3, u2} S M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u3, u2} S M (MulZeroClass.toHasZero.{u3} S (MulZeroOneClass.toMulZeroClass.{u3} S (MonoidWithZero.toMulZeroOneClass.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S _inst_1))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u3, u2} S M (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S _inst_1)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u3, u2} S M (CommSemiring.toSemiring.{u3} S _inst_1) _inst_4 _inst_7))))] [_inst_12 : IsScalarTower.{u3, u1, u2} S (MulOpposite.{u1} R) M (MulOpposite.hasSmul.{u1, u3} R S (SMulZeroClass.toHasSmul.{u3, u1} S R (AddZeroClass.toHasZero.{u1} R (AddMonoid.toAddZeroClass.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)))))) (SMulWithZero.toSmulZeroClass.{u3, u1} S R (MulZeroClass.toHasZero.{u3} S (MulZeroOneClass.toMulZeroClass.{u3} S (MonoidWithZero.toMulZeroOneClass.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S _inst_1))))) (AddZeroClass.toHasZero.{u1} R (AddMonoid.toAddZeroClass.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)))))) (MulActionWithZero.toSMulWithZero.{u3, u1} S R (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S _inst_1)) (AddZeroClass.toHasZero.{u1} R (AddMonoid.toAddZeroClass.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)))))) (Module.toMulActionWithZero.{u3, u1} S R (CommSemiring.toSemiring.{u3} S _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Algebra.toModule.{u3, u1} S R _inst_1 _inst_2 _inst_5)))))) (SMulZeroClass.toHasSmul.{u1, u2} (MulOpposite.{u1} R) M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} (MulOpposite.{u1} R) M (MulZeroClass.toHasZero.{u1} (MulOpposite.{u1} R) (MulZeroOneClass.toMulZeroClass.{u1} (MulOpposite.{u1} R) (MonoidWithZero.toMulZeroOneClass.{u1} (MulOpposite.{u1} R) (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_2))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R) M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_2)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.semiring.{u1} R _inst_2) _inst_4 _inst_9)))) (SMulZeroClass.toHasSmul.{u3, u2} S M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u3, u2} S M (MulZeroClass.toHasZero.{u3} S (MulZeroOneClass.toMulZeroClass.{u3} S (MonoidWithZero.toMulZeroOneClass.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S _inst_1))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u3, u2} S M (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S _inst_1)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u3, u2} S M (CommSemiring.toSemiring.{u3} S _inst_1) _inst_4 _inst_7))))] (s : S), Eq.{max (succ u1) (succ u2)} (TrivSqZeroExt.{u1, u2} R M) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ u3) (succ (max u1 u2))} (RingHom.{u3, max u1 u2} S (TrivSqZeroExt.{u1, u2} R M) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_1)) (Semiring.toNonAssocSemiring.{max u1 u2} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.semiring.{u1, u2} R M _inst_2 _inst_4 _inst_8 _inst_9 _inst_10))) (fun (_x : RingHom.{u3, max u1 u2} S (TrivSqZeroExt.{u1, u2} R M) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_1)) (Semiring.toNonAssocSemiring.{max u1 u2} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.semiring.{u1, u2} R M _inst_2 _inst_4 _inst_8 _inst_9 _inst_10))) => S -> (TrivSqZeroExt.{u1, u2} R M)) (RingHom.hasCoeToFun.{u3, max u1 u2} S (TrivSqZeroExt.{u1, u2} R M) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_1)) (Semiring.toNonAssocSemiring.{max u1 u2} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.semiring.{u1, u2} R M _inst_2 _inst_4 _inst_8 _inst_9 _inst_10))) (algebraMap.{u3, max u1 u2} S (TrivSqZeroExt.{u1, u2} R M) _inst_1 (TrivSqZeroExt.semiring.{u1, u2} R M _inst_2 _inst_4 _inst_8 _inst_9 _inst_10) (TrivSqZeroExt.algebra'.{u1, u2, u3} S R M _inst_1 _inst_2 _inst_4 _inst_5 _inst_7 _inst_8 _inst_9 _inst_10 _inst_11 _inst_12)) s) (TrivSqZeroExt.inl.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (coeFn.{max (succ u3) (succ u1), max (succ u3) (succ u1)} (RingHom.{u3, u1} S R (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_1)) (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (fun (_x : RingHom.{u3, u1} S R (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_1)) (Semiring.toNonAssocSemiring.{u1} R _inst_2)) => S -> R) (RingHom.hasCoeToFun.{u3, u1} S R (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_1)) (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (algebraMap.{u3, u1} S R _inst_1 _inst_2 _inst_5) s))
 but is expected to have type
-  forall (S : Type.{u1}) (R : Type.{u2}) (M : Type.{u3}) [_inst_1 : CommSemiring.{u1} S] [_inst_2 : Semiring.{u2} R] [_inst_4 : AddCommMonoid.{u3} M] [_inst_5 : Algebra.{u1, u2} S R _inst_1 _inst_2] [_inst_7 : Module.{u1, u3} S M (CommSemiring.toSemiring.{u1} S _inst_1) _inst_4] [_inst_8 : Module.{u2, u3} R M _inst_2 _inst_4] [_inst_9 : Module.{u2, u3} (MulOpposite.{u2} R) M (MulOpposite.semiring.{u2} R _inst_2) _inst_4] [_inst_10 : SMulCommClass.{u2, u2, u3} R (MulOpposite.{u2} R) M (SMulZeroClass.toSMul.{u2, u3} R M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R M (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_2)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R M (Semiring.toMonoidWithZero.{u2} R _inst_2) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R M _inst_2 _inst_4 _inst_8)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R) M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R) M (MulOpposite.zero.{u2} R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_2))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R) M (MulOpposite.monoidWithZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_2)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R) M (MulOpposite.semiring.{u2} R _inst_2) _inst_4 _inst_9))))] [_inst_11 : IsScalarTower.{u1, u2, u3} S R M (Algebra.toSMul.{u1, u2} S R _inst_1 _inst_2 _inst_5) (SMulZeroClass.toSMul.{u2, u3} R M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R M (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_2)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R M (Semiring.toMonoidWithZero.{u2} R _inst_2) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R M _inst_2 _inst_4 _inst_8)))) (SMulZeroClass.toSMul.{u1, u3} S M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u3} S M (CommMonoidWithZero.toZero.{u1} S (CommSemiring.toCommMonoidWithZero.{u1} S _inst_1)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u3} S M (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_1)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u1, u3} S M (CommSemiring.toSemiring.{u1} S _inst_1) _inst_4 _inst_7))))] [_inst_12 : IsScalarTower.{u1, u2, u3} S (MulOpposite.{u2} R) M (MulOpposite.smul.{u2, u1} R S (Algebra.toSMul.{u1, u2} S R _inst_1 _inst_2 _inst_5)) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R) M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R) M (MulOpposite.zero.{u2} R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_2))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R) M (MulOpposite.monoidWithZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_2)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R) M (MulOpposite.semiring.{u2} R _inst_2) _inst_4 _inst_9)))) (SMulZeroClass.toSMul.{u1, u3} S M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u3} S M (CommMonoidWithZero.toZero.{u1} S (CommSemiring.toCommMonoidWithZero.{u1} S _inst_1)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u3} S M (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_1)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u1, u3} S M (CommSemiring.toSemiring.{u1} S _inst_1) _inst_4 _inst_7))))] (s : S), Eq.{max (succ u2) (succ u3)} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : S) => TrivSqZeroExt.{u2, u3} R M) s) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), succ u1, max (succ u2) (succ u3)} (RingHom.{u1, max u3 u2} S (TrivSqZeroExt.{u2, u3} R M) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_1)) (Semiring.toNonAssocSemiring.{max u3 u2} (TrivSqZeroExt.{u2, u3} R M) (TrivSqZeroExt.semiring.{u2, u3} R M _inst_2 _inst_4 _inst_8 _inst_9 _inst_10))) S (fun (_x : S) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : S) => TrivSqZeroExt.{u2, u3} R M) _x) (MulHomClass.toFunLike.{max (max u2 u3) u1, u1, max u2 u3} (RingHom.{u1, max u3 u2} S (TrivSqZeroExt.{u2, u3} R M) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_1)) (Semiring.toNonAssocSemiring.{max u3 u2} (TrivSqZeroExt.{u2, u3} R M) (TrivSqZeroExt.semiring.{u2, u3} R M _inst_2 _inst_4 _inst_8 _inst_9 _inst_10))) S (TrivSqZeroExt.{u2, u3} R M) (NonUnitalNonAssocSemiring.toMul.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{max u2 u3} (TrivSqZeroExt.{u2, u3} R M) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R M) (Semiring.toNonAssocSemiring.{max u3 u2} (TrivSqZeroExt.{u2, u3} R M) (TrivSqZeroExt.semiring.{u2, u3} R M _inst_2 _inst_4 _inst_8 _inst_9 _inst_10)))) (NonUnitalRingHomClass.toMulHomClass.{max (max u2 u3) u1, u1, max u2 u3} (RingHom.{u1, max u3 u2} S (TrivSqZeroExt.{u2, u3} R M) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_1)) (Semiring.toNonAssocSemiring.{max u3 u2} (TrivSqZeroExt.{u2, u3} R M) (TrivSqZeroExt.semiring.{u2, u3} R M _inst_2 _inst_4 _inst_8 _inst_9 _inst_10))) S (TrivSqZeroExt.{u2, u3} R M) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R M) (Semiring.toNonAssocSemiring.{max u3 u2} (TrivSqZeroExt.{u2, u3} R M) (TrivSqZeroExt.semiring.{u2, u3} R M _inst_2 _inst_4 _inst_8 _inst_9 _inst_10))) (RingHomClass.toNonUnitalRingHomClass.{max (max u2 u3) u1, u1, max u2 u3} (RingHom.{u1, max u3 u2} S (TrivSqZeroExt.{u2, u3} R M) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_1)) (Semiring.toNonAssocSemiring.{max u3 u2} (TrivSqZeroExt.{u2, u3} R M) (TrivSqZeroExt.semiring.{u2, u3} R M _inst_2 _inst_4 _inst_8 _inst_9 _inst_10))) S (TrivSqZeroExt.{u2, u3} R M) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_1)) (Semiring.toNonAssocSemiring.{max u3 u2} (TrivSqZeroExt.{u2, u3} R M) (TrivSqZeroExt.semiring.{u2, u3} R M _inst_2 _inst_4 _inst_8 _inst_9 _inst_10)) (RingHom.instRingHomClassRingHom.{u1, max u2 u3} S (TrivSqZeroExt.{u2, u3} R M) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_1)) (Semiring.toNonAssocSemiring.{max u3 u2} (TrivSqZeroExt.{u2, u3} R M) (TrivSqZeroExt.semiring.{u2, u3} R M _inst_2 _inst_4 _inst_8 _inst_9 _inst_10)))))) (algebraMap.{u1, max u3 u2} S (TrivSqZeroExt.{u2, u3} R M) _inst_1 (TrivSqZeroExt.semiring.{u2, u3} R M _inst_2 _inst_4 _inst_8 _inst_9 _inst_10) (TrivSqZeroExt.algebra'.{u2, u3, u1} S R M _inst_1 _inst_2 _inst_4 _inst_5 _inst_7 _inst_8 _inst_9 _inst_10 _inst_11 _inst_12)) s) (TrivSqZeroExt.inl.{u2, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : S) => R) s) M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (RingHom.{u1, u2} S R (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_1)) (Semiring.toNonAssocSemiring.{u2} R _inst_2)) S (fun (_x : S) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : S) => R) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (RingHom.{u1, u2} S R (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_1)) (Semiring.toNonAssocSemiring.{u2} R _inst_2)) S R (NonUnitalNonAssocSemiring.toMul.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u1, u1, u2} (RingHom.{u1, u2} S R (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_1)) (Semiring.toNonAssocSemiring.{u2} R _inst_2)) S R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{max u2 u1, u1, u2} (RingHom.{u1, u2} S R (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_1)) (Semiring.toNonAssocSemiring.{u2} R _inst_2)) S R (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_1)) (Semiring.toNonAssocSemiring.{u2} R _inst_2) (RingHom.instRingHomClassRingHom.{u1, u2} S R (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_1)) (Semiring.toNonAssocSemiring.{u2} R _inst_2))))) (algebraMap.{u1, u2} S R _inst_1 _inst_2 _inst_5) s))
+  forall (S : Type.{u1}) (R : Type.{u2}) (M : Type.{u3}) [_inst_1 : CommSemiring.{u1} S] [_inst_2 : Semiring.{u2} R] [_inst_4 : AddCommMonoid.{u3} M] [_inst_5 : Algebra.{u1, u2} S R _inst_1 _inst_2] [_inst_7 : Module.{u1, u3} S M (CommSemiring.toSemiring.{u1} S _inst_1) _inst_4] [_inst_8 : Module.{u2, u3} R M _inst_2 _inst_4] [_inst_9 : Module.{u2, u3} (MulOpposite.{u2} R) M (MulOpposite.semiring.{u2} R _inst_2) _inst_4] [_inst_10 : SMulCommClass.{u2, u2, u3} R (MulOpposite.{u2} R) M (SMulZeroClass.toSMul.{u2, u3} R M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R M (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_2)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R M (Semiring.toMonoidWithZero.{u2} R _inst_2) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R M _inst_2 _inst_4 _inst_8)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R) M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R) M (MulOpposite.zero.{u2} R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_2))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R) M (MulOpposite.monoidWithZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_2)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R) M (MulOpposite.semiring.{u2} R _inst_2) _inst_4 _inst_9))))] [_inst_11 : IsScalarTower.{u1, u2, u3} S R M (Algebra.toSMul.{u1, u2} S R _inst_1 _inst_2 _inst_5) (SMulZeroClass.toSMul.{u2, u3} R M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R M (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_2)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R M (Semiring.toMonoidWithZero.{u2} R _inst_2) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R M _inst_2 _inst_4 _inst_8)))) (SMulZeroClass.toSMul.{u1, u3} S M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u3} S M (CommMonoidWithZero.toZero.{u1} S (CommSemiring.toCommMonoidWithZero.{u1} S _inst_1)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u3} S M (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_1)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u1, u3} S M (CommSemiring.toSemiring.{u1} S _inst_1) _inst_4 _inst_7))))] [_inst_12 : IsScalarTower.{u1, u2, u3} S (MulOpposite.{u2} R) M (MulOpposite.smul.{u2, u1} R S (Algebra.toSMul.{u1, u2} S R _inst_1 _inst_2 _inst_5)) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R) M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R) M (MulOpposite.zero.{u2} R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_2))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R) M (MulOpposite.monoidWithZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_2)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R) M (MulOpposite.semiring.{u2} R _inst_2) _inst_4 _inst_9)))) (SMulZeroClass.toSMul.{u1, u3} S M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u3} S M (CommMonoidWithZero.toZero.{u1} S (CommSemiring.toCommMonoidWithZero.{u1} S _inst_1)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u3} S M (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_1)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u1, u3} S M (CommSemiring.toSemiring.{u1} S _inst_1) _inst_4 _inst_7))))] (s : S), Eq.{max (succ u2) (succ u3)} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : S) => TrivSqZeroExt.{u2, u3} R M) s) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), succ u1, max (succ u2) (succ u3)} (RingHom.{u1, max u3 u2} S (TrivSqZeroExt.{u2, u3} R M) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_1)) (Semiring.toNonAssocSemiring.{max u3 u2} (TrivSqZeroExt.{u2, u3} R M) (TrivSqZeroExt.semiring.{u2, u3} R M _inst_2 _inst_4 _inst_8 _inst_9 _inst_10))) S (fun (_x : S) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : S) => TrivSqZeroExt.{u2, u3} R M) _x) (MulHomClass.toFunLike.{max (max u2 u3) u1, u1, max u2 u3} (RingHom.{u1, max u3 u2} S (TrivSqZeroExt.{u2, u3} R M) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_1)) (Semiring.toNonAssocSemiring.{max u3 u2} (TrivSqZeroExt.{u2, u3} R M) (TrivSqZeroExt.semiring.{u2, u3} R M _inst_2 _inst_4 _inst_8 _inst_9 _inst_10))) S (TrivSqZeroExt.{u2, u3} R M) (NonUnitalNonAssocSemiring.toMul.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{max u2 u3} (TrivSqZeroExt.{u2, u3} R M) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R M) (Semiring.toNonAssocSemiring.{max u3 u2} (TrivSqZeroExt.{u2, u3} R M) (TrivSqZeroExt.semiring.{u2, u3} R M _inst_2 _inst_4 _inst_8 _inst_9 _inst_10)))) (NonUnitalRingHomClass.toMulHomClass.{max (max u2 u3) u1, u1, max u2 u3} (RingHom.{u1, max u3 u2} S (TrivSqZeroExt.{u2, u3} R M) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_1)) (Semiring.toNonAssocSemiring.{max u3 u2} (TrivSqZeroExt.{u2, u3} R M) (TrivSqZeroExt.semiring.{u2, u3} R M _inst_2 _inst_4 _inst_8 _inst_9 _inst_10))) S (TrivSqZeroExt.{u2, u3} R M) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R M) (Semiring.toNonAssocSemiring.{max u3 u2} (TrivSqZeroExt.{u2, u3} R M) (TrivSqZeroExt.semiring.{u2, u3} R M _inst_2 _inst_4 _inst_8 _inst_9 _inst_10))) (RingHomClass.toNonUnitalRingHomClass.{max (max u2 u3) u1, u1, max u2 u3} (RingHom.{u1, max u3 u2} S (TrivSqZeroExt.{u2, u3} R M) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_1)) (Semiring.toNonAssocSemiring.{max u3 u2} (TrivSqZeroExt.{u2, u3} R M) (TrivSqZeroExt.semiring.{u2, u3} R M _inst_2 _inst_4 _inst_8 _inst_9 _inst_10))) S (TrivSqZeroExt.{u2, u3} R M) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_1)) (Semiring.toNonAssocSemiring.{max u3 u2} (TrivSqZeroExt.{u2, u3} R M) (TrivSqZeroExt.semiring.{u2, u3} R M _inst_2 _inst_4 _inst_8 _inst_9 _inst_10)) (RingHom.instRingHomClassRingHom.{u1, max u2 u3} S (TrivSqZeroExt.{u2, u3} R M) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_1)) (Semiring.toNonAssocSemiring.{max u3 u2} (TrivSqZeroExt.{u2, u3} R M) (TrivSqZeroExt.semiring.{u2, u3} R M _inst_2 _inst_4 _inst_8 _inst_9 _inst_10)))))) (algebraMap.{u1, max u3 u2} S (TrivSqZeroExt.{u2, u3} R M) _inst_1 (TrivSqZeroExt.semiring.{u2, u3} R M _inst_2 _inst_4 _inst_8 _inst_9 _inst_10) (TrivSqZeroExt.algebra'.{u2, u3, u1} S R M _inst_1 _inst_2 _inst_4 _inst_5 _inst_7 _inst_8 _inst_9 _inst_10 _inst_11 _inst_12)) s) (TrivSqZeroExt.inl.{u2, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : S) => R) s) M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (RingHom.{u1, u2} S R (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_1)) (Semiring.toNonAssocSemiring.{u2} R _inst_2)) S (fun (_x : S) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : S) => R) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (RingHom.{u1, u2} S R (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_1)) (Semiring.toNonAssocSemiring.{u2} R _inst_2)) S R (NonUnitalNonAssocSemiring.toMul.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u1, u1, u2} (RingHom.{u1, u2} S R (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_1)) (Semiring.toNonAssocSemiring.{u2} R _inst_2)) S R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{max u2 u1, u1, u2} (RingHom.{u1, u2} S R (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_1)) (Semiring.toNonAssocSemiring.{u2} R _inst_2)) S R (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_1)) (Semiring.toNonAssocSemiring.{u2} R _inst_2) (RingHom.instRingHomClassRingHom.{u1, u2} S R (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_1)) (Semiring.toNonAssocSemiring.{u2} R _inst_2))))) (algebraMap.{u1, u2} S R _inst_1 _inst_2 _inst_5) s))
 Case conversion may be inaccurate. Consider using '#align triv_sq_zero_ext.algebra_map_eq_inl' TrivSqZeroExt.algebraMap_eq_inl'ₓ'. -/
 theorem algebraMap_eq_inl' (s : S) : algebraMap S (tsze R M) s = inl (algebraMap S R s) :=
   rfl
Diff
@@ -555,7 +555,7 @@ theorem ind {R M} [AddZeroClass R] [AddZeroClass M] {P : TrivSqZeroExt R M → P
 lean 3 declaration is
   forall {S : Type.{u3}} {R : Type.{u1}} {M : Type.{u2}} {N : Type.{u4}} [_inst_1 : Semiring.{u3} S] [_inst_2 : AddCommMonoid.{u1} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_4 : AddCommMonoid.{u4} N] [_inst_5 : Module.{u3, u1} S R _inst_1 _inst_2] [_inst_6 : Module.{u3, u2} S M _inst_1 _inst_3] [_inst_7 : Module.{u3, u4} S N _inst_1 _inst_4] {{f : LinearMap.{u3, u3, max u1 u2, u4} S S _inst_1 _inst_1 (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_1)) (TrivSqZeroExt.{u1, u2} R M) N (TrivSqZeroExt.addCommMonoid.{u1, u2} R M _inst_2 _inst_3) _inst_4 (TrivSqZeroExt.module.{u1, u2, u3} S R M _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) _inst_7}} {{g : LinearMap.{u3, u3, max u1 u2, u4} S S _inst_1 _inst_1 (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_1)) (TrivSqZeroExt.{u1, u2} R M) N (TrivSqZeroExt.addCommMonoid.{u1, u2} R M _inst_2 _inst_3) _inst_4 (TrivSqZeroExt.module.{u1, u2, u3} S R M _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) _inst_7}}, (forall (r : R), Eq.{succ u4} N (coeFn.{max (succ (max u1 u2)) (succ u4), max (succ (max u1 u2)) (succ u4)} (LinearMap.{u3, u3, max u1 u2, u4} S S _inst_1 _inst_1 (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_1)) (TrivSqZeroExt.{u1, u2} R M) N (TrivSqZeroExt.addCommMonoid.{u1, u2} R M _inst_2 _inst_3) _inst_4 (TrivSqZeroExt.module.{u1, u2, u3} S R M _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (fun (_x : LinearMap.{u3, u3, max u1 u2, u4} S S _inst_1 _inst_1 (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_1)) (TrivSqZeroExt.{u1, u2} R M) N (TrivSqZeroExt.addCommMonoid.{u1, u2} R M _inst_2 _inst_3) _inst_4 (TrivSqZeroExt.module.{u1, u2, u3} S R M _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) => (TrivSqZeroExt.{u1, u2} R M) -> N) (LinearMap.hasCoeToFun.{u3, u3, max u1 u2, u4} S S (TrivSqZeroExt.{u1, u2} R M) N _inst_1 _inst_1 (TrivSqZeroExt.addCommMonoid.{u1, u2} R M _inst_2 _inst_3) _inst_4 (TrivSqZeroExt.module.{u1, u2, u3} S R M _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) _inst_7 (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_1))) f (TrivSqZeroExt.inl.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) r)) (coeFn.{max (succ (max u1 u2)) (succ u4), max (succ (max u1 u2)) (succ u4)} (LinearMap.{u3, u3, max u1 u2, u4} S S _inst_1 _inst_1 (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_1)) (TrivSqZeroExt.{u1, u2} R M) N (TrivSqZeroExt.addCommMonoid.{u1, u2} R M _inst_2 _inst_3) _inst_4 (TrivSqZeroExt.module.{u1, u2, u3} S R M _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (fun (_x : LinearMap.{u3, u3, max u1 u2, u4} S S _inst_1 _inst_1 (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_1)) (TrivSqZeroExt.{u1, u2} R M) N (TrivSqZeroExt.addCommMonoid.{u1, u2} R M _inst_2 _inst_3) _inst_4 (TrivSqZeroExt.module.{u1, u2, u3} S R M _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) => (TrivSqZeroExt.{u1, u2} R M) -> N) (LinearMap.hasCoeToFun.{u3, u3, max u1 u2, u4} S S (TrivSqZeroExt.{u1, u2} R M) N _inst_1 _inst_1 (TrivSqZeroExt.addCommMonoid.{u1, u2} R M _inst_2 _inst_3) _inst_4 (TrivSqZeroExt.module.{u1, u2, u3} S R M _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) _inst_7 (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_1))) g (TrivSqZeroExt.inl.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) r))) -> (forall (m : M), Eq.{succ u4} N (coeFn.{max (succ (max u1 u2)) (succ u4), max (succ (max u1 u2)) (succ u4)} (LinearMap.{u3, u3, max u1 u2, u4} S S _inst_1 _inst_1 (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_1)) (TrivSqZeroExt.{u1, u2} R M) N (TrivSqZeroExt.addCommMonoid.{u1, u2} R M _inst_2 _inst_3) _inst_4 (TrivSqZeroExt.module.{u1, u2, u3} S R M _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (fun (_x : LinearMap.{u3, u3, max u1 u2, u4} S S _inst_1 _inst_1 (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_1)) (TrivSqZeroExt.{u1, u2} R M) N (TrivSqZeroExt.addCommMonoid.{u1, u2} R M _inst_2 _inst_3) _inst_4 (TrivSqZeroExt.module.{u1, u2, u3} S R M _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) => (TrivSqZeroExt.{u1, u2} R M) -> N) (LinearMap.hasCoeToFun.{u3, u3, max u1 u2, u4} S S (TrivSqZeroExt.{u1, u2} R M) N _inst_1 _inst_1 (TrivSqZeroExt.addCommMonoid.{u1, u2} R M _inst_2 _inst_3) _inst_4 (TrivSqZeroExt.module.{u1, u2, u3} S R M _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) _inst_7 (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_1))) f (TrivSqZeroExt.inr.{u1, u2} R M (AddZeroClass.toHasZero.{u1} R (AddMonoid.toAddZeroClass.{u1} R (AddCommMonoid.toAddMonoid.{u1} R _inst_2))) m)) (coeFn.{max (succ (max u1 u2)) (succ u4), max (succ (max u1 u2)) (succ u4)} (LinearMap.{u3, u3, max u1 u2, u4} S S _inst_1 _inst_1 (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_1)) (TrivSqZeroExt.{u1, u2} R M) N (TrivSqZeroExt.addCommMonoid.{u1, u2} R M _inst_2 _inst_3) _inst_4 (TrivSqZeroExt.module.{u1, u2, u3} S R M _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (fun (_x : LinearMap.{u3, u3, max u1 u2, u4} S S _inst_1 _inst_1 (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_1)) (TrivSqZeroExt.{u1, u2} R M) N (TrivSqZeroExt.addCommMonoid.{u1, u2} R M _inst_2 _inst_3) _inst_4 (TrivSqZeroExt.module.{u1, u2, u3} S R M _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) => (TrivSqZeroExt.{u1, u2} R M) -> N) (LinearMap.hasCoeToFun.{u3, u3, max u1 u2, u4} S S (TrivSqZeroExt.{u1, u2} R M) N _inst_1 _inst_1 (TrivSqZeroExt.addCommMonoid.{u1, u2} R M _inst_2 _inst_3) _inst_4 (TrivSqZeroExt.module.{u1, u2, u3} S R M _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) _inst_7 (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_1))) g (TrivSqZeroExt.inr.{u1, u2} R M (AddZeroClass.toHasZero.{u1} R (AddMonoid.toAddZeroClass.{u1} R (AddCommMonoid.toAddMonoid.{u1} R _inst_2))) m))) -> (Eq.{max (succ (max u1 u2)) (succ u4)} (LinearMap.{u3, u3, max u1 u2, u4} S S _inst_1 _inst_1 (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_1)) (TrivSqZeroExt.{u1, u2} R M) N (TrivSqZeroExt.addCommMonoid.{u1, u2} R M _inst_2 _inst_3) _inst_4 (TrivSqZeroExt.module.{u1, u2, u3} S R M _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) f g)
 but is expected to have type
-  forall {S : Type.{u1}} {R : Type.{u3}} {M : Type.{u4}} {N : Type.{u2}} [_inst_1 : Semiring.{u1} S] [_inst_2 : AddCommMonoid.{u3} R] [_inst_3 : AddCommMonoid.{u4} M] [_inst_4 : AddCommMonoid.{u2} N] [_inst_5 : Module.{u1, u3} S R _inst_1 _inst_2] [_inst_6 : Module.{u1, u4} S M _inst_1 _inst_3] [_inst_7 : Module.{u1, u2} S N _inst_1 _inst_4] {{f : LinearMap.{u1, u1, max u4 u3, u2} S S _inst_1 _inst_1 (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_1)) (TrivSqZeroExt.{u3, u4} R M) N (TrivSqZeroExt.addCommMonoid.{u3, u4} R M _inst_2 _inst_3) _inst_4 (TrivSqZeroExt.module.{u3, u4, u1} S R M _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) _inst_7}} {{g : LinearMap.{u1, u1, max u4 u3, u2} S S _inst_1 _inst_1 (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_1)) (TrivSqZeroExt.{u3, u4} R M) N (TrivSqZeroExt.addCommMonoid.{u3, u4} R M _inst_2 _inst_3) _inst_4 (TrivSqZeroExt.module.{u3, u4, u1} S R M _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) _inst_7}}, (forall (r : R), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : TrivSqZeroExt.{u3, u4} R M) => N) (TrivSqZeroExt.inl.{u3, u4} R M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3)) r)) (FunLike.coe.{max (max (succ u3) (succ u4)) (succ u2), max (succ u3) (succ u4), succ u2} (LinearMap.{u1, u1, max u4 u3, u2} S S _inst_1 _inst_1 (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_1)) (TrivSqZeroExt.{u3, u4} R M) N (TrivSqZeroExt.addCommMonoid.{u3, u4} R M _inst_2 _inst_3) _inst_4 (TrivSqZeroExt.module.{u3, u4, u1} S R M _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TrivSqZeroExt.{u3, u4} R M) (fun (_x : TrivSqZeroExt.{u3, u4} R M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : TrivSqZeroExt.{u3, u4} R M) => N) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, max u3 u4, u2} S S (TrivSqZeroExt.{u3, u4} R M) N _inst_1 _inst_1 (TrivSqZeroExt.addCommMonoid.{u3, u4} R M _inst_2 _inst_3) _inst_4 (TrivSqZeroExt.module.{u3, u4, u1} S R M _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) _inst_7 (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_1))) f (TrivSqZeroExt.inl.{u3, u4} R M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3)) r)) (FunLike.coe.{max (max (succ u3) (succ u4)) (succ u2), max (succ u3) (succ u4), succ u2} (LinearMap.{u1, u1, max u4 u3, u2} S S _inst_1 _inst_1 (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_1)) (TrivSqZeroExt.{u3, u4} R M) N (TrivSqZeroExt.addCommMonoid.{u3, u4} R M _inst_2 _inst_3) _inst_4 (TrivSqZeroExt.module.{u3, u4, u1} S R M _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TrivSqZeroExt.{u3, u4} R M) (fun (_x : TrivSqZeroExt.{u3, u4} R M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : TrivSqZeroExt.{u3, u4} R M) => N) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, max u3 u4, u2} S S (TrivSqZeroExt.{u3, u4} R M) N _inst_1 _inst_1 (TrivSqZeroExt.addCommMonoid.{u3, u4} R M _inst_2 _inst_3) _inst_4 (TrivSqZeroExt.module.{u3, u4, u1} S R M _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) _inst_7 (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_1))) g (TrivSqZeroExt.inl.{u3, u4} R M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3)) r))) -> (forall (m : M), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : TrivSqZeroExt.{u3, u4} R M) => N) (TrivSqZeroExt.inr.{u3, u4} R M (AddMonoid.toZero.{u3} R (AddCommMonoid.toAddMonoid.{u3} R _inst_2)) m)) (FunLike.coe.{max (max (succ u3) (succ u4)) (succ u2), max (succ u3) (succ u4), succ u2} (LinearMap.{u1, u1, max u4 u3, u2} S S _inst_1 _inst_1 (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_1)) (TrivSqZeroExt.{u3, u4} R M) N (TrivSqZeroExt.addCommMonoid.{u3, u4} R M _inst_2 _inst_3) _inst_4 (TrivSqZeroExt.module.{u3, u4, u1} S R M _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TrivSqZeroExt.{u3, u4} R M) (fun (_x : TrivSqZeroExt.{u3, u4} R M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : TrivSqZeroExt.{u3, u4} R M) => N) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, max u3 u4, u2} S S (TrivSqZeroExt.{u3, u4} R M) N _inst_1 _inst_1 (TrivSqZeroExt.addCommMonoid.{u3, u4} R M _inst_2 _inst_3) _inst_4 (TrivSqZeroExt.module.{u3, u4, u1} S R M _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) _inst_7 (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_1))) f (TrivSqZeroExt.inr.{u3, u4} R M (AddMonoid.toZero.{u3} R (AddCommMonoid.toAddMonoid.{u3} R _inst_2)) m)) (FunLike.coe.{max (max (succ u3) (succ u4)) (succ u2), max (succ u3) (succ u4), succ u2} (LinearMap.{u1, u1, max u4 u3, u2} S S _inst_1 _inst_1 (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_1)) (TrivSqZeroExt.{u3, u4} R M) N (TrivSqZeroExt.addCommMonoid.{u3, u4} R M _inst_2 _inst_3) _inst_4 (TrivSqZeroExt.module.{u3, u4, u1} S R M _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TrivSqZeroExt.{u3, u4} R M) (fun (_x : TrivSqZeroExt.{u3, u4} R M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : TrivSqZeroExt.{u3, u4} R M) => N) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, max u3 u4, u2} S S (TrivSqZeroExt.{u3, u4} R M) N _inst_1 _inst_1 (TrivSqZeroExt.addCommMonoid.{u3, u4} R M _inst_2 _inst_3) _inst_4 (TrivSqZeroExt.module.{u3, u4, u1} S R M _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) _inst_7 (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_1))) g (TrivSqZeroExt.inr.{u3, u4} R M (AddMonoid.toZero.{u3} R (AddCommMonoid.toAddMonoid.{u3} R _inst_2)) m))) -> (Eq.{max (max (succ u3) (succ u4)) (succ u2)} (LinearMap.{u1, u1, max u4 u3, u2} S S _inst_1 _inst_1 (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_1)) (TrivSqZeroExt.{u3, u4} R M) N (TrivSqZeroExt.addCommMonoid.{u3, u4} R M _inst_2 _inst_3) _inst_4 (TrivSqZeroExt.module.{u3, u4, u1} S R M _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) f g)
+  forall {S : Type.{u1}} {R : Type.{u3}} {M : Type.{u4}} {N : Type.{u2}} [_inst_1 : Semiring.{u1} S] [_inst_2 : AddCommMonoid.{u3} R] [_inst_3 : AddCommMonoid.{u4} M] [_inst_4 : AddCommMonoid.{u2} N] [_inst_5 : Module.{u1, u3} S R _inst_1 _inst_2] [_inst_6 : Module.{u1, u4} S M _inst_1 _inst_3] [_inst_7 : Module.{u1, u2} S N _inst_1 _inst_4] {{f : LinearMap.{u1, u1, max u4 u3, u2} S S _inst_1 _inst_1 (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_1)) (TrivSqZeroExt.{u3, u4} R M) N (TrivSqZeroExt.addCommMonoid.{u3, u4} R M _inst_2 _inst_3) _inst_4 (TrivSqZeroExt.module.{u3, u4, u1} S R M _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) _inst_7}} {{g : LinearMap.{u1, u1, max u4 u3, u2} S S _inst_1 _inst_1 (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_1)) (TrivSqZeroExt.{u3, u4} R M) N (TrivSqZeroExt.addCommMonoid.{u3, u4} R M _inst_2 _inst_3) _inst_4 (TrivSqZeroExt.module.{u3, u4, u1} S R M _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) _inst_7}}, (forall (r : R), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : TrivSqZeroExt.{u3, u4} R M) => N) (TrivSqZeroExt.inl.{u3, u4} R M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3)) r)) (FunLike.coe.{max (max (succ u3) (succ u4)) (succ u2), max (succ u3) (succ u4), succ u2} (LinearMap.{u1, u1, max u4 u3, u2} S S _inst_1 _inst_1 (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_1)) (TrivSqZeroExt.{u3, u4} R M) N (TrivSqZeroExt.addCommMonoid.{u3, u4} R M _inst_2 _inst_3) _inst_4 (TrivSqZeroExt.module.{u3, u4, u1} S R M _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TrivSqZeroExt.{u3, u4} R M) (fun (_x : TrivSqZeroExt.{u3, u4} R M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : TrivSqZeroExt.{u3, u4} R M) => N) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, max u3 u4, u2} S S (TrivSqZeroExt.{u3, u4} R M) N _inst_1 _inst_1 (TrivSqZeroExt.addCommMonoid.{u3, u4} R M _inst_2 _inst_3) _inst_4 (TrivSqZeroExt.module.{u3, u4, u1} S R M _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) _inst_7 (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_1))) f (TrivSqZeroExt.inl.{u3, u4} R M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3)) r)) (FunLike.coe.{max (max (succ u3) (succ u4)) (succ u2), max (succ u3) (succ u4), succ u2} (LinearMap.{u1, u1, max u4 u3, u2} S S _inst_1 _inst_1 (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_1)) (TrivSqZeroExt.{u3, u4} R M) N (TrivSqZeroExt.addCommMonoid.{u3, u4} R M _inst_2 _inst_3) _inst_4 (TrivSqZeroExt.module.{u3, u4, u1} S R M _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TrivSqZeroExt.{u3, u4} R M) (fun (_x : TrivSqZeroExt.{u3, u4} R M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : TrivSqZeroExt.{u3, u4} R M) => N) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, max u3 u4, u2} S S (TrivSqZeroExt.{u3, u4} R M) N _inst_1 _inst_1 (TrivSqZeroExt.addCommMonoid.{u3, u4} R M _inst_2 _inst_3) _inst_4 (TrivSqZeroExt.module.{u3, u4, u1} S R M _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) _inst_7 (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_1))) g (TrivSqZeroExt.inl.{u3, u4} R M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3)) r))) -> (forall (m : M), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : TrivSqZeroExt.{u3, u4} R M) => N) (TrivSqZeroExt.inr.{u3, u4} R M (AddMonoid.toZero.{u3} R (AddCommMonoid.toAddMonoid.{u3} R _inst_2)) m)) (FunLike.coe.{max (max (succ u3) (succ u4)) (succ u2), max (succ u3) (succ u4), succ u2} (LinearMap.{u1, u1, max u4 u3, u2} S S _inst_1 _inst_1 (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_1)) (TrivSqZeroExt.{u3, u4} R M) N (TrivSqZeroExt.addCommMonoid.{u3, u4} R M _inst_2 _inst_3) _inst_4 (TrivSqZeroExt.module.{u3, u4, u1} S R M _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TrivSqZeroExt.{u3, u4} R M) (fun (_x : TrivSqZeroExt.{u3, u4} R M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : TrivSqZeroExt.{u3, u4} R M) => N) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, max u3 u4, u2} S S (TrivSqZeroExt.{u3, u4} R M) N _inst_1 _inst_1 (TrivSqZeroExt.addCommMonoid.{u3, u4} R M _inst_2 _inst_3) _inst_4 (TrivSqZeroExt.module.{u3, u4, u1} S R M _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) _inst_7 (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_1))) f (TrivSqZeroExt.inr.{u3, u4} R M (AddMonoid.toZero.{u3} R (AddCommMonoid.toAddMonoid.{u3} R _inst_2)) m)) (FunLike.coe.{max (max (succ u3) (succ u4)) (succ u2), max (succ u3) (succ u4), succ u2} (LinearMap.{u1, u1, max u4 u3, u2} S S _inst_1 _inst_1 (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_1)) (TrivSqZeroExt.{u3, u4} R M) N (TrivSqZeroExt.addCommMonoid.{u3, u4} R M _inst_2 _inst_3) _inst_4 (TrivSqZeroExt.module.{u3, u4, u1} S R M _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TrivSqZeroExt.{u3, u4} R M) (fun (_x : TrivSqZeroExt.{u3, u4} R M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : TrivSqZeroExt.{u3, u4} R M) => N) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, max u3 u4, u2} S S (TrivSqZeroExt.{u3, u4} R M) N _inst_1 _inst_1 (TrivSqZeroExt.addCommMonoid.{u3, u4} R M _inst_2 _inst_3) _inst_4 (TrivSqZeroExt.module.{u3, u4, u1} S R M _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) _inst_7 (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_1))) g (TrivSqZeroExt.inr.{u3, u4} R M (AddMonoid.toZero.{u3} R (AddCommMonoid.toAddMonoid.{u3} R _inst_2)) m))) -> (Eq.{max (max (succ u3) (succ u4)) (succ u2)} (LinearMap.{u1, u1, max u4 u3, u2} S S _inst_1 _inst_1 (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_1)) (TrivSqZeroExt.{u3, u4} R M) N (TrivSqZeroExt.addCommMonoid.{u3, u4} R M _inst_2 _inst_3) _inst_4 (TrivSqZeroExt.module.{u3, u4, u1} S R M _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) f g)
 Case conversion may be inaccurate. Consider using '#align triv_sq_zero_ext.linear_map_ext TrivSqZeroExt.linearMap_extₓ'. -/
 /-- This cannot be marked `@[ext]` as it ends up being used instead of `linear_map.prod_ext` when
 working with `R × M`. -/
@@ -1119,7 +1119,7 @@ variable {A : Type _} [Semiring A] [Algebra R' A]
 lean 3 declaration is
   forall {R' : Type.{u1}} {M : Type.{u2}} [_inst_3 : CommSemiring.{u1} R'] [_inst_4 : AddCommMonoid.{u2} M] [_inst_13 : Module.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4] [_inst_14 : Module.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4] [_inst_15 : IsCentralScalar.{u1, u2} R' M (SMulZeroClass.toHasSmul.{u1, u2} R' M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} R' M (MulZeroClass.toHasZero.{u1} R' (MulZeroOneClass.toMulZeroClass.{u1} R' (MonoidWithZero.toMulZeroOneClass.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toHasSmul.{u1, u2} (MulOpposite.{u1} R') M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MulZeroClass.toHasZero.{u1} (MulOpposite.{u1} R') (MulZeroOneClass.toMulZeroClass.{u1} (MulOpposite.{u1} R') (MonoidWithZero.toMulZeroOneClass.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14))))] {A : Type.{u3}} [_inst_17 : Semiring.{u3} A] [_inst_18 : Algebra.{u1, u3} R' A _inst_3 _inst_17] (f : LinearMap.{u1, u1, u2, u3} R' R' (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18)), (forall (x : M) (y : M), Eq.{succ u3} A (HMul.hMul.{u3, u3, u3} A A A (instHMul.{u3} A (Distrib.toHasMul.{u3} A (NonUnitalNonAssocSemiring.toDistrib.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))))) (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearMap.{u1, u1, u2, u3} R' R' (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18)) (fun (_x : LinearMap.{u1, u1, u2, u3} R' R' (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18)) => M -> A) (LinearMap.hasCoeToFun.{u1, u1, u2, u3} R' R' M A (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))) f x) (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearMap.{u1, u1, u2, u3} R' R' (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18)) (fun (_x : LinearMap.{u1, u1, u2, u3} R' R' (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18)) => M -> A) (LinearMap.hasCoeToFun.{u1, u1, u2, u3} R' R' M A (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))) f y)) (OfNat.ofNat.{u3} A 0 (OfNat.mk.{u3} A 0 (Zero.zero.{u3} A (MulZeroClass.toHasZero.{u3} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17)))))))) -> (AlgHom.{u1, max u1 u2, u3} R' (TrivSqZeroExt.{u1, u2} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (TrivSqZeroExt.liftAux._proof_1.{u1, u2} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15)) _inst_17 (TrivSqZeroExt.algebra.{u1, u2} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18)
 but is expected to have type
-  forall {R' : Type.{u1}} {M : Type.{u2}} [_inst_3 : CommSemiring.{u1} R'] [_inst_4 : AddCommMonoid.{u2} M] [_inst_13 : Module.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4] [_inst_14 : Module.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4] [_inst_15 : IsCentralScalar.{u1, u2} R' M (SMulZeroClass.toSMul.{u1, u2} R' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u1, u2} (MulOpposite.{u1} R') M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.zero.{u1} R' (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.monoidWithZero.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14))))] {A : Type.{u3}} [_inst_17 : Semiring.{u3} A] [_inst_18 : Algebra.{u1, u3} R' A _inst_3 _inst_17] (f : LinearMap.{u1, u1, u2, u3} R' R' (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18)), (forall (x : M) (y : M), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) x) (HMul.hMul.{u3, u3, u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) x) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) y) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) x) (instHMul.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) x) (NonUnitalNonAssocSemiring.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) x) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) x) (Semiring.toNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) x) _inst_17)))) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (LinearMap.{u1, u1, u2, u3} R' R' (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18)) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u3} R' R' M A (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))) f x) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (LinearMap.{u1, u1, u2, u3} R' R' (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18)) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u3} R' R' M A (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))) f y)) (OfNat.ofNat.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) x) 0 (Zero.toOfNat0.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) x) (MonoidWithZero.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) x) (Semiring.toMonoidWithZero.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) x) _inst_17))))) -> (AlgHom.{u1, max u2 u1, u3} R' (TrivSqZeroExt.{u1, u2} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u1, u1, u2} R' _inst_3 (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u1, u1, u2} R' R' M (SMulZeroClass.toSMul.{u1, u2} R' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) (SMulZeroClass.toSMul.{u1, u2} R' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u1, u2} (MulOpposite.{u1} R') M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MonoidWithZero.toZero.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeSemiringInstAlgebraMulOppositeSemiringIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u1, u2} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18)
+  forall {R' : Type.{u1}} {M : Type.{u2}} [_inst_3 : CommSemiring.{u1} R'] [_inst_4 : AddCommMonoid.{u2} M] [_inst_13 : Module.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4] [_inst_14 : Module.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4] [_inst_15 : IsCentralScalar.{u1, u2} R' M (SMulZeroClass.toSMul.{u1, u2} R' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u1, u2} (MulOpposite.{u1} R') M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.zero.{u1} R' (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.monoidWithZero.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14))))] {A : Type.{u3}} [_inst_17 : Semiring.{u3} A] [_inst_18 : Algebra.{u1, u3} R' A _inst_3 _inst_17] (f : LinearMap.{u1, u1, u2, u3} R' R' (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18)), (forall (x : M) (y : M), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => A) x) (HMul.hMul.{u3, u3, u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => A) x) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => A) y) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => A) x) (instHMul.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => A) x) (NonUnitalNonAssocSemiring.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => A) x) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => A) x) (Semiring.toNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => A) x) _inst_17)))) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (LinearMap.{u1, u1, u2, u3} R' R' (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18)) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => A) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u3} R' R' M A (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))) f x) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (LinearMap.{u1, u1, u2, u3} R' R' (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18)) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => A) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u3} R' R' M A (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))) f y)) (OfNat.ofNat.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => A) x) 0 (Zero.toOfNat0.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => A) x) (MonoidWithZero.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => A) x) (Semiring.toMonoidWithZero.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => A) x) _inst_17))))) -> (AlgHom.{u1, max u2 u1, u3} R' (TrivSqZeroExt.{u1, u2} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u1, u1, u2} R' _inst_3 (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u1, u1, u2} R' R' M (SMulZeroClass.toSMul.{u1, u2} R' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) (SMulZeroClass.toSMul.{u1, u2} R' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u1, u2} (MulOpposite.{u1} R') M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MonoidWithZero.toZero.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeSemiringInstAlgebraMulOppositeSemiringIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u1, u2} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18)
 Case conversion may be inaccurate. Consider using '#align triv_sq_zero_ext.lift_aux TrivSqZeroExt.liftAuxₓ'. -/
 /-- There is an alg_hom from the trivial square zero extension to any `R`-algebra with a submodule
 whose products are all zero.
@@ -1142,7 +1142,7 @@ def liftAux (f : M →ₗ[R'] A) (hf : ∀ x y, f x * f y = 0) : tsze R' M →
 lean 3 declaration is
   forall {R' : Type.{u1}} {M : Type.{u2}} [_inst_3 : CommSemiring.{u1} R'] [_inst_4 : AddCommMonoid.{u2} M] [_inst_13 : Module.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4] [_inst_14 : Module.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4] [_inst_15 : IsCentralScalar.{u1, u2} R' M (SMulZeroClass.toHasSmul.{u1, u2} R' M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} R' M (MulZeroClass.toHasZero.{u1} R' (MulZeroOneClass.toMulZeroClass.{u1} R' (MonoidWithZero.toMulZeroOneClass.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toHasSmul.{u1, u2} (MulOpposite.{u1} R') M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MulZeroClass.toHasZero.{u1} (MulOpposite.{u1} R') (MulZeroOneClass.toMulZeroClass.{u1} (MulOpposite.{u1} R') (MonoidWithZero.toMulZeroOneClass.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14))))] {A : Type.{u3}} [_inst_17 : Semiring.{u3} A] [_inst_18 : Algebra.{u1, u3} R' A _inst_3 _inst_17] (f : LinearMap.{u1, u1, u2, u3} R' R' (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18)) (hf : forall (x : M) (y : M), Eq.{succ u3} A (HMul.hMul.{u3, u3, u3} A A A (instHMul.{u3} A (Distrib.toHasMul.{u3} A (NonUnitalNonAssocSemiring.toDistrib.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))))) (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearMap.{u1, u1, u2, u3} R' R' (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18)) (fun (_x : LinearMap.{u1, u1, u2, u3} R' R' (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18)) => M -> A) (LinearMap.hasCoeToFun.{u1, u1, u2, u3} R' R' M A (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))) f x) (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearMap.{u1, u1, u2, u3} R' R' (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18)) (fun (_x : LinearMap.{u1, u1, u2, u3} R' R' (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18)) => M -> A) (LinearMap.hasCoeToFun.{u1, u1, u2, u3} R' R' M A (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))) f y)) (OfNat.ofNat.{u3} A 0 (OfNat.mk.{u3} A 0 (Zero.zero.{u3} A (MulZeroClass.toHasZero.{u3} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17)))))))) (m : M), Eq.{succ u3} A (coeFn.{max (succ (max u1 u2)) (succ u3), max (succ (max u1 u2)) (succ u3)} (AlgHom.{u1, max u1 u2, u3} R' (TrivSqZeroExt.{u1, u2} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (TrivSqZeroExt.liftAux._proof_1.{u1, u2} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15)) _inst_17 (TrivSqZeroExt.algebra.{u1, u2} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18) (fun (_x : AlgHom.{u1, max u1 u2, u3} R' (TrivSqZeroExt.{u1, u2} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (TrivSqZeroExt.liftAux._proof_1.{u1, u2} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15)) _inst_17 (TrivSqZeroExt.algebra.{u1, u2} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18) => (TrivSqZeroExt.{u1, u2} R' M) -> A) ([anonymous].{u1, max u1 u2, u3} R' (TrivSqZeroExt.{u1, u2} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (TrivSqZeroExt.liftAux._proof_1.{u1, u2} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15)) _inst_17 (TrivSqZeroExt.algebra.{u1, u2} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18) (TrivSqZeroExt.liftAux.{u1, u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15 A _inst_17 _inst_18 f hf) (TrivSqZeroExt.inr.{u1, u2} R' M (MulZeroClass.toHasZero.{u1} R' (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))))) m)) (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearMap.{u1, u1, u2, u3} R' R' (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18)) (fun (_x : LinearMap.{u1, u1, u2, u3} R' R' (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18)) => M -> A) (LinearMap.hasCoeToFun.{u1, u1, u2, u3} R' R' M A (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))) f m)
 but is expected to have type
-  forall {R' : Type.{u2}} {M : Type.{u3}} [_inst_3 : CommSemiring.{u2} R'] [_inst_4 : AddCommMonoid.{u3} M] [_inst_13 : Module.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4] [_inst_14 : Module.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4] [_inst_15 : IsCentralScalar.{u2, u3} R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.zero.{u2} R' (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.monoidWithZero.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14))))] {A : Type.{u1}} [_inst_17 : Semiring.{u1} A] [_inst_18 : Algebra.{u2, u1} R' A _inst_3 _inst_17] (f : LinearMap.{u2, u2, u3, u1} R' R' (CommSemiring.toSemiring.{u2} R' _inst_3) (CommSemiring.toSemiring.{u2} R' _inst_3) (RingHom.id.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))) _inst_13 (Algebra.toModule.{u2, u1} R' A _inst_3 _inst_17 _inst_18)) (hf : forall (x : M) (y : M), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) x) (HMul.hMul.{u1, u1, u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) x) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) y) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) x) (instHMul.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) x) (NonUnitalNonAssocSemiring.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) x) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) x) (Semiring.toNonAssocSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) x) _inst_17)))) (FunLike.coe.{max (succ u3) (succ u1), succ u3, succ u1} (LinearMap.{u2, u2, u3, u1} R' R' (CommSemiring.toSemiring.{u2} R' _inst_3) (CommSemiring.toSemiring.{u2} R' _inst_3) (RingHom.id.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))) _inst_13 (Algebra.toModule.{u2, u1} R' A _inst_3 _inst_17 _inst_18)) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u3, u1} R' R' M A (CommSemiring.toSemiring.{u2} R' _inst_3) (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))) _inst_13 (Algebra.toModule.{u2, u1} R' A _inst_3 _inst_17 _inst_18) (RingHom.id.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) f x) (FunLike.coe.{max (succ u3) (succ u1), succ u3, succ u1} (LinearMap.{u2, u2, u3, u1} R' R' (CommSemiring.toSemiring.{u2} R' _inst_3) (CommSemiring.toSemiring.{u2} R' _inst_3) (RingHom.id.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))) _inst_13 (Algebra.toModule.{u2, u1} R' A _inst_3 _inst_17 _inst_18)) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u3, u1} R' R' M A (CommSemiring.toSemiring.{u2} R' _inst_3) (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))) _inst_13 (Algebra.toModule.{u2, u1} R' A _inst_3 _inst_17 _inst_18) (RingHom.id.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) f y)) (OfNat.ofNat.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) x) 0 (Zero.toOfNat0.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) x) (MonoidWithZero.toZero.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) x) (Semiring.toMonoidWithZero.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) x) _inst_17))))) (m : M), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : TrivSqZeroExt.{u2, u3} R' M) => A) (TrivSqZeroExt.inr.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) m)) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u3), succ u1} (AlgHom.{u2, max u3 u2, u1} R' (TrivSqZeroExt.{u2, u3} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeSemiringInstAlgebraMulOppositeSemiringIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18) (TrivSqZeroExt.{u2, u3} R' M) (fun (_x : TrivSqZeroExt.{u2, u3} R' M) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : TrivSqZeroExt.{u2, u3} R' M) => A) _x) (SMulHomClass.toFunLike.{max (max u2 u3) u1, u2, max u2 u3, u1} (AlgHom.{u2, max u3 u2, u1} R' (TrivSqZeroExt.{u2, u3} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeSemiringInstAlgebraMulOppositeSemiringIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18) R' (TrivSqZeroExt.{u2, u3} R' M) A (SMulZeroClass.toSMul.{u2, max u2 u3} R' (TrivSqZeroExt.{u2, u3} R' M) (AddMonoid.toZero.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (AddCommMonoid.toAddMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (Semiring.toNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13))))))))))) (DistribSMul.toSMulZeroClass.{u2, max u2 u3} R' (TrivSqZeroExt.{u2, u3} R' M) (AddMonoid.toAddZeroClass.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (AddCommMonoid.toAddMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (Semiring.toNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13))))))))))) (DistribMulAction.toDistribSMul.{u2, max u2 u3} R' (TrivSqZeroExt.{u2, u3} R' M) (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddCommMonoid.toAddMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (Semiring.toNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))))))) (Module.toDistribMulAction.{u2, max u2 u3} R' (TrivSqZeroExt.{u2, u3} R' M) (CommSemiring.toSemiring.{u2} R' _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (Semiring.toNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13))))))))) (Algebra.toModule.{u2, max u2 u3} R' (TrivSqZeroExt.{u2, u3} R' M) _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeSemiringInstAlgebraMulOppositeSemiringIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15)))))) (SMulZeroClass.toSMul.{u2, u1} R' A (AddMonoid.toZero.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))))) (DistribSMul.toSMulZeroClass.{u2, u1} R' A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))))) (DistribMulAction.toDistribSMul.{u2, u1} R' A (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17)))) (Module.toDistribMulAction.{u2, u1} R' A (CommSemiring.toSemiring.{u2} R' _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))) (Algebra.toModule.{u2, u1} R' A _inst_3 _inst_17 _inst_18))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u2 u3) u1, u2, max u2 u3, u1} (AlgHom.{u2, max u3 u2, u1} R' (TrivSqZeroExt.{u2, u3} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeSemiringInstAlgebraMulOppositeSemiringIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18) R' (TrivSqZeroExt.{u2, u3} R' M) A (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddCommMonoid.toAddMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (Semiring.toNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))))))) (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17)))) (Module.toDistribMulAction.{u2, max u2 u3} R' (TrivSqZeroExt.{u2, u3} R' M) (CommSemiring.toSemiring.{u2} R' _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (Semiring.toNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13))))))))) (Algebra.toModule.{u2, max u2 u3} R' (TrivSqZeroExt.{u2, u3} R' M) _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeSemiringInstAlgebraMulOppositeSemiringIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15))) (Module.toDistribMulAction.{u2, u1} R' A (CommSemiring.toSemiring.{u2} R' _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))) (Algebra.toModule.{u2, u1} R' A _inst_3 _inst_17 _inst_18)) (SemilinearMapClass.distribMulActionHomClass.{u2, max u2 u3, u1, max (max u2 u3) u1} R' (TrivSqZeroExt.{u2, u3} R' M) A (AlgHom.{u2, max u3 u2, u1} R' (TrivSqZeroExt.{u2, u3} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeSemiringInstAlgebraMulOppositeSemiringIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18) (CommSemiring.toSemiring.{u2} R' _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (Semiring.toNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13))))))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))) (Algebra.toModule.{u2, max u2 u3} R' (TrivSqZeroExt.{u2, u3} R' M) _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeSemiringInstAlgebraMulOppositeSemiringIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15)) (Algebra.toModule.{u2, u1} R' A _inst_3 _inst_17 _inst_18) (AlgHomClass.linearMapClass.{u2, max u2 u3, u1, max (max u2 u3) u1} R' (TrivSqZeroExt.{u2, u3} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeSemiringInstAlgebraMulOppositeSemiringIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18 (AlgHom.{u2, max u3 u2, u1} R' (TrivSqZeroExt.{u2, u3} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeSemiringInstAlgebraMulOppositeSemiringIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18) (AlgHom.algHomClass.{u2, max u2 u3, u1} R' (TrivSqZeroExt.{u2, u3} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeSemiringInstAlgebraMulOppositeSemiringIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18))))) (TrivSqZeroExt.liftAux.{u2, u3, u1} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15 A _inst_17 _inst_18 f hf) (TrivSqZeroExt.inr.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) m)) (FunLike.coe.{max (succ u3) (succ u1), succ u3, succ u1} (LinearMap.{u2, u2, u3, u1} R' R' (CommSemiring.toSemiring.{u2} R' _inst_3) (CommSemiring.toSemiring.{u2} R' _inst_3) (RingHom.id.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))) _inst_13 (Algebra.toModule.{u2, u1} R' A _inst_3 _inst_17 _inst_18)) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u3, u1} R' R' M A (CommSemiring.toSemiring.{u2} R' _inst_3) (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))) _inst_13 (Algebra.toModule.{u2, u1} R' A _inst_3 _inst_17 _inst_18) (RingHom.id.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) f m)
+  forall {R' : Type.{u2}} {M : Type.{u3}} [_inst_3 : CommSemiring.{u2} R'] [_inst_4 : AddCommMonoid.{u3} M] [_inst_13 : Module.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4] [_inst_14 : Module.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4] [_inst_15 : IsCentralScalar.{u2, u3} R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.zero.{u2} R' (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.monoidWithZero.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14))))] {A : Type.{u1}} [_inst_17 : Semiring.{u1} A] [_inst_18 : Algebra.{u2, u1} R' A _inst_3 _inst_17] (f : LinearMap.{u2, u2, u3, u1} R' R' (CommSemiring.toSemiring.{u2} R' _inst_3) (CommSemiring.toSemiring.{u2} R' _inst_3) (RingHom.id.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))) _inst_13 (Algebra.toModule.{u2, u1} R' A _inst_3 _inst_17 _inst_18)) (hf : forall (x : M) (y : M), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => A) x) (HMul.hMul.{u1, u1, u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => A) x) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => A) y) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => A) x) (instHMul.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => A) x) (NonUnitalNonAssocSemiring.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => A) x) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => A) x) (Semiring.toNonAssocSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => A) x) _inst_17)))) (FunLike.coe.{max (succ u3) (succ u1), succ u3, succ u1} (LinearMap.{u2, u2, u3, u1} R' R' (CommSemiring.toSemiring.{u2} R' _inst_3) (CommSemiring.toSemiring.{u2} R' _inst_3) (RingHom.id.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))) _inst_13 (Algebra.toModule.{u2, u1} R' A _inst_3 _inst_17 _inst_18)) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => A) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u3, u1} R' R' M A (CommSemiring.toSemiring.{u2} R' _inst_3) (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))) _inst_13 (Algebra.toModule.{u2, u1} R' A _inst_3 _inst_17 _inst_18) (RingHom.id.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) f x) (FunLike.coe.{max (succ u3) (succ u1), succ u3, succ u1} (LinearMap.{u2, u2, u3, u1} R' R' (CommSemiring.toSemiring.{u2} R' _inst_3) (CommSemiring.toSemiring.{u2} R' _inst_3) (RingHom.id.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))) _inst_13 (Algebra.toModule.{u2, u1} R' A _inst_3 _inst_17 _inst_18)) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => A) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u3, u1} R' R' M A (CommSemiring.toSemiring.{u2} R' _inst_3) (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))) _inst_13 (Algebra.toModule.{u2, u1} R' A _inst_3 _inst_17 _inst_18) (RingHom.id.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) f y)) (OfNat.ofNat.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => A) x) 0 (Zero.toOfNat0.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => A) x) (MonoidWithZero.toZero.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => A) x) (Semiring.toMonoidWithZero.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => A) x) _inst_17))))) (m : M), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : TrivSqZeroExt.{u2, u3} R' M) => A) (TrivSqZeroExt.inr.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) m)) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u3), succ u1} (AlgHom.{u2, max u3 u2, u1} R' (TrivSqZeroExt.{u2, u3} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeSemiringInstAlgebraMulOppositeSemiringIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18) (TrivSqZeroExt.{u2, u3} R' M) (fun (_x : TrivSqZeroExt.{u2, u3} R' M) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : TrivSqZeroExt.{u2, u3} R' M) => A) _x) (SMulHomClass.toFunLike.{max (max u2 u3) u1, u2, max u2 u3, u1} (AlgHom.{u2, max u3 u2, u1} R' (TrivSqZeroExt.{u2, u3} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeSemiringInstAlgebraMulOppositeSemiringIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18) R' (TrivSqZeroExt.{u2, u3} R' M) A (SMulZeroClass.toSMul.{u2, max u2 u3} R' (TrivSqZeroExt.{u2, u3} R' M) (AddMonoid.toZero.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (AddCommMonoid.toAddMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (Semiring.toNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13))))))))))) (DistribSMul.toSMulZeroClass.{u2, max u2 u3} R' (TrivSqZeroExt.{u2, u3} R' M) (AddMonoid.toAddZeroClass.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (AddCommMonoid.toAddMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (Semiring.toNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13))))))))))) (DistribMulAction.toDistribSMul.{u2, max u2 u3} R' (TrivSqZeroExt.{u2, u3} R' M) (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddCommMonoid.toAddMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (Semiring.toNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))))))) (Module.toDistribMulAction.{u2, max u2 u3} R' (TrivSqZeroExt.{u2, u3} R' M) (CommSemiring.toSemiring.{u2} R' _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (Semiring.toNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13))))))))) (Algebra.toModule.{u2, max u2 u3} R' (TrivSqZeroExt.{u2, u3} R' M) _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeSemiringInstAlgebraMulOppositeSemiringIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15)))))) (SMulZeroClass.toSMul.{u2, u1} R' A (AddMonoid.toZero.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))))) (DistribSMul.toSMulZeroClass.{u2, u1} R' A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))))) (DistribMulAction.toDistribSMul.{u2, u1} R' A (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17)))) (Module.toDistribMulAction.{u2, u1} R' A (CommSemiring.toSemiring.{u2} R' _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))) (Algebra.toModule.{u2, u1} R' A _inst_3 _inst_17 _inst_18))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u2 u3) u1, u2, max u2 u3, u1} (AlgHom.{u2, max u3 u2, u1} R' (TrivSqZeroExt.{u2, u3} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeSemiringInstAlgebraMulOppositeSemiringIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18) R' (TrivSqZeroExt.{u2, u3} R' M) A (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddCommMonoid.toAddMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (Semiring.toNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))))))) (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17)))) (Module.toDistribMulAction.{u2, max u2 u3} R' (TrivSqZeroExt.{u2, u3} R' M) (CommSemiring.toSemiring.{u2} R' _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (Semiring.toNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13))))))))) (Algebra.toModule.{u2, max u2 u3} R' (TrivSqZeroExt.{u2, u3} R' M) _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeSemiringInstAlgebraMulOppositeSemiringIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15))) (Module.toDistribMulAction.{u2, u1} R' A (CommSemiring.toSemiring.{u2} R' _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))) (Algebra.toModule.{u2, u1} R' A _inst_3 _inst_17 _inst_18)) (SemilinearMapClass.distribMulActionHomClass.{u2, max u2 u3, u1, max (max u2 u3) u1} R' (TrivSqZeroExt.{u2, u3} R' M) A (AlgHom.{u2, max u3 u2, u1} R' (TrivSqZeroExt.{u2, u3} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeSemiringInstAlgebraMulOppositeSemiringIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18) (CommSemiring.toSemiring.{u2} R' _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (Semiring.toNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13))))))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))) (Algebra.toModule.{u2, max u2 u3} R' (TrivSqZeroExt.{u2, u3} R' M) _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeSemiringInstAlgebraMulOppositeSemiringIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15)) (Algebra.toModule.{u2, u1} R' A _inst_3 _inst_17 _inst_18) (AlgHomClass.linearMapClass.{u2, max u2 u3, u1, max (max u2 u3) u1} R' (TrivSqZeroExt.{u2, u3} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeSemiringInstAlgebraMulOppositeSemiringIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18 (AlgHom.{u2, max u3 u2, u1} R' (TrivSqZeroExt.{u2, u3} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeSemiringInstAlgebraMulOppositeSemiringIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18) (AlgHom.algHomClass.{u2, max u2 u3, u1} R' (TrivSqZeroExt.{u2, u3} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeSemiringInstAlgebraMulOppositeSemiringIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18))))) (TrivSqZeroExt.liftAux.{u2, u3, u1} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15 A _inst_17 _inst_18 f hf) (TrivSqZeroExt.inr.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) m)) (FunLike.coe.{max (succ u3) (succ u1), succ u3, succ u1} (LinearMap.{u2, u2, u3, u1} R' R' (CommSemiring.toSemiring.{u2} R' _inst_3) (CommSemiring.toSemiring.{u2} R' _inst_3) (RingHom.id.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))) _inst_13 (Algebra.toModule.{u2, u1} R' A _inst_3 _inst_17 _inst_18)) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => A) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u3, u1} R' R' M A (CommSemiring.toSemiring.{u2} R' _inst_3) (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))) _inst_13 (Algebra.toModule.{u2, u1} R' A _inst_3 _inst_17 _inst_18) (RingHom.id.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) f m)
 Case conversion may be inaccurate. Consider using '#align triv_sq_zero_ext.lift_aux_apply_inr TrivSqZeroExt.liftAux_apply_inrₓ'. -/
 @[simp]
 theorem liftAux_apply_inr (f : M →ₗ[R'] A) (hf : ∀ x y, f x * f y = 0) (m : M) :
@@ -1154,7 +1154,7 @@ theorem liftAux_apply_inr (f : M →ₗ[R'] A) (hf : ∀ x y, f x * f y = 0) (m
 lean 3 declaration is
   forall {R' : Type.{u1}} {M : Type.{u2}} [_inst_3 : CommSemiring.{u1} R'] [_inst_4 : AddCommMonoid.{u2} M] [_inst_13 : Module.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4] [_inst_14 : Module.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4] [_inst_15 : IsCentralScalar.{u1, u2} R' M (SMulZeroClass.toHasSmul.{u1, u2} R' M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} R' M (MulZeroClass.toHasZero.{u1} R' (MulZeroOneClass.toMulZeroClass.{u1} R' (MonoidWithZero.toMulZeroOneClass.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toHasSmul.{u1, u2} (MulOpposite.{u1} R') M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MulZeroClass.toHasZero.{u1} (MulOpposite.{u1} R') (MulZeroOneClass.toMulZeroClass.{u1} (MulOpposite.{u1} R') (MonoidWithZero.toMulZeroOneClass.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14))))] {A : Type.{u3}} [_inst_17 : Semiring.{u3} A] [_inst_18 : Algebra.{u1, u3} R' A _inst_3 _inst_17] (f : LinearMap.{u1, u1, u2, u3} R' R' (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18)) (hf : forall (x : M) (y : M), Eq.{succ u3} A (HMul.hMul.{u3, u3, u3} A A A (instHMul.{u3} A (Distrib.toHasMul.{u3} A (NonUnitalNonAssocSemiring.toDistrib.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))))) (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearMap.{u1, u1, u2, u3} R' R' (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18)) (fun (_x : LinearMap.{u1, u1, u2, u3} R' R' (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18)) => M -> A) (LinearMap.hasCoeToFun.{u1, u1, u2, u3} R' R' M A (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))) f x) (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearMap.{u1, u1, u2, u3} R' R' (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18)) (fun (_x : LinearMap.{u1, u1, u2, u3} R' R' (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18)) => M -> A) (LinearMap.hasCoeToFun.{u1, u1, u2, u3} R' R' M A (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))) f y)) (OfNat.ofNat.{u3} A 0 (OfNat.mk.{u3} A 0 (Zero.zero.{u3} A (MulZeroClass.toHasZero.{u3} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17)))))))), Eq.{max (succ u2) (succ u3)} (LinearMap.{u1, u1, u2, u3} R' R' (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18)) (LinearMap.comp.{u1, u1, u1, u2, max u1 u2, u3} R' R' R' M (TrivSqZeroExt.{u1, u2} R' M) A (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u2} (TrivSqZeroExt.{u1, u2} R' M) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (TrivSqZeroExt.{u1, u2} R' M) (Semiring.toNonAssocSemiring.{max u1 u2} (TrivSqZeroExt.{u1, u2} R' M) (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (TrivSqZeroExt.liftAux._proof_1.{u1, u2} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, max u1 u2} R' (TrivSqZeroExt.{u1, u2} R' M) _inst_3 (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (TrivSqZeroExt.liftAux._proof_1.{u1, u2} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15)) (TrivSqZeroExt.algebra.{u1, u2} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15)) (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (RingHomCompTriple.right_ids.{u1, u1} R' R' (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))) (AlgHom.toLinearMap.{u1, max u1 u2, u3} R' (TrivSqZeroExt.{u1, u2} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (TrivSqZeroExt.liftAux._proof_1.{u1, u2} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15)) _inst_17 (TrivSqZeroExt.algebra.{u1, u2} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18 (TrivSqZeroExt.liftAux.{u1, u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15 A _inst_17 _inst_18 f hf)) (TrivSqZeroExt.inrHom.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)) f
 but is expected to have type
-  forall {R' : Type.{u2}} {M : Type.{u3}} [_inst_3 : CommSemiring.{u2} R'] [_inst_4 : AddCommMonoid.{u3} M] [_inst_13 : Module.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4] [_inst_14 : Module.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4] [_inst_15 : IsCentralScalar.{u2, u3} R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.zero.{u2} R' (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.monoidWithZero.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14))))] {A : Type.{u1}} [_inst_17 : Semiring.{u1} A] [_inst_18 : Algebra.{u2, u1} R' A _inst_3 _inst_17] (f : LinearMap.{u2, u2, u3, u1} R' R' (CommSemiring.toSemiring.{u2} R' _inst_3) (CommSemiring.toSemiring.{u2} R' _inst_3) (RingHom.id.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))) _inst_13 (Algebra.toModule.{u2, u1} R' A _inst_3 _inst_17 _inst_18)) (hf : forall (x : M) (y : M), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) x) (HMul.hMul.{u1, u1, u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) x) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) y) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) x) (instHMul.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) x) (NonUnitalNonAssocSemiring.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) x) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) x) (Semiring.toNonAssocSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) x) _inst_17)))) (FunLike.coe.{max (succ u3) (succ u1), succ u3, succ u1} (LinearMap.{u2, u2, u3, u1} R' R' (CommSemiring.toSemiring.{u2} R' _inst_3) (CommSemiring.toSemiring.{u2} R' _inst_3) (RingHom.id.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))) _inst_13 (Algebra.toModule.{u2, u1} R' A _inst_3 _inst_17 _inst_18)) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u3, u1} R' R' M A (CommSemiring.toSemiring.{u2} R' _inst_3) (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))) _inst_13 (Algebra.toModule.{u2, u1} R' A _inst_3 _inst_17 _inst_18) (RingHom.id.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) f x) (FunLike.coe.{max (succ u3) (succ u1), succ u3, succ u1} (LinearMap.{u2, u2, u3, u1} R' R' (CommSemiring.toSemiring.{u2} R' _inst_3) (CommSemiring.toSemiring.{u2} R' _inst_3) (RingHom.id.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))) _inst_13 (Algebra.toModule.{u2, u1} R' A _inst_3 _inst_17 _inst_18)) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u3, u1} R' R' M A (CommSemiring.toSemiring.{u2} R' _inst_3) (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))) _inst_13 (Algebra.toModule.{u2, u1} R' A _inst_3 _inst_17 _inst_18) (RingHom.id.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) f y)) (OfNat.ofNat.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) x) 0 (Zero.toOfNat0.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) x) (MonoidWithZero.toZero.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) x) (Semiring.toMonoidWithZero.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) x) _inst_17))))), Eq.{max (succ u3) (succ u1)} (LinearMap.{u2, u2, u3, u1} R' R' (CommSemiring.toSemiring.{u2} R' _inst_3) (CommSemiring.toSemiring.{u2} R' _inst_3) (RingHom.id.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))) _inst_13 (Algebra.toModule.{u2, u1} R' A _inst_3 _inst_17 _inst_18)) (LinearMap.comp.{u2, u2, u2, u3, max u2 u3, u1} R' R' R' M (TrivSqZeroExt.{u2, u3} R' M) A (CommSemiring.toSemiring.{u2} R' _inst_3) (CommSemiring.toSemiring.{u2} R' _inst_3) (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (Semiring.toNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13))))))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))) _inst_13 (Algebra.toModule.{u2, max u2 u3} R' (TrivSqZeroExt.{u2, u3} R' M) _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeSemiringInstAlgebraMulOppositeSemiringIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15)) (Algebra.toModule.{u2, u1} R' A _inst_3 _inst_17 _inst_18) (RingHom.id.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (RingHom.id.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (RingHom.id.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (RingHomCompTriple.ids.{u2, u2} R' R' (CommSemiring.toSemiring.{u2} R' _inst_3) (CommSemiring.toSemiring.{u2} R' _inst_3) (RingHom.id.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AlgHom.toLinearMap.{u2, max u2 u3, u1} R' (TrivSqZeroExt.{u2, u3} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeSemiringInstAlgebraMulOppositeSemiringIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18 (TrivSqZeroExt.liftAux.{u2, u3, u1} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15 A _inst_17 _inst_18 f hf)) (TrivSqZeroExt.inrHom.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)) f
+  forall {R' : Type.{u2}} {M : Type.{u3}} [_inst_3 : CommSemiring.{u2} R'] [_inst_4 : AddCommMonoid.{u3} M] [_inst_13 : Module.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4] [_inst_14 : Module.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4] [_inst_15 : IsCentralScalar.{u2, u3} R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.zero.{u2} R' (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.monoidWithZero.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14))))] {A : Type.{u1}} [_inst_17 : Semiring.{u1} A] [_inst_18 : Algebra.{u2, u1} R' A _inst_3 _inst_17] (f : LinearMap.{u2, u2, u3, u1} R' R' (CommSemiring.toSemiring.{u2} R' _inst_3) (CommSemiring.toSemiring.{u2} R' _inst_3) (RingHom.id.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))) _inst_13 (Algebra.toModule.{u2, u1} R' A _inst_3 _inst_17 _inst_18)) (hf : forall (x : M) (y : M), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => A) x) (HMul.hMul.{u1, u1, u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => A) x) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => A) y) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => A) x) (instHMul.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => A) x) (NonUnitalNonAssocSemiring.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => A) x) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => A) x) (Semiring.toNonAssocSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => A) x) _inst_17)))) (FunLike.coe.{max (succ u3) (succ u1), succ u3, succ u1} (LinearMap.{u2, u2, u3, u1} R' R' (CommSemiring.toSemiring.{u2} R' _inst_3) (CommSemiring.toSemiring.{u2} R' _inst_3) (RingHom.id.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))) _inst_13 (Algebra.toModule.{u2, u1} R' A _inst_3 _inst_17 _inst_18)) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => A) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u3, u1} R' R' M A (CommSemiring.toSemiring.{u2} R' _inst_3) (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))) _inst_13 (Algebra.toModule.{u2, u1} R' A _inst_3 _inst_17 _inst_18) (RingHom.id.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) f x) (FunLike.coe.{max (succ u3) (succ u1), succ u3, succ u1} (LinearMap.{u2, u2, u3, u1} R' R' (CommSemiring.toSemiring.{u2} R' _inst_3) (CommSemiring.toSemiring.{u2} R' _inst_3) (RingHom.id.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))) _inst_13 (Algebra.toModule.{u2, u1} R' A _inst_3 _inst_17 _inst_18)) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => A) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u3, u1} R' R' M A (CommSemiring.toSemiring.{u2} R' _inst_3) (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))) _inst_13 (Algebra.toModule.{u2, u1} R' A _inst_3 _inst_17 _inst_18) (RingHom.id.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) f y)) (OfNat.ofNat.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => A) x) 0 (Zero.toOfNat0.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => A) x) (MonoidWithZero.toZero.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => A) x) (Semiring.toMonoidWithZero.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => A) x) _inst_17))))), Eq.{max (succ u3) (succ u1)} (LinearMap.{u2, u2, u3, u1} R' R' (CommSemiring.toSemiring.{u2} R' _inst_3) (CommSemiring.toSemiring.{u2} R' _inst_3) (RingHom.id.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))) _inst_13 (Algebra.toModule.{u2, u1} R' A _inst_3 _inst_17 _inst_18)) (LinearMap.comp.{u2, u2, u2, u3, max u2 u3, u1} R' R' R' M (TrivSqZeroExt.{u2, u3} R' M) A (CommSemiring.toSemiring.{u2} R' _inst_3) (CommSemiring.toSemiring.{u2} R' _inst_3) (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (Semiring.toNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13))))))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))) _inst_13 (Algebra.toModule.{u2, max u2 u3} R' (TrivSqZeroExt.{u2, u3} R' M) _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeSemiringInstAlgebraMulOppositeSemiringIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15)) (Algebra.toModule.{u2, u1} R' A _inst_3 _inst_17 _inst_18) (RingHom.id.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (RingHom.id.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (RingHom.id.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (RingHomCompTriple.ids.{u2, u2} R' R' (CommSemiring.toSemiring.{u2} R' _inst_3) (CommSemiring.toSemiring.{u2} R' _inst_3) (RingHom.id.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AlgHom.toLinearMap.{u2, max u2 u3, u1} R' (TrivSqZeroExt.{u2, u3} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeSemiringInstAlgebraMulOppositeSemiringIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18 (TrivSqZeroExt.liftAux.{u2, u3, u1} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15 A _inst_17 _inst_18 f hf)) (TrivSqZeroExt.inrHom.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)) f
 Case conversion may be inaccurate. Consider using '#align triv_sq_zero_ext.lift_aux_comp_inr_hom TrivSqZeroExt.liftAux_comp_inrHomₓ'. -/
 @[simp]
 theorem liftAux_comp_inrHom (f : M →ₗ[R'] A) (hf : ∀ x y, f x * f y = 0) :
@@ -1174,7 +1174,7 @@ theorem liftAux_inrHom : liftAux (inrHom R' M) (inr_mul_inr R') = AlgHom.id R' (
 lean 3 declaration is
   forall {R' : Type.{u1}} {M : Type.{u2}} [_inst_3 : CommSemiring.{u1} R'] [_inst_4 : AddCommMonoid.{u2} M] [_inst_13 : Module.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4] [_inst_14 : Module.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4] [_inst_15 : IsCentralScalar.{u1, u2} R' M (SMulZeroClass.toHasSmul.{u1, u2} R' M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} R' M (MulZeroClass.toHasZero.{u1} R' (MulZeroOneClass.toMulZeroClass.{u1} R' (MonoidWithZero.toMulZeroOneClass.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toHasSmul.{u1, u2} (MulOpposite.{u1} R') M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MulZeroClass.toHasZero.{u1} (MulOpposite.{u1} R') (MulZeroOneClass.toMulZeroClass.{u1} (MulOpposite.{u1} R') (MonoidWithZero.toMulZeroOneClass.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14))))] {A : Type.{u3}} [_inst_17 : Semiring.{u3} A] [_inst_18 : Algebra.{u1, u3} R' A _inst_3 _inst_17], Equiv.{max 1 (succ u2) (succ u3), max (succ (max u1 u2)) (succ u3)} (Subtype.{max (succ u2) (succ u3)} (LinearMap.{u1, u1, u2, u3} R' R' (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18)) (fun (f : LinearMap.{u1, u1, u2, u3} R' R' (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18)) => forall (x : M) (y : M), Eq.{succ u3} A (HMul.hMul.{u3, u3, u3} A A A (instHMul.{u3} A (Distrib.toHasMul.{u3} A (NonUnitalNonAssocSemiring.toDistrib.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))))) (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearMap.{u1, u1, u2, u3} R' R' (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18)) (fun (_x : LinearMap.{u1, u1, u2, u3} R' R' (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18)) => M -> A) (LinearMap.hasCoeToFun.{u1, u1, u2, u3} R' R' M A (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))) f x) (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearMap.{u1, u1, u2, u3} R' R' (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18)) (fun (_x : LinearMap.{u1, u1, u2, u3} R' R' (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18)) => M -> A) (LinearMap.hasCoeToFun.{u1, u1, u2, u3} R' R' M A (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))) f y)) (OfNat.ofNat.{u3} A 0 (OfNat.mk.{u3} A 0 (Zero.zero.{u3} A (MulZeroClass.toHasZero.{u3} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))))))))) (AlgHom.{u1, max u1 u2, u3} R' (TrivSqZeroExt.{u1, u2} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (TrivSqZeroExt.lift._proof_1.{u1, u2} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15)) _inst_17 (TrivSqZeroExt.algebra.{u1, u2} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18)
 but is expected to have type
-  forall {R' : Type.{u1}} {M : Type.{u2}} [_inst_3 : CommSemiring.{u1} R'] [_inst_4 : AddCommMonoid.{u2} M] [_inst_13 : Module.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4] [_inst_14 : Module.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4] [_inst_15 : IsCentralScalar.{u1, u2} R' M (SMulZeroClass.toSMul.{u1, u2} R' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u1, u2} (MulOpposite.{u1} R') M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.zero.{u1} R' (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.monoidWithZero.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14))))] {A : Type.{u3}} [_inst_17 : Semiring.{u3} A] [_inst_18 : Algebra.{u1, u3} R' A _inst_3 _inst_17], Equiv.{max 1 (succ u2) (succ u3), max (succ u3) (succ (max u2 u1))} (Subtype.{max (succ u2) (succ u3)} (LinearMap.{u1, u1, u2, u3} R' R' (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18)) (fun (f : LinearMap.{u1, u1, u2, u3} R' R' (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18)) => forall (x : M) (y : M), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) x) (HMul.hMul.{u3, u3, u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) x) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) y) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) x) (instHMul.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) x) (NonUnitalNonAssocSemiring.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) x) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) x) (Semiring.toNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) x) _inst_17)))) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (LinearMap.{u1, u1, u2, u3} R' R' (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18)) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u3} R' R' M A (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))) f x) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (LinearMap.{u1, u1, u2, u3} R' R' (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18)) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u3} R' R' M A (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))) f y)) (OfNat.ofNat.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) x) 0 (Zero.toOfNat0.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) x) (MonoidWithZero.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) x) (Semiring.toMonoidWithZero.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) x) _inst_17)))))) (AlgHom.{u1, max u2 u1, u3} R' (TrivSqZeroExt.{u1, u2} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u1, u1, u2} R' _inst_3 (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u1, u1, u2} R' R' M (SMulZeroClass.toSMul.{u1, u2} R' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) (SMulZeroClass.toSMul.{u1, u2} R' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u1, u2} (MulOpposite.{u1} R') M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MonoidWithZero.toZero.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeSemiringInstAlgebraMulOppositeSemiringIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u1, u2} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18)
+  forall {R' : Type.{u1}} {M : Type.{u2}} [_inst_3 : CommSemiring.{u1} R'] [_inst_4 : AddCommMonoid.{u2} M] [_inst_13 : Module.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4] [_inst_14 : Module.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4] [_inst_15 : IsCentralScalar.{u1, u2} R' M (SMulZeroClass.toSMul.{u1, u2} R' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u1, u2} (MulOpposite.{u1} R') M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.zero.{u1} R' (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.monoidWithZero.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14))))] {A : Type.{u3}} [_inst_17 : Semiring.{u3} A] [_inst_18 : Algebra.{u1, u3} R' A _inst_3 _inst_17], Equiv.{max 1 (succ u2) (succ u3), max (succ u3) (succ (max u2 u1))} (Subtype.{max (succ u2) (succ u3)} (LinearMap.{u1, u1, u2, u3} R' R' (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18)) (fun (f : LinearMap.{u1, u1, u2, u3} R' R' (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18)) => forall (x : M) (y : M), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => A) x) (HMul.hMul.{u3, u3, u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => A) x) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => A) y) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => A) x) (instHMul.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => A) x) (NonUnitalNonAssocSemiring.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => A) x) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => A) x) (Semiring.toNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => A) x) _inst_17)))) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (LinearMap.{u1, u1, u2, u3} R' R' (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18)) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => A) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u3} R' R' M A (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))) f x) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (LinearMap.{u1, u1, u2, u3} R' R' (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18)) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => A) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u3} R' R' M A (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))) f y)) (OfNat.ofNat.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => A) x) 0 (Zero.toOfNat0.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => A) x) (MonoidWithZero.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => A) x) (Semiring.toMonoidWithZero.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => A) x) _inst_17)))))) (AlgHom.{u1, max u2 u1, u3} R' (TrivSqZeroExt.{u1, u2} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u1, u1, u2} R' _inst_3 (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u1, u1, u2} R' R' M (SMulZeroClass.toSMul.{u1, u2} R' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) (SMulZeroClass.toSMul.{u1, u2} R' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u1, u2} (MulOpposite.{u1} R') M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MonoidWithZero.toZero.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeSemiringInstAlgebraMulOppositeSemiringIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u1, u2} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18)
 Case conversion may be inaccurate. Consider using '#align triv_sq_zero_ext.lift TrivSqZeroExt.liftₓ'. -/
 /-- A universal property of the trivial square-zero extension, providing a unique
 `triv_sq_zero_ext R M →ₐ[R] A` for every linear map `M →ₗ[R] A` whose range has no non-zero
Diff
@@ -877,7 +877,7 @@ theorem snd_pow_of_smul_comm [Monoid R] [AddMonoid M] [DistribMulAction R M]
   simp_rw [Nat.pred_succ]
   refine' (List.sum_eq_card_nsmul _ (x.fst ^ n • x.snd) _).trans _
   · rintro m hm
-    simp_rw [List.mem_map', List.mem_range] at hm
+    simp_rw [List.mem_map, List.mem_range] at hm
     obtain ⟨i, hi, rfl⟩ := hm
     rw [tsub_add_cancel_of_le (nat.lt_succ_iff.mp hi)]
   · rw [List.length_map, List.length_range]
Diff
@@ -643,7 +643,7 @@ theorem inl_one [One R] [Zero M] : (inl 1 : tsze R M) = 1 :=
 lean 3 declaration is
   forall {R : Type.{u1}} (M : Type.{u2}) [_inst_1 : Monoid.{u1} R] [_inst_2 : AddMonoid.{u2} M] [_inst_3 : DistribMulAction.{u1, u2} R M _inst_1 _inst_2] [_inst_4 : DistribMulAction.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.monoid.{u1} R _inst_1) _inst_2] (r₁ : R) (r₂ : R), Eq.{max (succ u1) (succ u2)} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.inl.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_2)) (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (MulOneClass.toHasMul.{u1} R (Monoid.toMulOneClass.{u1} R _inst_1))) r₁ r₂)) (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.{u1, u2} R M) (instHMul.{max u1 u2} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.hasMul.{u1, u2} R M (MulOneClass.toHasMul.{u1} R (Monoid.toMulOneClass.{u1} R _inst_1)) (AddZeroClass.toHasAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_2)) (SMulZeroClass.toHasSmul.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_2)) (DistribSMul.toSmulZeroClass.{u1, u2} R M (AddMonoid.toAddZeroClass.{u2} M _inst_2) (DistribMulAction.toDistribSMul.{u1, u2} R M _inst_1 _inst_2 _inst_3))) (SMulZeroClass.toHasSmul.{u1, u2} (MulOpposite.{u1} R) M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_2)) (DistribSMul.toSmulZeroClass.{u1, u2} (MulOpposite.{u1} R) M (AddMonoid.toAddZeroClass.{u2} M _inst_2) (DistribMulAction.toDistribSMul.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.monoid.{u1} R _inst_1) _inst_2 _inst_4))))) (TrivSqZeroExt.inl.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_2)) r₁) (TrivSqZeroExt.inl.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_2)) r₂))
 but is expected to have type
-  forall {R : Type.{u1}} (M : Type.{u2}) [_inst_1 : Monoid.{u1} R] [_inst_2 : AddMonoid.{u2} M] [_inst_3 : DistribMulAction.{u1, u2} R M _inst_1 _inst_2] [_inst_4 : DistribMulAction.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.instMonoidMulOpposite.{u1} R _inst_1) _inst_2] (r₁ : R) (r₂ : R), Eq.{max (succ u1) (succ u2)} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.inl.{u1, u2} R M (AddMonoid.toZero.{u2} M _inst_2) (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (MulOneClass.toMul.{u1} R (Monoid.toMulOneClass.{u1} R _inst_1))) r₁ r₂)) (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.{u1, u2} R M) (instHMul.{max u1 u2} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.mul.{u1, u2} R M (MulOneClass.toMul.{u1} R (Monoid.toMulOneClass.{u1} R _inst_1)) (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_2)) (SMulZeroClass.toSMul.{u1, u2} R M (AddMonoid.toZero.{u2} M _inst_2) (DistribSMul.toSMulZeroClass.{u1, u2} R M (AddMonoid.toAddZeroClass.{u2} M _inst_2) (DistribMulAction.toDistribSMul.{u1, u2} R M _inst_1 _inst_2 _inst_3))) (SMulZeroClass.toSMul.{u1, u2} (MulOpposite.{u1} R) M (AddMonoid.toZero.{u2} M _inst_2) (DistribSMul.toSMulZeroClass.{u1, u2} (MulOpposite.{u1} R) M (AddMonoid.toAddZeroClass.{u2} M _inst_2) (DistribMulAction.toDistribSMul.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.instMonoidMulOpposite.{u1} R _inst_1) _inst_2 _inst_4))))) (TrivSqZeroExt.inl.{u1, u2} R M (AddMonoid.toZero.{u2} M _inst_2) r₁) (TrivSqZeroExt.inl.{u1, u2} R M (AddMonoid.toZero.{u2} M _inst_2) r₂))
+  forall {R : Type.{u1}} (M : Type.{u2}) [_inst_1 : Monoid.{u1} R] [_inst_2 : AddMonoid.{u2} M] [_inst_3 : DistribMulAction.{u1, u2} R M _inst_1 _inst_2] [_inst_4 : DistribMulAction.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.monoid.{u1} R _inst_1) _inst_2] (r₁ : R) (r₂ : R), Eq.{max (succ u1) (succ u2)} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.inl.{u1, u2} R M (AddMonoid.toZero.{u2} M _inst_2) (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (MulOneClass.toMul.{u1} R (Monoid.toMulOneClass.{u1} R _inst_1))) r₁ r₂)) (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.{u1, u2} R M) (instHMul.{max u1 u2} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.mul.{u1, u2} R M (MulOneClass.toMul.{u1} R (Monoid.toMulOneClass.{u1} R _inst_1)) (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_2)) (SMulZeroClass.toSMul.{u1, u2} R M (AddMonoid.toZero.{u2} M _inst_2) (DistribSMul.toSMulZeroClass.{u1, u2} R M (AddMonoid.toAddZeroClass.{u2} M _inst_2) (DistribMulAction.toDistribSMul.{u1, u2} R M _inst_1 _inst_2 _inst_3))) (SMulZeroClass.toSMul.{u1, u2} (MulOpposite.{u1} R) M (AddMonoid.toZero.{u2} M _inst_2) (DistribSMul.toSMulZeroClass.{u1, u2} (MulOpposite.{u1} R) M (AddMonoid.toAddZeroClass.{u2} M _inst_2) (DistribMulAction.toDistribSMul.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.monoid.{u1} R _inst_1) _inst_2 _inst_4))))) (TrivSqZeroExt.inl.{u1, u2} R M (AddMonoid.toZero.{u2} M _inst_2) r₁) (TrivSqZeroExt.inl.{u1, u2} R M (AddMonoid.toZero.{u2} M _inst_2) r₂))
 Case conversion may be inaccurate. Consider using '#align triv_sq_zero_ext.inl_mul TrivSqZeroExt.inl_mulₓ'. -/
 @[simp]
 theorem inl_mul [Monoid R] [AddMonoid M] [DistribMulAction R M] [DistribMulAction Rᵐᵒᵖ M]
@@ -655,7 +655,7 @@ theorem inl_mul [Monoid R] [AddMonoid M] [DistribMulAction R M] [DistribMulActio
 lean 3 declaration is
   forall {R : Type.{u1}} (M : Type.{u2}) [_inst_1 : Monoid.{u1} R] [_inst_2 : AddMonoid.{u2} M] [_inst_3 : DistribMulAction.{u1, u2} R M _inst_1 _inst_2] [_inst_4 : DistribMulAction.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.monoid.{u1} R _inst_1) _inst_2] (r₁ : R) (r₂ : R), Eq.{max (succ u1) (succ u2)} (TrivSqZeroExt.{u1, u2} R M) (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.{u1, u2} R M) (instHMul.{max u1 u2} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.hasMul.{u1, u2} R M (MulOneClass.toHasMul.{u1} R (Monoid.toMulOneClass.{u1} R _inst_1)) (AddZeroClass.toHasAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_2)) (SMulZeroClass.toHasSmul.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_2)) (DistribSMul.toSmulZeroClass.{u1, u2} R M (AddMonoid.toAddZeroClass.{u2} M _inst_2) (DistribMulAction.toDistribSMul.{u1, u2} R M _inst_1 _inst_2 _inst_3))) (SMulZeroClass.toHasSmul.{u1, u2} (MulOpposite.{u1} R) M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_2)) (DistribSMul.toSmulZeroClass.{u1, u2} (MulOpposite.{u1} R) M (AddMonoid.toAddZeroClass.{u2} M _inst_2) (DistribMulAction.toDistribSMul.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.monoid.{u1} R _inst_1) _inst_2 _inst_4))))) (TrivSqZeroExt.inl.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_2)) r₁) (TrivSqZeroExt.inl.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_2)) r₂)) (TrivSqZeroExt.inl.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_2)) (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (MulOneClass.toHasMul.{u1} R (Monoid.toMulOneClass.{u1} R _inst_1))) r₁ r₂))
 but is expected to have type
-  forall {R : Type.{u1}} (M : Type.{u2}) [_inst_1 : Monoid.{u1} R] [_inst_2 : AddMonoid.{u2} M] [_inst_3 : DistribMulAction.{u1, u2} R M _inst_1 _inst_2] [_inst_4 : DistribMulAction.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.instMonoidMulOpposite.{u1} R _inst_1) _inst_2] (r₁ : R) (r₂ : R), Eq.{max (succ u1) (succ u2)} (TrivSqZeroExt.{u1, u2} R M) (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.{u1, u2} R M) (instHMul.{max u1 u2} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.mul.{u1, u2} R M (MulOneClass.toMul.{u1} R (Monoid.toMulOneClass.{u1} R _inst_1)) (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_2)) (SMulZeroClass.toSMul.{u1, u2} R M (AddMonoid.toZero.{u2} M _inst_2) (DistribSMul.toSMulZeroClass.{u1, u2} R M (AddMonoid.toAddZeroClass.{u2} M _inst_2) (DistribMulAction.toDistribSMul.{u1, u2} R M _inst_1 _inst_2 _inst_3))) (SMulZeroClass.toSMul.{u1, u2} (MulOpposite.{u1} R) M (AddMonoid.toZero.{u2} M _inst_2) (DistribSMul.toSMulZeroClass.{u1, u2} (MulOpposite.{u1} R) M (AddMonoid.toAddZeroClass.{u2} M _inst_2) (DistribMulAction.toDistribSMul.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.instMonoidMulOpposite.{u1} R _inst_1) _inst_2 _inst_4))))) (TrivSqZeroExt.inl.{u1, u2} R M (AddMonoid.toZero.{u2} M _inst_2) r₁) (TrivSqZeroExt.inl.{u1, u2} R M (AddMonoid.toZero.{u2} M _inst_2) r₂)) (TrivSqZeroExt.inl.{u1, u2} R M (AddMonoid.toZero.{u2} M _inst_2) (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (MulOneClass.toMul.{u1} R (Monoid.toMulOneClass.{u1} R _inst_1))) r₁ r₂))
+  forall {R : Type.{u1}} (M : Type.{u2}) [_inst_1 : Monoid.{u1} R] [_inst_2 : AddMonoid.{u2} M] [_inst_3 : DistribMulAction.{u1, u2} R M _inst_1 _inst_2] [_inst_4 : DistribMulAction.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.monoid.{u1} R _inst_1) _inst_2] (r₁ : R) (r₂ : R), Eq.{max (succ u1) (succ u2)} (TrivSqZeroExt.{u1, u2} R M) (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.{u1, u2} R M) (instHMul.{max u1 u2} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.mul.{u1, u2} R M (MulOneClass.toMul.{u1} R (Monoid.toMulOneClass.{u1} R _inst_1)) (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_2)) (SMulZeroClass.toSMul.{u1, u2} R M (AddMonoid.toZero.{u2} M _inst_2) (DistribSMul.toSMulZeroClass.{u1, u2} R M (AddMonoid.toAddZeroClass.{u2} M _inst_2) (DistribMulAction.toDistribSMul.{u1, u2} R M _inst_1 _inst_2 _inst_3))) (SMulZeroClass.toSMul.{u1, u2} (MulOpposite.{u1} R) M (AddMonoid.toZero.{u2} M _inst_2) (DistribSMul.toSMulZeroClass.{u1, u2} (MulOpposite.{u1} R) M (AddMonoid.toAddZeroClass.{u2} M _inst_2) (DistribMulAction.toDistribSMul.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.monoid.{u1} R _inst_1) _inst_2 _inst_4))))) (TrivSqZeroExt.inl.{u1, u2} R M (AddMonoid.toZero.{u2} M _inst_2) r₁) (TrivSqZeroExt.inl.{u1, u2} R M (AddMonoid.toZero.{u2} M _inst_2) r₂)) (TrivSqZeroExt.inl.{u1, u2} R M (AddMonoid.toZero.{u2} M _inst_2) (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (MulOneClass.toMul.{u1} R (Monoid.toMulOneClass.{u1} R _inst_1))) r₁ r₂))
 Case conversion may be inaccurate. Consider using '#align triv_sq_zero_ext.inl_mul_inl TrivSqZeroExt.inl_mul_inlₓ'. -/
 theorem inl_mul_inl [Monoid R] [AddMonoid M] [DistribMulAction R M] [DistribMulAction Rᵐᵒᵖ M]
     (r₁ r₂ : R) : (inl r₁ * inl r₂ : tsze R M) = inl (r₁ * r₂) :=
@@ -672,7 +672,7 @@ variable (R)
 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] [_inst_4 : Module.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.semiring.{u1} R _inst_1) _inst_2] (m₁ : M) (m₂ : M), Eq.{max (succ u1) (succ u2)} (TrivSqZeroExt.{u1, u2} R M) (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.{u1, u2} R M) (instHMul.{max u1 u2} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.hasMul.{u1, u2} R M (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (AddZeroClass.toHasAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (SMulZeroClass.toHasSmul.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} R M (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} R M _inst_1 _inst_2 _inst_3)))) (SMulZeroClass.toHasSmul.{u1, u2} (MulOpposite.{u1} R) M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} (MulOpposite.{u1} R) M (MulZeroClass.toHasZero.{u1} (MulOpposite.{u1} R) (MulZeroOneClass.toMulZeroClass.{u1} (MulOpposite.{u1} R) (MonoidWithZero.toMulZeroOneClass.{u1} (MulOpposite.{u1} R) (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R) M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.semiring.{u1} R _inst_1) _inst_2 _inst_4)))))) (TrivSqZeroExt.inr.{u1, u2} R M (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) m₁) (TrivSqZeroExt.inr.{u1, u2} R M (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) m₂)) (OfNat.ofNat.{max u1 u2} (TrivSqZeroExt.{u1, u2} R M) 0 (OfNat.mk.{max u1 u2} (TrivSqZeroExt.{u1, u2} R M) 0 (Zero.zero.{max u1 u2} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.hasZero.{u1, u2} R M (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (AddZeroClass.toHasZero.{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] [_inst_4 : Module.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1) _inst_2] (m₁ : M) (m₂ : M), Eq.{max (succ u1) (succ u2)} (TrivSqZeroExt.{u1, u2} R M) (HMul.hMul.{max u2 u1, max u2 u1, max u1 u2} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.{u1, u2} R M) (instHMul.{max u2 u1} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.mul.{u1, u2} R M (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (SMulZeroClass.toSMul.{u1, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R M (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (Module.toMulActionWithZero.{u1, u2} R M _inst_1 _inst_2 _inst_3)))) (SMulZeroClass.toSMul.{u1, u2} (MulOpposite.{u1} R) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.instZeroMulOpposite.{u1} R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.instMonoidWithZeroMulOpposite.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1) _inst_2 _inst_4)))))) (TrivSqZeroExt.inr.{u1, u2} R M (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) m₁) (TrivSqZeroExt.inr.{u1, u2} R M (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) m₂)) (OfNat.ofNat.{max u1 u2} (TrivSqZeroExt.{u1, u2} R M) 0 (Zero.toOfNat0.{max u1 u2} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.zero.{u1, u2} R M (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddMonoid.toZero.{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] [_inst_4 : Module.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.semiring.{u1} R _inst_1) _inst_2] (m₁ : M) (m₂ : M), Eq.{max (succ u1) (succ u2)} (TrivSqZeroExt.{u1, u2} R M) (HMul.hMul.{max u2 u1, max u2 u1, max u1 u2} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.{u1, u2} R M) (instHMul.{max u2 u1} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.mul.{u1, u2} R M (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (SMulZeroClass.toSMul.{u1, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R M (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (Module.toMulActionWithZero.{u1, u2} R M _inst_1 _inst_2 _inst_3)))) (SMulZeroClass.toSMul.{u1, u2} (MulOpposite.{u1} R) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.zero.{u1} R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.monoidWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.semiring.{u1} R _inst_1) _inst_2 _inst_4)))))) (TrivSqZeroExt.inr.{u1, u2} R M (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) m₁) (TrivSqZeroExt.inr.{u1, u2} R M (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) m₂)) (OfNat.ofNat.{max u1 u2} (TrivSqZeroExt.{u1, u2} R M) 0 (Zero.toOfNat0.{max u1 u2} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.zero.{u1, u2} R M (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)))))
 Case conversion may be inaccurate. Consider using '#align triv_sq_zero_ext.inr_mul_inr TrivSqZeroExt.inr_mul_inrₓ'. -/
 @[simp]
 theorem inr_mul_inr [Semiring R] [AddCommMonoid M] [Module R M] [Module Rᵐᵒᵖ M] (m₁ m₂ : M) :
@@ -687,7 +687,7 @@ end
 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] [_inst_4 : Module.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.semiring.{u1} R _inst_1) _inst_2] (r : R) (m : M), Eq.{max (succ u1) (succ u2)} (TrivSqZeroExt.{u1, u2} R M) (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.{u1, u2} R M) (instHMul.{max u1 u2} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.hasMul.{u1, u2} R M (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (AddZeroClass.toHasAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (SMulZeroClass.toHasSmul.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} R M (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} R M _inst_1 _inst_2 _inst_3)))) (SMulZeroClass.toHasSmul.{u1, u2} (MulOpposite.{u1} R) M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} (MulOpposite.{u1} R) M (MulZeroClass.toHasZero.{u1} (MulOpposite.{u1} R) (MulZeroOneClass.toMulZeroClass.{u1} (MulOpposite.{u1} R) (MonoidWithZero.toMulZeroOneClass.{u1} (MulOpposite.{u1} R) (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R) M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.semiring.{u1} R _inst_1) _inst_2 _inst_4)))))) (TrivSqZeroExt.inl.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) r) (TrivSqZeroExt.inr.{u1, u2} R M (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) m)) (TrivSqZeroExt.inr.{u1, u2} R M (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (SMul.smul.{u1, u2} R M (SMulZeroClass.toHasSmul.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} R M (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} R M _inst_1 _inst_2 _inst_3)))) r 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] [_inst_4 : Module.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1) _inst_2] (r : R) (m : M), Eq.{max (succ u1) (succ u2)} (TrivSqZeroExt.{u1, u2} R M) (HMul.hMul.{max u1 u2, max u2 u1, max u1 u2} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.{u1, u2} R M) (instHMul.{max u1 u2} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.mul.{u1, u2} R M (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (SMulZeroClass.toSMul.{u1, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R M (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (Module.toMulActionWithZero.{u1, u2} R M _inst_1 _inst_2 _inst_3)))) (SMulZeroClass.toSMul.{u1, u2} (MulOpposite.{u1} R) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.instZeroMulOpposite.{u1} R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.instMonoidWithZeroMulOpposite.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1) _inst_2 _inst_4)))))) (TrivSqZeroExt.inl.{u1, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) r) (TrivSqZeroExt.inr.{u1, u2} R M (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) m)) (TrivSqZeroExt.inr.{u1, u2} R M (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (HSMul.hSMul.{u1, u2, u2} R M M (instHSMul.{u1, u2} R M (SMulZeroClass.toSMul.{u1, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R M (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (Module.toMulActionWithZero.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) r 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] [_inst_4 : Module.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.semiring.{u1} R _inst_1) _inst_2] (r : R) (m : M), Eq.{max (succ u1) (succ u2)} (TrivSqZeroExt.{u1, u2} R M) (HMul.hMul.{max u1 u2, max u2 u1, max u1 u2} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.{u1, u2} R M) (instHMul.{max u1 u2} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.mul.{u1, u2} R M (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (SMulZeroClass.toSMul.{u1, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R M (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (Module.toMulActionWithZero.{u1, u2} R M _inst_1 _inst_2 _inst_3)))) (SMulZeroClass.toSMul.{u1, u2} (MulOpposite.{u1} R) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.zero.{u1} R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.monoidWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.semiring.{u1} R _inst_1) _inst_2 _inst_4)))))) (TrivSqZeroExt.inl.{u1, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) r) (TrivSqZeroExt.inr.{u1, u2} R M (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) m)) (TrivSqZeroExt.inr.{u1, u2} R M (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (HSMul.hSMul.{u1, u2, u2} R M M (instHSMul.{u1, u2} R M (SMulZeroClass.toSMul.{u1, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R M (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (Module.toMulActionWithZero.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) r m))
 Case conversion may be inaccurate. Consider using '#align triv_sq_zero_ext.inl_mul_inr TrivSqZeroExt.inl_mul_inrₓ'. -/
 theorem inl_mul_inr [Semiring R] [AddCommMonoid M] [Module R M] [Module Rᵐᵒᵖ M] (r : R) (m : M) :
     (inl r * inr m : tsze R M) = inr (r • m) :=
@@ -698,7 +698,7 @@ theorem inl_mul_inr [Semiring R] [AddCommMonoid M] [Module R M] [Module Rᵐᵒ
 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] [_inst_4 : Module.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.semiring.{u1} R _inst_1) _inst_2] (r : R) (m : M), Eq.{max (succ u1) (succ u2)} (TrivSqZeroExt.{u1, u2} R M) (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.{u1, u2} R M) (instHMul.{max u1 u2} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.hasMul.{u1, u2} R M (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (AddZeroClass.toHasAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (SMulZeroClass.toHasSmul.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} R M (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} R M _inst_1 _inst_2 _inst_3)))) (SMulZeroClass.toHasSmul.{u1, u2} (MulOpposite.{u1} R) M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} (MulOpposite.{u1} R) M (MulZeroClass.toHasZero.{u1} (MulOpposite.{u1} R) (MulZeroOneClass.toMulZeroClass.{u1} (MulOpposite.{u1} R) (MonoidWithZero.toMulZeroOneClass.{u1} (MulOpposite.{u1} R) (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R) M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.semiring.{u1} R _inst_1) _inst_2 _inst_4)))))) (TrivSqZeroExt.inr.{u1, u2} R M (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) m) (TrivSqZeroExt.inl.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) r)) (TrivSqZeroExt.inr.{u1, u2} R M (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (SMul.smul.{u1, u2} (MulOpposite.{u1} R) M (SMulZeroClass.toHasSmul.{u1, u2} (MulOpposite.{u1} R) M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} (MulOpposite.{u1} R) M (MulZeroClass.toHasZero.{u1} (MulOpposite.{u1} R) (MulZeroOneClass.toMulZeroClass.{u1} (MulOpposite.{u1} R) (MonoidWithZero.toMulZeroOneClass.{u1} (MulOpposite.{u1} R) (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R) M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.semiring.{u1} R _inst_1) _inst_2 _inst_4)))) (MulOpposite.op.{u1} R r) 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] [_inst_4 : Module.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1) _inst_2] (r : R) (m : M), Eq.{max (succ u1) (succ u2)} (TrivSqZeroExt.{u1, u2} R M) (HMul.hMul.{max u2 u1, max u1 u2, max u1 u2} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.{u1, u2} R M) (instHMul.{max u2 u1} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.mul.{u1, u2} R M (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (SMulZeroClass.toSMul.{u1, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R M (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (Module.toMulActionWithZero.{u1, u2} R M _inst_1 _inst_2 _inst_3)))) (SMulZeroClass.toSMul.{u1, u2} (MulOpposite.{u1} R) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.instZeroMulOpposite.{u1} R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.instMonoidWithZeroMulOpposite.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1) _inst_2 _inst_4)))))) (TrivSqZeroExt.inr.{u1, u2} R M (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) m) (TrivSqZeroExt.inl.{u1, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) r)) (TrivSqZeroExt.inr.{u1, u2} R M (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (HSMul.hSMul.{u1, u2, u2} (MulOpposite.{u1} R) M M (instHSMul.{u1, u2} (MulOpposite.{u1} R) M (SMulZeroClass.toSMul.{u1, u2} (MulOpposite.{u1} R) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.instZeroMulOpposite.{u1} R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.instMonoidWithZeroMulOpposite.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1) _inst_2 _inst_4))))) (MulOpposite.op.{u1} R r) 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] [_inst_4 : Module.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.semiring.{u1} R _inst_1) _inst_2] (r : R) (m : M), Eq.{max (succ u1) (succ u2)} (TrivSqZeroExt.{u1, u2} R M) (HMul.hMul.{max u2 u1, max u1 u2, max u1 u2} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.{u1, u2} R M) (instHMul.{max u2 u1} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.mul.{u1, u2} R M (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (SMulZeroClass.toSMul.{u1, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R M (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (Module.toMulActionWithZero.{u1, u2} R M _inst_1 _inst_2 _inst_3)))) (SMulZeroClass.toSMul.{u1, u2} (MulOpposite.{u1} R) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.zero.{u1} R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.monoidWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.semiring.{u1} R _inst_1) _inst_2 _inst_4)))))) (TrivSqZeroExt.inr.{u1, u2} R M (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) m) (TrivSqZeroExt.inl.{u1, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) r)) (TrivSqZeroExt.inr.{u1, u2} R M (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (HSMul.hSMul.{u1, u2, u2} (MulOpposite.{u1} R) M M (instHSMul.{u1, u2} (MulOpposite.{u1} R) M (SMulZeroClass.toSMul.{u1, u2} (MulOpposite.{u1} R) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.zero.{u1} R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.monoidWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.semiring.{u1} R _inst_1) _inst_2 _inst_4))))) (MulOpposite.op.{u1} R r) m))
 Case conversion may be inaccurate. Consider using '#align triv_sq_zero_ext.inr_mul_inl TrivSqZeroExt.inr_mul_inlₓ'. -/
 theorem inr_mul_inl [Semiring R] [AddCommMonoid M] [Module R M] [Module Rᵐᵒᵖ M] (r : R) (m : M) :
     (inr m * inl r : tsze R M) = inr (op r • m) :=
@@ -833,23 +833,19 @@ instance [Monoid R] [AddMonoid M] [DistribMulAction R M] [DistribMulAction Rᵐ
   ⟨fun x n =>
     ⟨x.fst ^ n, ((List.range n).map fun i => x.fst ^ (n.pred - i) • op (x.fst ^ i) • x.snd).Sum⟩⟩
 
-/- warning: triv_sq_zero_ext.fst_pow -> TrivSqZeroExt.fst_pow is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Monoid.{u1} R] [_inst_2 : AddMonoid.{u2} M] [_inst_3 : DistribMulAction.{u1, u2} R M _inst_1 _inst_2] [_inst_4 : DistribMulAction.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.monoid.{u1} R _inst_1) _inst_2] (x : TrivSqZeroExt.{u1, u2} R M) (n : Nat), Eq.{succ u1} R (TrivSqZeroExt.fst.{u1, u2} R M (HPow.hPow.{max u1 u2, 0, max u1 u2} (TrivSqZeroExt.{u1, u2} R M) Nat (TrivSqZeroExt.{u1, u2} R M) (instHPow.{max u1 u2, 0} (TrivSqZeroExt.{u1, u2} R M) Nat (TrivSqZeroExt.Nat.hasPow.{u1, u2} R M _inst_1 _inst_2 _inst_3 _inst_4)) x n)) (HPow.hPow.{u1, 0, u1} R Nat R (instHPow.{u1, 0} R Nat (Monoid.Pow.{u1} R _inst_1)) (TrivSqZeroExt.fst.{u1, u2} R M x) n)
-but is expected to have type
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Monoid.{u1} R] [_inst_2 : AddMonoid.{u2} M] [_inst_3 : DistribMulAction.{u1, u2} R M _inst_1 _inst_2] [_inst_4 : DistribMulAction.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.instMonoidMulOpposite.{u1} R _inst_1) _inst_2] (x : TrivSqZeroExt.{u1, u2} R M) (n : Nat), Eq.{succ u1} R (TrivSqZeroExt.fst.{u1, u2} R M (HPow.hPow.{max u1 u2, 0, max u1 u2} (TrivSqZeroExt.{u1, u2} R M) Nat (TrivSqZeroExt.{u1, u2} R M) (instHPow.{max u1 u2, 0} (TrivSqZeroExt.{u1, u2} R M) Nat (TrivSqZeroExt.instPowTrivSqZeroExtNat.{u1, u2} R M _inst_1 _inst_2 _inst_3 _inst_4)) x n)) (HPow.hPow.{u1, 0, u1} R Nat R (instHPow.{u1, 0} R Nat (Monoid.Pow.{u1} R _inst_1)) (TrivSqZeroExt.fst.{u1, u2} R M x) n)
-Case conversion may be inaccurate. Consider using '#align triv_sq_zero_ext.fst_pow TrivSqZeroExt.fst_powₓ'. -/
+#print TrivSqZeroExt.fst_pow /-
 @[simp]
 theorem fst_pow [Monoid R] [AddMonoid M] [DistribMulAction R M] [DistribMulAction Rᵐᵒᵖ M]
     (x : tsze R M) (n : ℕ) : fst (x ^ n) = x.fst ^ n :=
   rfl
 #align triv_sq_zero_ext.fst_pow TrivSqZeroExt.fst_pow
+-/
 
 /- warning: triv_sq_zero_ext.snd_pow_eq_sum -> TrivSqZeroExt.snd_pow_eq_sum is a dubious translation:
 lean 3 declaration is
   forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Monoid.{u1} R] [_inst_2 : AddMonoid.{u2} M] [_inst_3 : DistribMulAction.{u1, u2} R M _inst_1 _inst_2] [_inst_4 : DistribMulAction.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.monoid.{u1} R _inst_1) _inst_2] (x : TrivSqZeroExt.{u1, u2} R M) (n : Nat), Eq.{succ u2} M (TrivSqZeroExt.snd.{u1, u2} R M (HPow.hPow.{max u1 u2, 0, max u1 u2} (TrivSqZeroExt.{u1, u2} R M) Nat (TrivSqZeroExt.{u1, u2} R M) (instHPow.{max u1 u2, 0} (TrivSqZeroExt.{u1, u2} R M) Nat (TrivSqZeroExt.Nat.hasPow.{u1, u2} R M _inst_1 _inst_2 _inst_3 _inst_4)) x n)) (List.sum.{u2} M (AddZeroClass.toHasAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_2)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_2)) (List.map.{0, u2} Nat M (fun (i : Nat) => SMul.smul.{u1, u2} R M (SMulZeroClass.toHasSmul.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_2)) (DistribSMul.toSmulZeroClass.{u1, u2} R M (AddMonoid.toAddZeroClass.{u2} M _inst_2) (DistribMulAction.toDistribSMul.{u1, u2} R M _inst_1 _inst_2 _inst_3))) (HPow.hPow.{u1, 0, u1} R Nat R (instHPow.{u1, 0} R Nat (Monoid.Pow.{u1} R _inst_1)) (TrivSqZeroExt.fst.{u1, u2} R M x) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat Nat.hasSub) (Nat.pred n) i)) (SMul.smul.{u1, u2} (MulOpposite.{u1} R) M (SMulZeroClass.toHasSmul.{u1, u2} (MulOpposite.{u1} R) M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_2)) (DistribSMul.toSmulZeroClass.{u1, u2} (MulOpposite.{u1} R) M (AddMonoid.toAddZeroClass.{u2} M _inst_2) (DistribMulAction.toDistribSMul.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.monoid.{u1} R _inst_1) _inst_2 _inst_4))) (MulOpposite.op.{u1} R (HPow.hPow.{u1, 0, u1} R Nat R (instHPow.{u1, 0} R Nat (Monoid.Pow.{u1} R _inst_1)) (TrivSqZeroExt.fst.{u1, u2} R M x) i)) (TrivSqZeroExt.snd.{u1, u2} R M x))) (List.range n)))
 but is expected to have type
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Monoid.{u1} R] [_inst_2 : AddMonoid.{u2} M] [_inst_3 : DistribMulAction.{u1, u2} R M _inst_1 _inst_2] [_inst_4 : DistribMulAction.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.instMonoidMulOpposite.{u1} R _inst_1) _inst_2] (x : TrivSqZeroExt.{u1, u2} R M) (n : Nat), Eq.{succ u2} M (TrivSqZeroExt.snd.{u1, u2} R M (HPow.hPow.{max u1 u2, 0, max u1 u2} (TrivSqZeroExt.{u1, u2} R M) Nat (TrivSqZeroExt.{u1, u2} R M) (instHPow.{max u1 u2, 0} (TrivSqZeroExt.{u1, u2} R M) Nat (TrivSqZeroExt.instPowTrivSqZeroExtNat.{u1, u2} R M _inst_1 _inst_2 _inst_3 _inst_4)) x n)) (List.sum.{u2} M (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_2)) (AddMonoid.toZero.{u2} M _inst_2) (List.map.{0, u2} Nat M (fun (i : Nat) => HSMul.hSMul.{u1, u2, u2} R M M (instHSMul.{u1, u2} R M (SMulZeroClass.toSMul.{u1, u2} R M (AddMonoid.toZero.{u2} M _inst_2) (DistribSMul.toSMulZeroClass.{u1, u2} R M (AddMonoid.toAddZeroClass.{u2} M _inst_2) (DistribMulAction.toDistribSMul.{u1, u2} R M _inst_1 _inst_2 _inst_3)))) (HPow.hPow.{u1, 0, u1} R Nat R (instHPow.{u1, 0} R Nat (Monoid.Pow.{u1} R _inst_1)) (TrivSqZeroExt.fst.{u1, u2} R M x) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) (Nat.pred n) i)) (HSMul.hSMul.{u1, u2, u2} (MulOpposite.{u1} R) M M (instHSMul.{u1, u2} (MulOpposite.{u1} R) M (SMulZeroClass.toSMul.{u1, u2} (MulOpposite.{u1} R) M (AddMonoid.toZero.{u2} M _inst_2) (DistribSMul.toSMulZeroClass.{u1, u2} (MulOpposite.{u1} R) M (AddMonoid.toAddZeroClass.{u2} M _inst_2) (DistribMulAction.toDistribSMul.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.instMonoidMulOpposite.{u1} R _inst_1) _inst_2 _inst_4)))) (MulOpposite.op.{u1} R (HPow.hPow.{u1, 0, u1} R Nat R (instHPow.{u1, 0} R Nat (Monoid.Pow.{u1} R _inst_1)) (TrivSqZeroExt.fst.{u1, u2} R M x) i)) (TrivSqZeroExt.snd.{u1, u2} R M x))) (List.range n)))
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Monoid.{u1} R] [_inst_2 : AddMonoid.{u2} M] [_inst_3 : DistribMulAction.{u1, u2} R M _inst_1 _inst_2] [_inst_4 : DistribMulAction.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.monoid.{u1} R _inst_1) _inst_2] (x : TrivSqZeroExt.{u1, u2} R M) (n : Nat), Eq.{succ u2} M (TrivSqZeroExt.snd.{u1, u2} R M (HPow.hPow.{max u1 u2, 0, max u1 u2} (TrivSqZeroExt.{u1, u2} R M) Nat (TrivSqZeroExt.{u1, u2} R M) (instHPow.{max u1 u2, 0} (TrivSqZeroExt.{u1, u2} R M) Nat (TrivSqZeroExt.instPowTrivSqZeroExtNat.{u1, u2} R M _inst_1 _inst_2 _inst_3 _inst_4)) x n)) (List.sum.{u2} M (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_2)) (AddMonoid.toZero.{u2} M _inst_2) (List.map.{0, u2} Nat M (fun (i : Nat) => HSMul.hSMul.{u1, u2, u2} R M M (instHSMul.{u1, u2} R M (SMulZeroClass.toSMul.{u1, u2} R M (AddMonoid.toZero.{u2} M _inst_2) (DistribSMul.toSMulZeroClass.{u1, u2} R M (AddMonoid.toAddZeroClass.{u2} M _inst_2) (DistribMulAction.toDistribSMul.{u1, u2} R M _inst_1 _inst_2 _inst_3)))) (HPow.hPow.{u1, 0, u1} R Nat R (instHPow.{u1, 0} R Nat (Monoid.Pow.{u1} R _inst_1)) (TrivSqZeroExt.fst.{u1, u2} R M x) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) (Nat.pred n) i)) (HSMul.hSMul.{u1, u2, u2} (MulOpposite.{u1} R) M M (instHSMul.{u1, u2} (MulOpposite.{u1} R) M (SMulZeroClass.toSMul.{u1, u2} (MulOpposite.{u1} R) M (AddMonoid.toZero.{u2} M _inst_2) (DistribSMul.toSMulZeroClass.{u1, u2} (MulOpposite.{u1} R) M (AddMonoid.toAddZeroClass.{u2} M _inst_2) (DistribMulAction.toDistribSMul.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.monoid.{u1} R _inst_1) _inst_2 _inst_4)))) (MulOpposite.op.{u1} R (HPow.hPow.{u1, 0, u1} R Nat R (instHPow.{u1, 0} R Nat (Monoid.Pow.{u1} R _inst_1)) (TrivSqZeroExt.fst.{u1, u2} R M x) i)) (TrivSqZeroExt.snd.{u1, u2} R M x))) (List.range n)))
 Case conversion may be inaccurate. Consider using '#align triv_sq_zero_ext.snd_pow_eq_sum TrivSqZeroExt.snd_pow_eq_sumₓ'. -/
 theorem snd_pow_eq_sum [Monoid R] [AddMonoid M] [DistribMulAction R M] [DistribMulAction Rᵐᵒᵖ M]
     (x : tsze R M) (n : ℕ) :
@@ -861,7 +857,7 @@ theorem snd_pow_eq_sum [Monoid R] [AddMonoid M] [DistribMulAction R M] [DistribM
 lean 3 declaration is
   forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Monoid.{u1} R] [_inst_2 : AddMonoid.{u2} M] [_inst_3 : DistribMulAction.{u1, u2} R M _inst_1 _inst_2] [_inst_4 : DistribMulAction.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.monoid.{u1} R _inst_1) _inst_2] [_inst_5 : SMulCommClass.{u1, u1, u2} R (MulOpposite.{u1} R) M (SMulZeroClass.toHasSmul.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_2)) (DistribSMul.toSmulZeroClass.{u1, u2} R M (AddMonoid.toAddZeroClass.{u2} M _inst_2) (DistribMulAction.toDistribSMul.{u1, u2} R M _inst_1 _inst_2 _inst_3))) (SMulZeroClass.toHasSmul.{u1, u2} (MulOpposite.{u1} R) M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_2)) (DistribSMul.toSmulZeroClass.{u1, u2} (MulOpposite.{u1} R) M (AddMonoid.toAddZeroClass.{u2} M _inst_2) (DistribMulAction.toDistribSMul.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.monoid.{u1} R _inst_1) _inst_2 _inst_4)))] (x : TrivSqZeroExt.{u1, u2} R M) (n : Nat), (Eq.{succ u2} M (SMul.smul.{u1, u2} (MulOpposite.{u1} R) M (SMulZeroClass.toHasSmul.{u1, u2} (MulOpposite.{u1} R) M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_2)) (DistribSMul.toSmulZeroClass.{u1, u2} (MulOpposite.{u1} R) M (AddMonoid.toAddZeroClass.{u2} M _inst_2) (DistribMulAction.toDistribSMul.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.monoid.{u1} R _inst_1) _inst_2 _inst_4))) (MulOpposite.op.{u1} R (TrivSqZeroExt.fst.{u1, u2} R M x)) (TrivSqZeroExt.snd.{u1, u2} R M x)) (SMul.smul.{u1, u2} R M (SMulZeroClass.toHasSmul.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_2)) (DistribSMul.toSmulZeroClass.{u1, u2} R M (AddMonoid.toAddZeroClass.{u2} M _inst_2) (DistribMulAction.toDistribSMul.{u1, u2} R M _inst_1 _inst_2 _inst_3))) (TrivSqZeroExt.fst.{u1, u2} R M x) (TrivSqZeroExt.snd.{u1, u2} R M x))) -> (Eq.{succ u2} M (TrivSqZeroExt.snd.{u1, u2} R M (HPow.hPow.{max u1 u2, 0, max u1 u2} (TrivSqZeroExt.{u1, u2} R M) Nat (TrivSqZeroExt.{u1, u2} R M) (instHPow.{max u1 u2, 0} (TrivSqZeroExt.{u1, u2} R M) Nat (TrivSqZeroExt.Nat.hasPow.{u1, u2} R M _inst_1 _inst_2 _inst_3 _inst_4)) x n)) (SMul.smul.{0, u2} Nat M (AddMonoid.SMul.{u2} M _inst_2) n (SMul.smul.{u1, u2} R M (SMulZeroClass.toHasSmul.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_2)) (DistribSMul.toSmulZeroClass.{u1, u2} R M (AddMonoid.toAddZeroClass.{u2} M _inst_2) (DistribMulAction.toDistribSMul.{u1, u2} R M _inst_1 _inst_2 _inst_3))) (HPow.hPow.{u1, 0, u1} R Nat R (instHPow.{u1, 0} R Nat (Monoid.Pow.{u1} R _inst_1)) (TrivSqZeroExt.fst.{u1, u2} R M x) (Nat.pred n)) (TrivSqZeroExt.snd.{u1, u2} R M x))))
 but is expected to have type
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Monoid.{u1} R] [_inst_2 : AddMonoid.{u2} M] [_inst_3 : DistribMulAction.{u1, u2} R M _inst_1 _inst_2] [_inst_4 : DistribMulAction.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.instMonoidMulOpposite.{u1} R _inst_1) _inst_2] [_inst_5 : SMulCommClass.{u1, u1, u2} R (MulOpposite.{u1} R) M (SMulZeroClass.toSMul.{u1, u2} R M (AddMonoid.toZero.{u2} M _inst_2) (DistribSMul.toSMulZeroClass.{u1, u2} R M (AddMonoid.toAddZeroClass.{u2} M _inst_2) (DistribMulAction.toDistribSMul.{u1, u2} R M _inst_1 _inst_2 _inst_3))) (SMulZeroClass.toSMul.{u1, u2} (MulOpposite.{u1} R) M (AddMonoid.toZero.{u2} M _inst_2) (DistribSMul.toSMulZeroClass.{u1, u2} (MulOpposite.{u1} R) M (AddMonoid.toAddZeroClass.{u2} M _inst_2) (DistribMulAction.toDistribSMul.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.instMonoidMulOpposite.{u1} R _inst_1) _inst_2 _inst_4)))] (x : TrivSqZeroExt.{u1, u2} R M) (n : Nat), (Eq.{succ u2} M (HSMul.hSMul.{u1, u2, u2} (MulOpposite.{u1} R) M M (instHSMul.{u1, u2} (MulOpposite.{u1} R) M (SMulZeroClass.toSMul.{u1, u2} (MulOpposite.{u1} R) M (AddMonoid.toZero.{u2} M _inst_2) (DistribSMul.toSMulZeroClass.{u1, u2} (MulOpposite.{u1} R) M (AddMonoid.toAddZeroClass.{u2} M _inst_2) (DistribMulAction.toDistribSMul.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.instMonoidMulOpposite.{u1} R _inst_1) _inst_2 _inst_4)))) (MulOpposite.op.{u1} R (TrivSqZeroExt.fst.{u1, u2} R M x)) (TrivSqZeroExt.snd.{u1, u2} R M x)) (HSMul.hSMul.{u1, u2, u2} R M M (instHSMul.{u1, u2} R M (SMulZeroClass.toSMul.{u1, u2} R M (AddMonoid.toZero.{u2} M _inst_2) (DistribSMul.toSMulZeroClass.{u1, u2} R M (AddMonoid.toAddZeroClass.{u2} M _inst_2) (DistribMulAction.toDistribSMul.{u1, u2} R M _inst_1 _inst_2 _inst_3)))) (TrivSqZeroExt.fst.{u1, u2} R M x) (TrivSqZeroExt.snd.{u1, u2} R M x))) -> (Eq.{succ u2} M (TrivSqZeroExt.snd.{u1, u2} R M (HPow.hPow.{max u1 u2, 0, max u1 u2} (TrivSqZeroExt.{u1, u2} R M) Nat (TrivSqZeroExt.{u1, u2} R M) (instHPow.{max u1 u2, 0} (TrivSqZeroExt.{u1, u2} R M) Nat (TrivSqZeroExt.instPowTrivSqZeroExtNat.{u1, u2} R M _inst_1 _inst_2 _inst_3 _inst_4)) x n)) (HSMul.hSMul.{0, u2, u2} Nat M M (instHSMul.{0, u2} Nat M (AddMonoid.SMul.{u2} M _inst_2)) n (HSMul.hSMul.{u1, u2, u2} R M M (instHSMul.{u1, u2} R M (SMulZeroClass.toSMul.{u1, u2} R M (AddMonoid.toZero.{u2} M _inst_2) (DistribSMul.toSMulZeroClass.{u1, u2} R M (AddMonoid.toAddZeroClass.{u2} M _inst_2) (DistribMulAction.toDistribSMul.{u1, u2} R M _inst_1 _inst_2 _inst_3)))) (HPow.hPow.{u1, 0, u1} R Nat R (instHPow.{u1, 0} R Nat (Monoid.Pow.{u1} R _inst_1)) (TrivSqZeroExt.fst.{u1, u2} R M x) (Nat.pred n)) (TrivSqZeroExt.snd.{u1, u2} R M x))))
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Monoid.{u1} R] [_inst_2 : AddMonoid.{u2} M] [_inst_3 : DistribMulAction.{u1, u2} R M _inst_1 _inst_2] [_inst_4 : DistribMulAction.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.monoid.{u1} R _inst_1) _inst_2] [_inst_5 : SMulCommClass.{u1, u1, u2} R (MulOpposite.{u1} R) M (SMulZeroClass.toSMul.{u1, u2} R M (AddMonoid.toZero.{u2} M _inst_2) (DistribSMul.toSMulZeroClass.{u1, u2} R M (AddMonoid.toAddZeroClass.{u2} M _inst_2) (DistribMulAction.toDistribSMul.{u1, u2} R M _inst_1 _inst_2 _inst_3))) (SMulZeroClass.toSMul.{u1, u2} (MulOpposite.{u1} R) M (AddMonoid.toZero.{u2} M _inst_2) (DistribSMul.toSMulZeroClass.{u1, u2} (MulOpposite.{u1} R) M (AddMonoid.toAddZeroClass.{u2} M _inst_2) (DistribMulAction.toDistribSMul.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.monoid.{u1} R _inst_1) _inst_2 _inst_4)))] (x : TrivSqZeroExt.{u1, u2} R M) (n : Nat), (Eq.{succ u2} M (HSMul.hSMul.{u1, u2, u2} (MulOpposite.{u1} R) M M (instHSMul.{u1, u2} (MulOpposite.{u1} R) M (SMulZeroClass.toSMul.{u1, u2} (MulOpposite.{u1} R) M (AddMonoid.toZero.{u2} M _inst_2) (DistribSMul.toSMulZeroClass.{u1, u2} (MulOpposite.{u1} R) M (AddMonoid.toAddZeroClass.{u2} M _inst_2) (DistribMulAction.toDistribSMul.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.monoid.{u1} R _inst_1) _inst_2 _inst_4)))) (MulOpposite.op.{u1} R (TrivSqZeroExt.fst.{u1, u2} R M x)) (TrivSqZeroExt.snd.{u1, u2} R M x)) (HSMul.hSMul.{u1, u2, u2} R M M (instHSMul.{u1, u2} R M (SMulZeroClass.toSMul.{u1, u2} R M (AddMonoid.toZero.{u2} M _inst_2) (DistribSMul.toSMulZeroClass.{u1, u2} R M (AddMonoid.toAddZeroClass.{u2} M _inst_2) (DistribMulAction.toDistribSMul.{u1, u2} R M _inst_1 _inst_2 _inst_3)))) (TrivSqZeroExt.fst.{u1, u2} R M x) (TrivSqZeroExt.snd.{u1, u2} R M x))) -> (Eq.{succ u2} M (TrivSqZeroExt.snd.{u1, u2} R M (HPow.hPow.{max u1 u2, 0, max u1 u2} (TrivSqZeroExt.{u1, u2} R M) Nat (TrivSqZeroExt.{u1, u2} R M) (instHPow.{max u1 u2, 0} (TrivSqZeroExt.{u1, u2} R M) Nat (TrivSqZeroExt.instPowTrivSqZeroExtNat.{u1, u2} R M _inst_1 _inst_2 _inst_3 _inst_4)) x n)) (HSMul.hSMul.{0, u2, u2} Nat M M (instHSMul.{0, u2} Nat M (AddMonoid.SMul.{u2} M _inst_2)) n (HSMul.hSMul.{u1, u2, u2} R M M (instHSMul.{u1, u2} R M (SMulZeroClass.toSMul.{u1, u2} R M (AddMonoid.toZero.{u2} M _inst_2) (DistribSMul.toSMulZeroClass.{u1, u2} R M (AddMonoid.toAddZeroClass.{u2} M _inst_2) (DistribMulAction.toDistribSMul.{u1, u2} R M _inst_1 _inst_2 _inst_3)))) (HPow.hPow.{u1, 0, u1} R Nat R (instHPow.{u1, 0} R Nat (Monoid.Pow.{u1} R _inst_1)) (TrivSqZeroExt.fst.{u1, u2} R M x) (Nat.pred n)) (TrivSqZeroExt.snd.{u1, u2} R M x))))
 Case conversion may be inaccurate. Consider using '#align triv_sq_zero_ext.snd_pow_of_smul_comm TrivSqZeroExt.snd_pow_of_smul_commₓ'. -/
 theorem snd_pow_of_smul_comm [Monoid R] [AddMonoid M] [DistribMulAction R M]
     [DistribMulAction Rᵐᵒᵖ M] [SMulCommClass R Rᵐᵒᵖ M] (x : tsze R M) (n : ℕ)
@@ -891,7 +887,7 @@ theorem snd_pow_of_smul_comm [Monoid R] [AddMonoid M] [DistribMulAction R M]
 lean 3 declaration is
   forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommMonoid.{u1} R] [_inst_2 : AddMonoid.{u2} M] [_inst_3 : DistribMulAction.{u1, u2} R M (CommMonoid.toMonoid.{u1} R _inst_1) _inst_2] [_inst_4 : DistribMulAction.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.monoid.{u1} R (CommMonoid.toMonoid.{u1} R _inst_1)) _inst_2] [_inst_5 : IsCentralScalar.{u1, u2} R M (SMulZeroClass.toHasSmul.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_2)) (DistribSMul.toSmulZeroClass.{u1, u2} R M (AddMonoid.toAddZeroClass.{u2} M _inst_2) (DistribMulAction.toDistribSMul.{u1, u2} R M (CommMonoid.toMonoid.{u1} R _inst_1) _inst_2 _inst_3))) (SMulZeroClass.toHasSmul.{u1, u2} (MulOpposite.{u1} R) M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_2)) (DistribSMul.toSmulZeroClass.{u1, u2} (MulOpposite.{u1} R) M (AddMonoid.toAddZeroClass.{u2} M _inst_2) (DistribMulAction.toDistribSMul.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.monoid.{u1} R (CommMonoid.toMonoid.{u1} R _inst_1)) _inst_2 _inst_4)))] (x : TrivSqZeroExt.{u1, u2} R M) (n : Nat), Eq.{succ u2} M (TrivSqZeroExt.snd.{u1, u2} R M (HPow.hPow.{max u1 u2, 0, max u1 u2} (TrivSqZeroExt.{u1, u2} R M) Nat (TrivSqZeroExt.{u1, u2} R M) (instHPow.{max u1 u2, 0} (TrivSqZeroExt.{u1, u2} R M) Nat (TrivSqZeroExt.Nat.hasPow.{u1, u2} R M (CommMonoid.toMonoid.{u1} R _inst_1) _inst_2 _inst_3 _inst_4)) x n)) (SMul.smul.{0, u2} Nat M (AddMonoid.SMul.{u2} M _inst_2) n (SMul.smul.{u1, u2} R M (SMulZeroClass.toHasSmul.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_2)) (DistribSMul.toSmulZeroClass.{u1, u2} R M (AddMonoid.toAddZeroClass.{u2} M _inst_2) (DistribMulAction.toDistribSMul.{u1, u2} R M (CommMonoid.toMonoid.{u1} R _inst_1) _inst_2 _inst_3))) (HPow.hPow.{u1, 0, u1} R Nat R (instHPow.{u1, 0} R Nat (Monoid.Pow.{u1} R (CommMonoid.toMonoid.{u1} R _inst_1))) (TrivSqZeroExt.fst.{u1, u2} R M x) (Nat.pred n)) (TrivSqZeroExt.snd.{u1, u2} R M x)))
 but is expected to have type
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommMonoid.{u1} R] [_inst_2 : AddMonoid.{u2} M] [_inst_3 : DistribMulAction.{u1, u2} R M (CommMonoid.toMonoid.{u1} R _inst_1) _inst_2] [_inst_4 : DistribMulAction.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.instMonoidMulOpposite.{u1} R (CommMonoid.toMonoid.{u1} R _inst_1)) _inst_2] [_inst_5 : IsCentralScalar.{u1, u2} R M (SMulZeroClass.toSMul.{u1, u2} R M (AddMonoid.toZero.{u2} M _inst_2) (DistribSMul.toSMulZeroClass.{u1, u2} R M (AddMonoid.toAddZeroClass.{u2} M _inst_2) (DistribMulAction.toDistribSMul.{u1, u2} R M (CommMonoid.toMonoid.{u1} R _inst_1) _inst_2 _inst_3))) (SMulZeroClass.toSMul.{u1, u2} (MulOpposite.{u1} R) M (AddMonoid.toZero.{u2} M _inst_2) (DistribSMul.toSMulZeroClass.{u1, u2} (MulOpposite.{u1} R) M (AddMonoid.toAddZeroClass.{u2} M _inst_2) (DistribMulAction.toDistribSMul.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.instMonoidMulOpposite.{u1} R (CommMonoid.toMonoid.{u1} R _inst_1)) _inst_2 _inst_4)))] (x : TrivSqZeroExt.{u1, u2} R M) (n : Nat), Eq.{succ u2} M (TrivSqZeroExt.snd.{u1, u2} R M (HPow.hPow.{max u1 u2, 0, max u1 u2} (TrivSqZeroExt.{u1, u2} R M) Nat (TrivSqZeroExt.{u1, u2} R M) (instHPow.{max u1 u2, 0} (TrivSqZeroExt.{u1, u2} R M) Nat (TrivSqZeroExt.instPowTrivSqZeroExtNat.{u1, u2} R M (CommMonoid.toMonoid.{u1} R _inst_1) _inst_2 _inst_3 _inst_4)) x n)) (HSMul.hSMul.{0, u2, u2} Nat M M (instHSMul.{0, u2} Nat M (AddMonoid.SMul.{u2} M _inst_2)) n (HSMul.hSMul.{u1, u2, u2} R M M (instHSMul.{u1, u2} R M (SMulZeroClass.toSMul.{u1, u2} R M (AddMonoid.toZero.{u2} M _inst_2) (DistribSMul.toSMulZeroClass.{u1, u2} R M (AddMonoid.toAddZeroClass.{u2} M _inst_2) (DistribMulAction.toDistribSMul.{u1, u2} R M (CommMonoid.toMonoid.{u1} R _inst_1) _inst_2 _inst_3)))) (HPow.hPow.{u1, 0, u1} R Nat R (instHPow.{u1, 0} R Nat (Monoid.Pow.{u1} R (CommMonoid.toMonoid.{u1} R _inst_1))) (TrivSqZeroExt.fst.{u1, u2} R M x) (Nat.pred n)) (TrivSqZeroExt.snd.{u1, u2} R M x)))
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommMonoid.{u1} R] [_inst_2 : AddMonoid.{u2} M] [_inst_3 : DistribMulAction.{u1, u2} R M (CommMonoid.toMonoid.{u1} R _inst_1) _inst_2] [_inst_4 : DistribMulAction.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.monoid.{u1} R (CommMonoid.toMonoid.{u1} R _inst_1)) _inst_2] [_inst_5 : IsCentralScalar.{u1, u2} R M (SMulZeroClass.toSMul.{u1, u2} R M (AddMonoid.toZero.{u2} M _inst_2) (DistribSMul.toSMulZeroClass.{u1, u2} R M (AddMonoid.toAddZeroClass.{u2} M _inst_2) (DistribMulAction.toDistribSMul.{u1, u2} R M (CommMonoid.toMonoid.{u1} R _inst_1) _inst_2 _inst_3))) (SMulZeroClass.toSMul.{u1, u2} (MulOpposite.{u1} R) M (AddMonoid.toZero.{u2} M _inst_2) (DistribSMul.toSMulZeroClass.{u1, u2} (MulOpposite.{u1} R) M (AddMonoid.toAddZeroClass.{u2} M _inst_2) (DistribMulAction.toDistribSMul.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.monoid.{u1} R (CommMonoid.toMonoid.{u1} R _inst_1)) _inst_2 _inst_4)))] (x : TrivSqZeroExt.{u1, u2} R M) (n : Nat), Eq.{succ u2} M (TrivSqZeroExt.snd.{u1, u2} R M (HPow.hPow.{max u1 u2, 0, max u1 u2} (TrivSqZeroExt.{u1, u2} R M) Nat (TrivSqZeroExt.{u1, u2} R M) (instHPow.{max u1 u2, 0} (TrivSqZeroExt.{u1, u2} R M) Nat (TrivSqZeroExt.instPowTrivSqZeroExtNat.{u1, u2} R M (CommMonoid.toMonoid.{u1} R _inst_1) _inst_2 _inst_3 _inst_4)) x n)) (HSMul.hSMul.{0, u2, u2} Nat M M (instHSMul.{0, u2} Nat M (AddMonoid.SMul.{u2} M _inst_2)) n (HSMul.hSMul.{u1, u2, u2} R M M (instHSMul.{u1, u2} R M (SMulZeroClass.toSMul.{u1, u2} R M (AddMonoid.toZero.{u2} M _inst_2) (DistribSMul.toSMulZeroClass.{u1, u2} R M (AddMonoid.toAddZeroClass.{u2} M _inst_2) (DistribMulAction.toDistribSMul.{u1, u2} R M (CommMonoid.toMonoid.{u1} R _inst_1) _inst_2 _inst_3)))) (HPow.hPow.{u1, 0, u1} R Nat R (instHPow.{u1, 0} R Nat (Monoid.Pow.{u1} R (CommMonoid.toMonoid.{u1} R _inst_1))) (TrivSqZeroExt.fst.{u1, u2} R M x) (Nat.pred n)) (TrivSqZeroExt.snd.{u1, u2} R M x)))
 Case conversion may be inaccurate. Consider using '#align triv_sq_zero_ext.snd_pow TrivSqZeroExt.snd_powₓ'. -/
 @[simp]
 theorem snd_pow [CommMonoid R] [AddMonoid M] [DistribMulAction R M] [DistribMulAction Rᵐᵒᵖ M]
@@ -903,7 +899,7 @@ theorem snd_pow [CommMonoid R] [AddMonoid M] [DistribMulAction R M] [DistribMulA
 lean 3 declaration is
   forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Monoid.{u1} R] [_inst_2 : AddMonoid.{u2} M] [_inst_3 : DistribMulAction.{u1, u2} R M _inst_1 _inst_2] [_inst_4 : DistribMulAction.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.monoid.{u1} R _inst_1) _inst_2] (r : R) (n : Nat), Eq.{max (succ u1) (succ u2)} (TrivSqZeroExt.{u1, u2} R M) (HPow.hPow.{max u1 u2, 0, max u1 u2} (TrivSqZeroExt.{u1, u2} R M) Nat (TrivSqZeroExt.{u1, u2} R M) (instHPow.{max u1 u2, 0} (TrivSqZeroExt.{u1, u2} R M) Nat (TrivSqZeroExt.Nat.hasPow.{u1, u2} R M _inst_1 _inst_2 _inst_3 _inst_4)) (TrivSqZeroExt.inl.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_2)) r) n) (TrivSqZeroExt.inl.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_2)) (HPow.hPow.{u1, 0, u1} R Nat R (instHPow.{u1, 0} R Nat (Monoid.Pow.{u1} R _inst_1)) r n))
 but is expected to have type
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Monoid.{u1} R] [_inst_2 : AddMonoid.{u2} M] [_inst_3 : DistribMulAction.{u1, u2} R M _inst_1 _inst_2] [_inst_4 : DistribMulAction.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.instMonoidMulOpposite.{u1} R _inst_1) _inst_2] (r : R) (n : Nat), Eq.{max (succ u1) (succ u2)} (TrivSqZeroExt.{u1, u2} R M) (HPow.hPow.{max u1 u2, 0, max u1 u2} (TrivSqZeroExt.{u1, u2} R M) Nat (TrivSqZeroExt.{u1, u2} R M) (instHPow.{max u1 u2, 0} (TrivSqZeroExt.{u1, u2} R M) Nat (TrivSqZeroExt.instPowTrivSqZeroExtNat.{u1, u2} R M _inst_1 _inst_2 _inst_3 _inst_4)) (TrivSqZeroExt.inl.{u1, u2} R M (AddMonoid.toZero.{u2} M _inst_2) r) n) (TrivSqZeroExt.inl.{u1, u2} R M (AddMonoid.toZero.{u2} M _inst_2) (HPow.hPow.{u1, 0, u1} R Nat R (instHPow.{u1, 0} R Nat (Monoid.Pow.{u1} R _inst_1)) r n))
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Monoid.{u1} R] [_inst_2 : AddMonoid.{u2} M] [_inst_3 : DistribMulAction.{u1, u2} R M _inst_1 _inst_2] [_inst_4 : DistribMulAction.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.monoid.{u1} R _inst_1) _inst_2] (r : R) (n : Nat), Eq.{max (succ u1) (succ u2)} (TrivSqZeroExt.{u1, u2} R M) (HPow.hPow.{max u1 u2, 0, max u1 u2} (TrivSqZeroExt.{u1, u2} R M) Nat (TrivSqZeroExt.{u1, u2} R M) (instHPow.{max u1 u2, 0} (TrivSqZeroExt.{u1, u2} R M) Nat (TrivSqZeroExt.instPowTrivSqZeroExtNat.{u1, u2} R M _inst_1 _inst_2 _inst_3 _inst_4)) (TrivSqZeroExt.inl.{u1, u2} R M (AddMonoid.toZero.{u2} M _inst_2) r) n) (TrivSqZeroExt.inl.{u1, u2} R M (AddMonoid.toZero.{u2} M _inst_2) (HPow.hPow.{u1, 0, u1} R Nat R (instHPow.{u1, 0} R Nat (Monoid.Pow.{u1} R _inst_1)) r n))
 Case conversion may be inaccurate. Consider using '#align triv_sq_zero_ext.inl_pow TrivSqZeroExt.inl_powₓ'. -/
 @[simp]
 theorem inl_pow [Monoid R] [AddMonoid M] [DistribMulAction R M] [DistribMulAction Rᵐᵒᵖ M] (r : R)
@@ -943,7 +939,7 @@ instance [Monoid R] [AddMonoid M] [DistribMulAction R M] [DistribMulAction Rᵐ
 lean 3 declaration is
   forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Monoid.{u1} R] [_inst_2 : AddMonoid.{u2} M] [_inst_3 : DistribMulAction.{u1, u2} R M _inst_1 _inst_2] [_inst_4 : DistribMulAction.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.monoid.{u1} R _inst_1) _inst_2] [_inst_5 : SMulCommClass.{u1, u1, u2} R (MulOpposite.{u1} R) M (SMulZeroClass.toHasSmul.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_2)) (DistribSMul.toSmulZeroClass.{u1, u2} R M (AddMonoid.toAddZeroClass.{u2} M _inst_2) (DistribMulAction.toDistribSMul.{u1, u2} R M _inst_1 _inst_2 _inst_3))) (SMulZeroClass.toHasSmul.{u1, u2} (MulOpposite.{u1} R) M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_2)) (DistribSMul.toSmulZeroClass.{u1, u2} (MulOpposite.{u1} R) M (AddMonoid.toAddZeroClass.{u2} M _inst_2) (DistribMulAction.toDistribSMul.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.monoid.{u1} R _inst_1) _inst_2 _inst_4)))] (l : List.{max u1 u2} (TrivSqZeroExt.{u1, u2} R M)), Eq.{succ u1} R (TrivSqZeroExt.fst.{u1, u2} R M (List.prod.{max u1 u2} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.hasMul.{u1, u2} R M (MulOneClass.toHasMul.{u1} R (Monoid.toMulOneClass.{u1} R _inst_1)) (AddZeroClass.toHasAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_2)) (SMulZeroClass.toHasSmul.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_2)) (DistribSMul.toSmulZeroClass.{u1, u2} R M (AddMonoid.toAddZeroClass.{u2} M _inst_2) (DistribMulAction.toDistribSMul.{u1, u2} R M _inst_1 _inst_2 _inst_3))) (SMulZeroClass.toHasSmul.{u1, u2} (MulOpposite.{u1} R) M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_2)) (DistribSMul.toSmulZeroClass.{u1, u2} (MulOpposite.{u1} R) M (AddMonoid.toAddZeroClass.{u2} M _inst_2) (DistribMulAction.toDistribSMul.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.monoid.{u1} R _inst_1) _inst_2 _inst_4)))) (TrivSqZeroExt.hasOne.{u1, u2} R M (MulOneClass.toHasOne.{u1} R (Monoid.toMulOneClass.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_2))) l)) (List.prod.{u1} R (MulOneClass.toHasMul.{u1} R (Monoid.toMulOneClass.{u1} R _inst_1)) (MulOneClass.toHasOne.{u1} R (Monoid.toMulOneClass.{u1} R _inst_1)) (List.map.{max u1 u2, u1} (TrivSqZeroExt.{u1, u2} R M) R (TrivSqZeroExt.fst.{u1, u2} R M) l))
 but is expected to have type
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Monoid.{u1} R] [_inst_2 : AddMonoid.{u2} M] [_inst_3 : DistribMulAction.{u1, u2} R M _inst_1 _inst_2] [_inst_4 : DistribMulAction.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.instMonoidMulOpposite.{u1} R _inst_1) _inst_2] [_inst_5 : SMulCommClass.{u1, u1, u2} R (MulOpposite.{u1} R) M (SMulZeroClass.toSMul.{u1, u2} R M (AddMonoid.toZero.{u2} M _inst_2) (DistribSMul.toSMulZeroClass.{u1, u2} R M (AddMonoid.toAddZeroClass.{u2} M _inst_2) (DistribMulAction.toDistribSMul.{u1, u2} R M _inst_1 _inst_2 _inst_3))) (SMulZeroClass.toSMul.{u1, u2} (MulOpposite.{u1} R) M (AddMonoid.toZero.{u2} M _inst_2) (DistribSMul.toSMulZeroClass.{u1, u2} (MulOpposite.{u1} R) M (AddMonoid.toAddZeroClass.{u2} M _inst_2) (DistribMulAction.toDistribSMul.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.instMonoidMulOpposite.{u1} R _inst_1) _inst_2 _inst_4)))] (l : List.{max u2 u1} (TrivSqZeroExt.{u1, u2} R M)), Eq.{succ u1} R (TrivSqZeroExt.fst.{u1, u2} R M (List.prod.{max u1 u2} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.mul.{u1, u2} R M (MulOneClass.toMul.{u1} R (Monoid.toMulOneClass.{u1} R _inst_1)) (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_2)) (SMulZeroClass.toSMul.{u1, u2} R M (AddMonoid.toZero.{u2} M _inst_2) (DistribSMul.toSMulZeroClass.{u1, u2} R M (AddMonoid.toAddZeroClass.{u2} M _inst_2) (DistribMulAction.toDistribSMul.{u1, u2} R M _inst_1 _inst_2 _inst_3))) (SMulZeroClass.toSMul.{u1, u2} (MulOpposite.{u1} R) M (AddMonoid.toZero.{u2} M _inst_2) (DistribSMul.toSMulZeroClass.{u1, u2} (MulOpposite.{u1} R) M (AddMonoid.toAddZeroClass.{u2} M _inst_2) (DistribMulAction.toDistribSMul.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.instMonoidMulOpposite.{u1} R _inst_1) _inst_2 _inst_4)))) (TrivSqZeroExt.one.{u1, u2} R M (Monoid.toOne.{u1} R _inst_1) (AddMonoid.toZero.{u2} M _inst_2)) l)) (List.prod.{u1} R (MulOneClass.toMul.{u1} R (Monoid.toMulOneClass.{u1} R _inst_1)) (Monoid.toOne.{u1} R _inst_1) (List.map.{max u2 u1, u1} (TrivSqZeroExt.{u1, u2} R M) R (TrivSqZeroExt.fst.{u1, u2} R M) l))
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Monoid.{u1} R] [_inst_2 : AddMonoid.{u2} M] [_inst_3 : DistribMulAction.{u1, u2} R M _inst_1 _inst_2] [_inst_4 : DistribMulAction.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.monoid.{u1} R _inst_1) _inst_2] [_inst_5 : SMulCommClass.{u1, u1, u2} R (MulOpposite.{u1} R) M (SMulZeroClass.toSMul.{u1, u2} R M (AddMonoid.toZero.{u2} M _inst_2) (DistribSMul.toSMulZeroClass.{u1, u2} R M (AddMonoid.toAddZeroClass.{u2} M _inst_2) (DistribMulAction.toDistribSMul.{u1, u2} R M _inst_1 _inst_2 _inst_3))) (SMulZeroClass.toSMul.{u1, u2} (MulOpposite.{u1} R) M (AddMonoid.toZero.{u2} M _inst_2) (DistribSMul.toSMulZeroClass.{u1, u2} (MulOpposite.{u1} R) M (AddMonoid.toAddZeroClass.{u2} M _inst_2) (DistribMulAction.toDistribSMul.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.monoid.{u1} R _inst_1) _inst_2 _inst_4)))] (l : List.{max u2 u1} (TrivSqZeroExt.{u1, u2} R M)), Eq.{succ u1} R (TrivSqZeroExt.fst.{u1, u2} R M (List.prod.{max u1 u2} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.mul.{u1, u2} R M (MulOneClass.toMul.{u1} R (Monoid.toMulOneClass.{u1} R _inst_1)) (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_2)) (SMulZeroClass.toSMul.{u1, u2} R M (AddMonoid.toZero.{u2} M _inst_2) (DistribSMul.toSMulZeroClass.{u1, u2} R M (AddMonoid.toAddZeroClass.{u2} M _inst_2) (DistribMulAction.toDistribSMul.{u1, u2} R M _inst_1 _inst_2 _inst_3))) (SMulZeroClass.toSMul.{u1, u2} (MulOpposite.{u1} R) M (AddMonoid.toZero.{u2} M _inst_2) (DistribSMul.toSMulZeroClass.{u1, u2} (MulOpposite.{u1} R) M (AddMonoid.toAddZeroClass.{u2} M _inst_2) (DistribMulAction.toDistribSMul.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.monoid.{u1} R _inst_1) _inst_2 _inst_4)))) (TrivSqZeroExt.one.{u1, u2} R M (Monoid.toOne.{u1} R _inst_1) (AddMonoid.toZero.{u2} M _inst_2)) l)) (List.prod.{u1} R (MulOneClass.toMul.{u1} R (Monoid.toMulOneClass.{u1} R _inst_1)) (Monoid.toOne.{u1} R _inst_1) (List.map.{max u2 u1, u1} (TrivSqZeroExt.{u1, u2} R M) R (TrivSqZeroExt.fst.{u1, u2} R M) l))
 Case conversion may be inaccurate. Consider using '#align triv_sq_zero_ext.fst_list_prod TrivSqZeroExt.fst_list_prodₓ'. -/
 theorem fst_list_prod [Monoid R] [AddMonoid M] [DistribMulAction R M] [DistribMulAction Rᵐᵒᵖ M]
     [SMulCommClass R Rᵐᵒᵖ M] (l : List (tsze R M)) : l.Prod.fst = (l.map fst).Prod :=
@@ -958,7 +954,7 @@ instance [Semiring R] [AddCommMonoid M] [Module R M] [Module Rᵐᵒᵖ M] [SMul
 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] [_inst_4 : Module.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.semiring.{u1} R _inst_1) _inst_2] [_inst_5 : SMulCommClass.{u1, u1, u2} R (MulOpposite.{u1} R) M (SMulZeroClass.toHasSmul.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} R M (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} R M _inst_1 _inst_2 _inst_3)))) (SMulZeroClass.toHasSmul.{u1, u2} (MulOpposite.{u1} R) M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} (MulOpposite.{u1} R) M (MulZeroClass.toHasZero.{u1} (MulOpposite.{u1} R) (MulZeroOneClass.toMulZeroClass.{u1} (MulOpposite.{u1} R) (MonoidWithZero.toMulZeroOneClass.{u1} (MulOpposite.{u1} R) (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R) M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.semiring.{u1} R _inst_1) _inst_2 _inst_4))))] (l : List.{max u1 u2} (TrivSqZeroExt.{u1, u2} R M)), Eq.{succ u2} M (TrivSqZeroExt.snd.{u1, u2} R M (List.prod.{max u1 u2} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.hasMul.{u1, u2} R M (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (AddZeroClass.toHasAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (SMulZeroClass.toHasSmul.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} R M (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} R M _inst_1 _inst_2 _inst_3)))) (SMulZeroClass.toHasSmul.{u1, u2} (MulOpposite.{u1} R) M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} (MulOpposite.{u1} R) M (MulZeroClass.toHasZero.{u1} (MulOpposite.{u1} R) (MulZeroOneClass.toMulZeroClass.{u1} (MulOpposite.{u1} R) (MonoidWithZero.toMulZeroOneClass.{u1} (MulOpposite.{u1} R) (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R) M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.semiring.{u1} R _inst_1) _inst_2 _inst_4))))) (TrivSqZeroExt.hasOne.{u1, u2} R M (AddMonoidWithOne.toOne.{u1} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} R (NonAssocSemiring.toAddCommMonoidWithOne.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)))) l)) (List.sum.{u2} M (AddZeroClass.toHasAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (List.map.{max u1 u2, u2} (Prod.{0, max u1 u2} Nat (TrivSqZeroExt.{u1, u2} R M)) M (fun (x : Prod.{0, max u1 u2} Nat (TrivSqZeroExt.{u1, u2} R M)) => SMul.smul.{u1, u2} R M (SMulZeroClass.toHasSmul.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} R M (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} R M _inst_1 _inst_2 _inst_3)))) (List.prod.{u1} R (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (AddMonoidWithOne.toOne.{u1} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} R (NonAssocSemiring.toAddCommMonoidWithOne.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (List.take.{u1} R (Prod.fst.{0, max u1 u2} Nat (TrivSqZeroExt.{u1, u2} R M) x) (List.map.{max u1 u2, u1} (TrivSqZeroExt.{u1, u2} R M) R (TrivSqZeroExt.fst.{u1, u2} R M) l))) (SMul.smul.{u1, u2} (MulOpposite.{u1} R) M (SMulZeroClass.toHasSmul.{u1, u2} (MulOpposite.{u1} R) M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} (MulOpposite.{u1} R) M (MulZeroClass.toHasZero.{u1} (MulOpposite.{u1} R) (MulZeroOneClass.toMulZeroClass.{u1} (MulOpposite.{u1} R) (MonoidWithZero.toMulZeroOneClass.{u1} (MulOpposite.{u1} R) (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R) M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.semiring.{u1} R _inst_1) _inst_2 _inst_4)))) (MulOpposite.op.{u1} R (List.prod.{u1} R (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (AddMonoidWithOne.toOne.{u1} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} R (NonAssocSemiring.toAddCommMonoidWithOne.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (List.drop.{u1} R (Nat.succ (Prod.fst.{0, max u1 u2} Nat (TrivSqZeroExt.{u1, u2} R M) x)) (List.map.{max u1 u2, u1} (TrivSqZeroExt.{u1, u2} R M) R (TrivSqZeroExt.fst.{u1, u2} R M) l)))) (TrivSqZeroExt.snd.{u1, u2} R M (Prod.snd.{0, max u1 u2} Nat (TrivSqZeroExt.{u1, u2} R M) x)))) (List.enum.{max u1 u2} (TrivSqZeroExt.{u1, u2} R M) l)))
 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] [_inst_4 : Module.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1) _inst_2] [_inst_5 : SMulCommClass.{u1, u1, u2} R (MulOpposite.{u1} R) M (SMulZeroClass.toSMul.{u1, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R M (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (Module.toMulActionWithZero.{u1, u2} R M _inst_1 _inst_2 _inst_3)))) (SMulZeroClass.toSMul.{u1, u2} (MulOpposite.{u1} R) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.instZeroMulOpposite.{u1} R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.instMonoidWithZeroMulOpposite.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1) _inst_2 _inst_4))))] (l : List.{max u2 u1} (TrivSqZeroExt.{u1, u2} R M)), Eq.{succ u2} M (TrivSqZeroExt.snd.{u1, u2} R M (List.prod.{max u1 u2} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.mul.{u1, u2} R M (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (SMulZeroClass.toSMul.{u1, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R M (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (Module.toMulActionWithZero.{u1, u2} R M _inst_1 _inst_2 _inst_3)))) (SMulZeroClass.toSMul.{u1, u2} (MulOpposite.{u1} R) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.instZeroMulOpposite.{u1} R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.instMonoidWithZeroMulOpposite.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1) _inst_2 _inst_4))))) (TrivSqZeroExt.one.{u1, u2} R M (Semiring.toOne.{u1} R _inst_1) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) l)) (List.sum.{u2} M (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (List.map.{max u1 u2, u2} (Prod.{0, max u2 u1} Nat (TrivSqZeroExt.{u1, u2} R M)) M (fun (x : Prod.{0, max u2 u1} Nat (TrivSqZeroExt.{u1, u2} R M)) => HSMul.hSMul.{u1, u2, u2} R M M (instHSMul.{u1, u2} R M (SMulZeroClass.toSMul.{u1, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R M (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (Module.toMulActionWithZero.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (List.prod.{u1} R (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toOne.{u1} R _inst_1) (List.take.{u1} R (Prod.fst.{0, max u1 u2} Nat (TrivSqZeroExt.{u1, u2} R M) x) (List.map.{max u2 u1, u1} (TrivSqZeroExt.{u1, u2} R M) R (TrivSqZeroExt.fst.{u1, u2} R M) l))) (HSMul.hSMul.{u1, u2, u2} (MulOpposite.{u1} R) M M (instHSMul.{u1, u2} (MulOpposite.{u1} R) M (SMulZeroClass.toSMul.{u1, u2} (MulOpposite.{u1} R) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.instZeroMulOpposite.{u1} R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.instMonoidWithZeroMulOpposite.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1) _inst_2 _inst_4))))) (MulOpposite.op.{u1} R (List.prod.{u1} R (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toOne.{u1} R _inst_1) (List.drop.{u1} R (Nat.succ (Prod.fst.{0, max u1 u2} Nat (TrivSqZeroExt.{u1, u2} R M) x)) (List.map.{max u2 u1, u1} (TrivSqZeroExt.{u1, u2} R M) R (TrivSqZeroExt.fst.{u1, u2} R M) l)))) (TrivSqZeroExt.snd.{u1, u2} R M (Prod.snd.{0, max u1 u2} Nat (TrivSqZeroExt.{u1, u2} R M) x)))) (List.enum.{max u1 u2} (TrivSqZeroExt.{u1, u2} R M) l)))
+  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] [_inst_4 : Module.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.semiring.{u1} R _inst_1) _inst_2] [_inst_5 : SMulCommClass.{u1, u1, u2} R (MulOpposite.{u1} R) M (SMulZeroClass.toSMul.{u1, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R M (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (Module.toMulActionWithZero.{u1, u2} R M _inst_1 _inst_2 _inst_3)))) (SMulZeroClass.toSMul.{u1, u2} (MulOpposite.{u1} R) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.zero.{u1} R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.monoidWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.semiring.{u1} R _inst_1) _inst_2 _inst_4))))] (l : List.{max u2 u1} (TrivSqZeroExt.{u1, u2} R M)), Eq.{succ u2} M (TrivSqZeroExt.snd.{u1, u2} R M (List.prod.{max u1 u2} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.mul.{u1, u2} R M (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (SMulZeroClass.toSMul.{u1, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R M (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (Module.toMulActionWithZero.{u1, u2} R M _inst_1 _inst_2 _inst_3)))) (SMulZeroClass.toSMul.{u1, u2} (MulOpposite.{u1} R) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.zero.{u1} R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.monoidWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.semiring.{u1} R _inst_1) _inst_2 _inst_4))))) (TrivSqZeroExt.one.{u1, u2} R M (Semiring.toOne.{u1} R _inst_1) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) l)) (List.sum.{u2} M (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (List.map.{max u1 u2, u2} (Prod.{0, max u2 u1} Nat (TrivSqZeroExt.{u1, u2} R M)) M (fun (x : Prod.{0, max u2 u1} Nat (TrivSqZeroExt.{u1, u2} R M)) => HSMul.hSMul.{u1, u2, u2} R M M (instHSMul.{u1, u2} R M (SMulZeroClass.toSMul.{u1, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R M (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (Module.toMulActionWithZero.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (List.prod.{u1} R (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toOne.{u1} R _inst_1) (List.take.{u1} R (Prod.fst.{0, max u1 u2} Nat (TrivSqZeroExt.{u1, u2} R M) x) (List.map.{max u2 u1, u1} (TrivSqZeroExt.{u1, u2} R M) R (TrivSqZeroExt.fst.{u1, u2} R M) l))) (HSMul.hSMul.{u1, u2, u2} (MulOpposite.{u1} R) M M (instHSMul.{u1, u2} (MulOpposite.{u1} R) M (SMulZeroClass.toSMul.{u1, u2} (MulOpposite.{u1} R) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.zero.{u1} R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.monoidWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.semiring.{u1} R _inst_1) _inst_2 _inst_4))))) (MulOpposite.op.{u1} R (List.prod.{u1} R (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toOne.{u1} R _inst_1) (List.drop.{u1} R (Nat.succ (Prod.fst.{0, max u1 u2} Nat (TrivSqZeroExt.{u1, u2} R M) x)) (List.map.{max u2 u1, u1} (TrivSqZeroExt.{u1, u2} R M) R (TrivSqZeroExt.fst.{u1, u2} R M) l)))) (TrivSqZeroExt.snd.{u1, u2} R M (Prod.snd.{0, max u1 u2} Nat (TrivSqZeroExt.{u1, u2} R M) x)))) (List.enum.{max u1 u2} (TrivSqZeroExt.{u1, u2} R M) l)))
 Case conversion may be inaccurate. Consider using '#align triv_sq_zero_ext.snd_list_prod TrivSqZeroExt.snd_list_prodₓ'. -/
 /-- The second element of a product $\prod_{i=0}^n (r_i + m_i)$ is a sum of terms of the form
 $r_0\cdots r_{i-1}m_ir_{i+1}\cdots r_n$. -/
@@ -999,12 +995,7 @@ instance [CommRing R] [AddCommGroup M] [Module R M] [Module Rᵐᵒᵖ M] [IsCen
 
 variable (R M)
 
-/- warning: triv_sq_zero_ext.inl_hom -> TrivSqZeroExt.inlHom 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] [_inst_4 : Module.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.semiring.{u1} R _inst_1) _inst_2], RingHom.{u1, max u1 u2} R (TrivSqZeroExt.{u1, u2} R M) (Semiring.toNonAssocSemiring.{u1} R _inst_1) (TrivSqZeroExt.nonAssocSemiring.{u1, u2} R M _inst_1 _inst_2 _inst_3 _inst_4)
-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] [_inst_4 : Module.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1) _inst_2], RingHom.{u1, max u2 u1} R (TrivSqZeroExt.{u1, u2} R M) (Semiring.toNonAssocSemiring.{u1} R _inst_1) (TrivSqZeroExt.nonAssocSemiring.{u1, u2} R M _inst_1 _inst_2 _inst_3 _inst_4)
-Case conversion may be inaccurate. Consider using '#align triv_sq_zero_ext.inl_hom TrivSqZeroExt.inlHomₓ'. -/
+#print TrivSqZeroExt.inlHom /-
 /-- The canonical inclusion of rings `R → triv_sq_zero_ext R M`. -/
 @[simps apply]
 def inlHom [Semiring R] [AddCommMonoid M] [Module R M] [Module Rᵐᵒᵖ M] : R →+* tsze R M
@@ -1015,6 +1006,7 @@ def inlHom [Semiring R] [AddCommMonoid M] [Module R M] [Module Rᵐᵒᵖ M] : R
   map_zero' := inl_zero M
   map_add' := inl_add M
 #align triv_sq_zero_ext.inl_hom TrivSqZeroExt.inlHom
+-/
 
 end Mul
 
@@ -1032,12 +1024,7 @@ variable [IsScalarTower S R M] [IsScalarTower S Rᵐᵒᵖ M]
 
 variable [Module R' M] [Module R'ᵐᵒᵖ M] [IsCentralScalar R' M] [IsScalarTower S R' M]
 
-/- warning: triv_sq_zero_ext.algebra' -> TrivSqZeroExt.algebra' is a dubious translation:
-lean 3 declaration is
-  forall (S : Type.{u3}) (R : Type.{u1}) (M : Type.{u2}) [_inst_1 : CommSemiring.{u3} S] [_inst_2 : Semiring.{u1} R] [_inst_4 : AddCommMonoid.{u2} M] [_inst_5 : Algebra.{u3, u1} S R _inst_1 _inst_2] [_inst_7 : Module.{u3, u2} S M (CommSemiring.toSemiring.{u3} S _inst_1) _inst_4] [_inst_8 : Module.{u1, u2} R M _inst_2 _inst_4] [_inst_9 : Module.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.semiring.{u1} R _inst_2) _inst_4] [_inst_10 : SMulCommClass.{u1, u1, u2} R (MulOpposite.{u1} R) M (SMulZeroClass.toHasSmul.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} R M (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_2)))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R _inst_2) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R M _inst_2 _inst_4 _inst_8)))) (SMulZeroClass.toHasSmul.{u1, u2} (MulOpposite.{u1} R) M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} (MulOpposite.{u1} R) M (MulZeroClass.toHasZero.{u1} (MulOpposite.{u1} R) (MulZeroOneClass.toMulZeroClass.{u1} (MulOpposite.{u1} R) (MonoidWithZero.toMulZeroOneClass.{u1} (MulOpposite.{u1} R) (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_2))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R) M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_2)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.semiring.{u1} R _inst_2) _inst_4 _inst_9))))] [_inst_11 : IsScalarTower.{u3, u1, u2} S R M (SMulZeroClass.toHasSmul.{u3, u1} S R (AddZeroClass.toHasZero.{u1} R (AddMonoid.toAddZeroClass.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)))))) (SMulWithZero.toSmulZeroClass.{u3, u1} S R (MulZeroClass.toHasZero.{u3} S (MulZeroOneClass.toMulZeroClass.{u3} S (MonoidWithZero.toMulZeroOneClass.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S _inst_1))))) (AddZeroClass.toHasZero.{u1} R (AddMonoid.toAddZeroClass.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)))))) (MulActionWithZero.toSMulWithZero.{u3, u1} S R (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S _inst_1)) (AddZeroClass.toHasZero.{u1} R (AddMonoid.toAddZeroClass.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)))))) (Module.toMulActionWithZero.{u3, u1} S R (CommSemiring.toSemiring.{u3} S _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Algebra.toModule.{u3, u1} S R _inst_1 _inst_2 _inst_5))))) (SMulZeroClass.toHasSmul.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} R M (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_2)))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R _inst_2) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R M _inst_2 _inst_4 _inst_8)))) (SMulZeroClass.toHasSmul.{u3, u2} S M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u3, u2} S M (MulZeroClass.toHasZero.{u3} S (MulZeroOneClass.toMulZeroClass.{u3} S (MonoidWithZero.toMulZeroOneClass.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S _inst_1))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u3, u2} S M (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S _inst_1)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u3, u2} S M (CommSemiring.toSemiring.{u3} S _inst_1) _inst_4 _inst_7))))] [_inst_12 : IsScalarTower.{u3, u1, u2} S (MulOpposite.{u1} R) M (MulOpposite.hasSmul.{u1, u3} R S (SMulZeroClass.toHasSmul.{u3, u1} S R (AddZeroClass.toHasZero.{u1} R (AddMonoid.toAddZeroClass.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)))))) (SMulWithZero.toSmulZeroClass.{u3, u1} S R (MulZeroClass.toHasZero.{u3} S (MulZeroOneClass.toMulZeroClass.{u3} S (MonoidWithZero.toMulZeroOneClass.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S _inst_1))))) (AddZeroClass.toHasZero.{u1} R (AddMonoid.toAddZeroClass.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)))))) (MulActionWithZero.toSMulWithZero.{u3, u1} S R (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S _inst_1)) (AddZeroClass.toHasZero.{u1} R (AddMonoid.toAddZeroClass.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)))))) (Module.toMulActionWithZero.{u3, u1} S R (CommSemiring.toSemiring.{u3} S _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Algebra.toModule.{u3, u1} S R _inst_1 _inst_2 _inst_5)))))) (SMulZeroClass.toHasSmul.{u1, u2} (MulOpposite.{u1} R) M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} (MulOpposite.{u1} R) M (MulZeroClass.toHasZero.{u1} (MulOpposite.{u1} R) (MulZeroOneClass.toMulZeroClass.{u1} (MulOpposite.{u1} R) (MonoidWithZero.toMulZeroOneClass.{u1} (MulOpposite.{u1} R) (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_2))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R) M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_2)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.semiring.{u1} R _inst_2) _inst_4 _inst_9)))) (SMulZeroClass.toHasSmul.{u3, u2} S M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u3, u2} S M (MulZeroClass.toHasZero.{u3} S (MulZeroOneClass.toMulZeroClass.{u3} S (MonoidWithZero.toMulZeroOneClass.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S _inst_1))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u3, u2} S M (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S _inst_1)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u3, u2} S M (CommSemiring.toSemiring.{u3} S _inst_1) _inst_4 _inst_7))))], Algebra.{u3, max u1 u2} S (TrivSqZeroExt.{u1, u2} R M) _inst_1 (TrivSqZeroExt.semiring.{u1, u2} R M _inst_2 _inst_4 _inst_8 _inst_9 _inst_10)
-but is expected to have type
-  forall (S : Type.{u3}) (R : Type.{u1}) (M : Type.{u2}) [_inst_1 : CommSemiring.{u3} S] [_inst_2 : Semiring.{u1} R] [_inst_4 : AddCommMonoid.{u2} M] [_inst_5 : Algebra.{u3, u1} S R _inst_1 _inst_2] [_inst_7 : Module.{u3, u2} S M (CommSemiring.toSemiring.{u3} S _inst_1) _inst_4] [_inst_8 : Module.{u1, u2} R M _inst_2 _inst_4] [_inst_9 : Module.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.instSemiringMulOpposite.{u1} R _inst_2) _inst_4] [_inst_10 : SMulCommClass.{u1, u1, u2} R (MulOpposite.{u1} R) M (SMulZeroClass.toSMul.{u1, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} R M (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_2)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R _inst_2) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R M _inst_2 _inst_4 _inst_8)))) (SMulZeroClass.toSMul.{u1, u2} (MulOpposite.{u1} R) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.instZeroMulOpposite.{u1} R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_2))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.instMonoidWithZeroMulOpposite.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_2)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.instSemiringMulOpposite.{u1} R _inst_2) _inst_4 _inst_9))))] [_inst_11 : IsScalarTower.{u3, u1, u2} S R M (Algebra.toSMul.{u3, u1} S R _inst_1 _inst_2 _inst_5) (SMulZeroClass.toSMul.{u1, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} R M (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_2)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R _inst_2) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R M _inst_2 _inst_4 _inst_8)))) (SMulZeroClass.toSMul.{u3, u2} S M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u3, u2} S M (CommMonoidWithZero.toZero.{u3} S (CommSemiring.toCommMonoidWithZero.{u3} S _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u3, u2} S M (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u3, u2} S M (CommSemiring.toSemiring.{u3} S _inst_1) _inst_4 _inst_7))))] [_inst_12 : IsScalarTower.{u3, u1, u2} S (MulOpposite.{u1} R) M (MulOpposite.instSMulMulOpposite.{u1, u3} R S (Algebra.toSMul.{u3, u1} S R _inst_1 _inst_2 _inst_5)) (SMulZeroClass.toSMul.{u1, u2} (MulOpposite.{u1} R) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.instZeroMulOpposite.{u1} R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_2))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.instMonoidWithZeroMulOpposite.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_2)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.instSemiringMulOpposite.{u1} R _inst_2) _inst_4 _inst_9)))) (SMulZeroClass.toSMul.{u3, u2} S M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u3, u2} S M (CommMonoidWithZero.toZero.{u3} S (CommSemiring.toCommMonoidWithZero.{u3} S _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u3, u2} S M (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u3, u2} S M (CommSemiring.toSemiring.{u3} S _inst_1) _inst_4 _inst_7))))], Algebra.{u3, max u2 u1} S (TrivSqZeroExt.{u1, u2} R M) _inst_1 (TrivSqZeroExt.semiring.{u1, u2} R M _inst_2 _inst_4 _inst_8 _inst_9 _inst_10)
-Case conversion may be inaccurate. Consider using '#align triv_sq_zero_ext.algebra' TrivSqZeroExt.algebra'ₓ'. -/
+#print TrivSqZeroExt.algebra' /-
 instance algebra' : Algebra S (tsze R M) :=
   {
     (TrivSqZeroExt.inlHom R M).comp
@@ -1055,6 +1042,7 @@ instance algebra' : Algebra S (tsze R M) :=
         show r • x.2 = algebraMap S R r • x.2 + op x.1 • 0 by
           rw [smul_zero, add_zero, algebraMap_smul] }
 #align triv_sq_zero_ext.algebra' TrivSqZeroExt.algebra'
+-/
 
 -- shortcut instance for the common case
 instance : Algebra R' (tsze R' M) :=
@@ -1064,38 +1052,29 @@ instance : Algebra R' (tsze R' M) :=
 lean 3 declaration is
   forall (R' : Type.{u1}) (M : Type.{u2}) [_inst_3 : CommSemiring.{u1} R'] [_inst_4 : AddCommMonoid.{u2} M] [_inst_13 : Module.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4] [_inst_14 : Module.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4] [_inst_15 : IsCentralScalar.{u1, u2} R' M (SMulZeroClass.toHasSmul.{u1, u2} R' M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} R' M (MulZeroClass.toHasZero.{u1} R' (MulZeroOneClass.toMulZeroClass.{u1} R' (MonoidWithZero.toMulZeroOneClass.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toHasSmul.{u1, u2} (MulOpposite.{u1} R') M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MulZeroClass.toHasZero.{u1} (MulOpposite.{u1} R') (MulZeroOneClass.toMulZeroClass.{u1} (MulOpposite.{u1} R') (MonoidWithZero.toMulZeroOneClass.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14))))], Eq.{max (succ u1) (succ (max u1 u2))} (R' -> (TrivSqZeroExt.{u1, u2} R' M)) (coeFn.{max (succ u1) (succ (max u1 u2)), max (succ u1) (succ (max u1 u2))} (RingHom.{u1, max u1 u2} R' (TrivSqZeroExt.{u1, u2} R' M) (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (Semiring.toNonAssocSemiring.{max u1 u2} (TrivSqZeroExt.{u1, u2} R' M) (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u1, u1, u2} R' _inst_3 (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (MulOpposite.algebra.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u1, u1, u2} R' R' M (SMulZeroClass.toHasSmul.{u1, u2} R' M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} R' M (MulZeroClass.toHasZero.{u1} R' (MulZeroOneClass.toMulZeroClass.{u1} R' (MonoidWithZero.toMulZeroOneClass.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (Mul.toSMul.{u1} R' (Distrib.toHasMul.{u1} R' (NonUnitalNonAssocSemiring.toDistrib.{u1} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (MulAction.toHasSmul.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13))) (SMulZeroClass.toHasSmul.{u1, u2} (MulOpposite.{u1} R') M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MulZeroClass.toHasZero.{u1} (MulOpposite.{u1} R') (MulZeroOneClass.toMulZeroClass.{u1} (MulOpposite.{u1} R') (MonoidWithZero.toMulZeroOneClass.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))))))) (fun (_x : RingHom.{u1, max u1 u2} R' (TrivSqZeroExt.{u1, u2} R' M) (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (Semiring.toNonAssocSemiring.{max u1 u2} (TrivSqZeroExt.{u1, u2} R' M) (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u1, u1, u2} R' _inst_3 (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (MulOpposite.algebra.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u1, u1, u2} R' R' M (SMulZeroClass.toHasSmul.{u1, u2} R' M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} R' M (MulZeroClass.toHasZero.{u1} R' (MulZeroOneClass.toMulZeroClass.{u1} R' (MonoidWithZero.toMulZeroOneClass.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (Mul.toSMul.{u1} R' (Distrib.toHasMul.{u1} R' (NonUnitalNonAssocSemiring.toDistrib.{u1} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (MulAction.toHasSmul.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13))) (SMulZeroClass.toHasSmul.{u1, u2} (MulOpposite.{u1} R') M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MulZeroClass.toHasZero.{u1} (MulOpposite.{u1} R') (MulZeroOneClass.toMulZeroClass.{u1} (MulOpposite.{u1} R') (MonoidWithZero.toMulZeroOneClass.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))))))) => R' -> (TrivSqZeroExt.{u1, u2} R' M)) (RingHom.hasCoeToFun.{u1, max u1 u2} R' (TrivSqZeroExt.{u1, u2} R' M) (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (Semiring.toNonAssocSemiring.{max u1 u2} (TrivSqZeroExt.{u1, u2} R' M) (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u1, u1, u2} R' _inst_3 (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (MulOpposite.algebra.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u1, u1, u2} R' R' M (SMulZeroClass.toHasSmul.{u1, u2} R' M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} R' M (MulZeroClass.toHasZero.{u1} R' (MulZeroOneClass.toMulZeroClass.{u1} R' (MonoidWithZero.toMulZeroOneClass.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (Mul.toSMul.{u1} R' (Distrib.toHasMul.{u1} R' (NonUnitalNonAssocSemiring.toDistrib.{u1} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (MulAction.toHasSmul.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13))) (SMulZeroClass.toHasSmul.{u1, u2} (MulOpposite.{u1} R') M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MulZeroClass.toHasZero.{u1} (MulOpposite.{u1} R') (MulZeroOneClass.toMulZeroClass.{u1} (MulOpposite.{u1} R') (MonoidWithZero.toMulZeroOneClass.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))))))) (algebraMap.{u1, max u1 u2} R' (TrivSqZeroExt.{u1, u2} R' M) _inst_3 (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u1, u1, u2} R' _inst_3 (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (MulOpposite.algebra.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u1, u1, u2} R' R' M (SMulZeroClass.toHasSmul.{u1, u2} R' M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} R' M (MulZeroClass.toHasZero.{u1} R' (MulZeroOneClass.toMulZeroClass.{u1} R' (MonoidWithZero.toMulZeroOneClass.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (Mul.toSMul.{u1} R' (Distrib.toHasMul.{u1} R' (NonUnitalNonAssocSemiring.toDistrib.{u1} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (MulAction.toHasSmul.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13))) (SMulZeroClass.toHasSmul.{u1, u2} (MulOpposite.{u1} R') M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MulZeroClass.toHasZero.{u1} (MulOpposite.{u1} R') (MulZeroOneClass.toMulZeroClass.{u1} (MulOpposite.{u1} R') (MonoidWithZero.toMulZeroOneClass.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))))) (TrivSqZeroExt.algebra.{u1, u2} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15))) (TrivSqZeroExt.inl.{u1, u2} R' M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))))
 but is expected to have type
-  forall (R' : Type.{u1}) (M : Type.{u2}) [_inst_3 : CommSemiring.{u1} R'] [_inst_4 : AddCommMonoid.{u2} M] [_inst_13 : Module.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4] [_inst_14 : Module.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.instSemiringMulOpposite.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4] [_inst_15 : IsCentralScalar.{u1, u2} R' M (SMulZeroClass.toSMul.{u1, u2} R' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u1, u2} (MulOpposite.{u1} R') M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.instZeroMulOpposite.{u1} R' (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.instMonoidWithZeroMulOpposite.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.instSemiringMulOpposite.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14))))], Eq.{max (succ u1) (succ u2)} (forall (ᾰ : R'), (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R') => TrivSqZeroExt.{u1, u2} R' M) ᾰ) (FunLike.coe.{max (succ u1) (succ u2), succ u1, max (succ u1) (succ u2)} (RingHom.{u1, max u2 u1} R' (TrivSqZeroExt.{u1, u2} R' M) (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (Semiring.toNonAssocSemiring.{max u2 u1} (TrivSqZeroExt.{u1, u2} R' M) (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u1, u1, u2} R' _inst_3 (MulOpposite.{u1} R') (MulOpposite.instSemiringMulOpposite.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeInstSemiringMulOpposite.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u1, u1, u2} R' R' M (SMulZeroClass.toSMul.{u1, u2} R' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) (SMulZeroClass.toSMul.{u1, u2} R' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u1, u2} (MulOpposite.{u1} R') M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MonoidWithZero.toZero.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.instSemiringMulOpposite.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.instSemiringMulOpposite.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.instSemiringMulOpposite.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))))))) R' (fun (_x : R') => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R') => TrivSqZeroExt.{u1, u2} R' M) _x) (MulHomClass.toFunLike.{max u1 u2, u1, max u1 u2} (RingHom.{u1, max u2 u1} R' (TrivSqZeroExt.{u1, u2} R' M) (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (Semiring.toNonAssocSemiring.{max u2 u1} (TrivSqZeroExt.{u1, u2} R' M) (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u1, u1, u2} R' _inst_3 (MulOpposite.{u1} R') (MulOpposite.instSemiringMulOpposite.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeInstSemiringMulOpposite.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u1, u1, u2} R' R' M (SMulZeroClass.toSMul.{u1, u2} R' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) (SMulZeroClass.toSMul.{u1, u2} R' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u1, u2} (MulOpposite.{u1} R') M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MonoidWithZero.toZero.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.instSemiringMulOpposite.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.instSemiringMulOpposite.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.instSemiringMulOpposite.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))))))) R' (TrivSqZeroExt.{u1, u2} R' M) (NonUnitalNonAssocSemiring.toMul.{u1} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))) (NonUnitalNonAssocSemiring.toMul.{max u1 u2} (TrivSqZeroExt.{u1, u2} R' M) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (TrivSqZeroExt.{u1, u2} R' M) (Semiring.toNonAssocSemiring.{max u2 u1} (TrivSqZeroExt.{u1, u2} R' M) (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u1, u1, u2} R' _inst_3 (MulOpposite.{u1} R') (MulOpposite.instSemiringMulOpposite.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeInstSemiringMulOpposite.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u1, u1, u2} R' R' M (SMulZeroClass.toSMul.{u1, u2} R' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) (SMulZeroClass.toSMul.{u1, u2} R' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u1, u2} (MulOpposite.{u1} R') M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MonoidWithZero.toZero.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.instSemiringMulOpposite.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.instSemiringMulOpposite.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.instSemiringMulOpposite.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13))))))))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, u1, max u1 u2} (RingHom.{u1, max u2 u1} R' (TrivSqZeroExt.{u1, u2} R' M) (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (Semiring.toNonAssocSemiring.{max u2 u1} (TrivSqZeroExt.{u1, u2} R' M) (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u1, u1, u2} R' _inst_3 (MulOpposite.{u1} R') (MulOpposite.instSemiringMulOpposite.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeInstSemiringMulOpposite.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u1, u1, u2} R' R' M (SMulZeroClass.toSMul.{u1, u2} R' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) (SMulZeroClass.toSMul.{u1, u2} R' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u1, u2} (MulOpposite.{u1} R') M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MonoidWithZero.toZero.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.instSemiringMulOpposite.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.instSemiringMulOpposite.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.instSemiringMulOpposite.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))))))) R' (TrivSqZeroExt.{u1, u2} R' M) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (TrivSqZeroExt.{u1, u2} R' M) (Semiring.toNonAssocSemiring.{max u2 u1} (TrivSqZeroExt.{u1, u2} R' M) (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u1, u1, u2} R' _inst_3 (MulOpposite.{u1} R') (MulOpposite.instSemiringMulOpposite.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeInstSemiringMulOpposite.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u1, u1, u2} R' R' M (SMulZeroClass.toSMul.{u1, u2} R' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) (SMulZeroClass.toSMul.{u1, u2} R' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u1, u2} (MulOpposite.{u1} R') M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MonoidWithZero.toZero.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.instSemiringMulOpposite.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.instSemiringMulOpposite.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.instSemiringMulOpposite.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))))))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, u1, max u1 u2} (RingHom.{u1, max u2 u1} R' (TrivSqZeroExt.{u1, u2} R' M) (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (Semiring.toNonAssocSemiring.{max u2 u1} (TrivSqZeroExt.{u1, u2} R' M) (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u1, u1, u2} R' _inst_3 (MulOpposite.{u1} R') (MulOpposite.instSemiringMulOpposite.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeInstSemiringMulOpposite.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u1, u1, u2} R' R' M (SMulZeroClass.toSMul.{u1, u2} R' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) (SMulZeroClass.toSMul.{u1, u2} R' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u1, u2} (MulOpposite.{u1} R') M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MonoidWithZero.toZero.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.instSemiringMulOpposite.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.instSemiringMulOpposite.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.instSemiringMulOpposite.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))))))) R' (TrivSqZeroExt.{u1, u2} R' M) (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (Semiring.toNonAssocSemiring.{max u2 u1} (TrivSqZeroExt.{u1, u2} R' M) (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u1, u1, u2} R' _inst_3 (MulOpposite.{u1} R') (MulOpposite.instSemiringMulOpposite.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeInstSemiringMulOpposite.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u1, u1, u2} R' R' M (SMulZeroClass.toSMul.{u1, u2} R' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) (SMulZeroClass.toSMul.{u1, u2} R' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u1, u2} (MulOpposite.{u1} R') M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MonoidWithZero.toZero.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.instSemiringMulOpposite.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.instSemiringMulOpposite.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.instSemiringMulOpposite.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13))))))) (RingHom.instRingHomClassRingHom.{u1, max u1 u2} R' (TrivSqZeroExt.{u1, u2} R' M) (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (Semiring.toNonAssocSemiring.{max u2 u1} (TrivSqZeroExt.{u1, u2} R' M) (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u1, u1, u2} R' _inst_3 (MulOpposite.{u1} R') (MulOpposite.instSemiringMulOpposite.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeInstSemiringMulOpposite.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u1, u1, u2} R' R' M (SMulZeroClass.toSMul.{u1, u2} R' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) (SMulZeroClass.toSMul.{u1, u2} R' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u1, u2} (MulOpposite.{u1} R') M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MonoidWithZero.toZero.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.instSemiringMulOpposite.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.instSemiringMulOpposite.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.instSemiringMulOpposite.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13))))))))))) (algebraMap.{u1, max u2 u1} R' (TrivSqZeroExt.{u1, u2} R' M) _inst_3 (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u1, u1, u2} R' _inst_3 (MulOpposite.{u1} R') (MulOpposite.instSemiringMulOpposite.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeInstSemiringMulOpposite.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u1, u1, u2} R' R' M (SMulZeroClass.toSMul.{u1, u2} R' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) (SMulZeroClass.toSMul.{u1, u2} R' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u1, u2} (MulOpposite.{u1} R') M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MonoidWithZero.toZero.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.instSemiringMulOpposite.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.instSemiringMulOpposite.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.instSemiringMulOpposite.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))))) (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeInstSemiringMulOppositeInstAlgebraMulOppositeInstSemiringMulOppositeIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u1, u2} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15))) (TrivSqZeroExt.inl.{u1, u2} R' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)))
+  forall (R' : Type.{u1}) (M : Type.{u2}) [_inst_3 : CommSemiring.{u1} R'] [_inst_4 : AddCommMonoid.{u2} M] [_inst_13 : Module.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4] [_inst_14 : Module.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4] [_inst_15 : IsCentralScalar.{u1, u2} R' M (SMulZeroClass.toSMul.{u1, u2} R' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u1, u2} (MulOpposite.{u1} R') M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.zero.{u1} R' (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.monoidWithZero.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14))))], Eq.{max (succ u1) (succ u2)} (forall (ᾰ : R'), (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R') => TrivSqZeroExt.{u1, u2} R' M) ᾰ) (FunLike.coe.{max (succ u1) (succ u2), succ u1, max (succ u1) (succ u2)} (RingHom.{u1, max u2 u1} R' (TrivSqZeroExt.{u1, u2} R' M) (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (Semiring.toNonAssocSemiring.{max u2 u1} (TrivSqZeroExt.{u1, u2} R' M) (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u1, u1, u2} R' _inst_3 (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u1, u1, u2} R' R' M (SMulZeroClass.toSMul.{u1, u2} R' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) (SMulZeroClass.toSMul.{u1, u2} R' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u1, u2} (MulOpposite.{u1} R') M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MonoidWithZero.toZero.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))))))) R' (fun (_x : R') => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R') => TrivSqZeroExt.{u1, u2} R' M) _x) (MulHomClass.toFunLike.{max u1 u2, u1, max u1 u2} (RingHom.{u1, max u2 u1} R' (TrivSqZeroExt.{u1, u2} R' M) (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (Semiring.toNonAssocSemiring.{max u2 u1} (TrivSqZeroExt.{u1, u2} R' M) (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u1, u1, u2} R' _inst_3 (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u1, u1, u2} R' R' M (SMulZeroClass.toSMul.{u1, u2} R' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) (SMulZeroClass.toSMul.{u1, u2} R' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u1, u2} (MulOpposite.{u1} R') M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MonoidWithZero.toZero.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))))))) R' (TrivSqZeroExt.{u1, u2} R' M) (NonUnitalNonAssocSemiring.toMul.{u1} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))) (NonUnitalNonAssocSemiring.toMul.{max u1 u2} (TrivSqZeroExt.{u1, u2} R' M) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (TrivSqZeroExt.{u1, u2} R' M) (Semiring.toNonAssocSemiring.{max u2 u1} (TrivSqZeroExt.{u1, u2} R' M) (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u1, u1, u2} R' _inst_3 (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u1, u1, u2} R' R' M (SMulZeroClass.toSMul.{u1, u2} R' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) (SMulZeroClass.toSMul.{u1, u2} R' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u1, u2} (MulOpposite.{u1} R') M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MonoidWithZero.toZero.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13))))))))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, u1, max u1 u2} (RingHom.{u1, max u2 u1} R' (TrivSqZeroExt.{u1, u2} R' M) (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (Semiring.toNonAssocSemiring.{max u2 u1} (TrivSqZeroExt.{u1, u2} R' M) (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u1, u1, u2} R' _inst_3 (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u1, u1, u2} R' R' M (SMulZeroClass.toSMul.{u1, u2} R' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) (SMulZeroClass.toSMul.{u1, u2} R' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u1, u2} (MulOpposite.{u1} R') M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MonoidWithZero.toZero.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))))))) R' (TrivSqZeroExt.{u1, u2} R' M) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (TrivSqZeroExt.{u1, u2} R' M) (Semiring.toNonAssocSemiring.{max u2 u1} (TrivSqZeroExt.{u1, u2} R' M) (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u1, u1, u2} R' _inst_3 (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u1, u1, u2} R' R' M (SMulZeroClass.toSMul.{u1, u2} R' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) (SMulZeroClass.toSMul.{u1, u2} R' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u1, u2} (MulOpposite.{u1} R') M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MonoidWithZero.toZero.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))))))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, u1, max u1 u2} (RingHom.{u1, max u2 u1} R' (TrivSqZeroExt.{u1, u2} R' M) (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (Semiring.toNonAssocSemiring.{max u2 u1} (TrivSqZeroExt.{u1, u2} R' M) (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u1, u1, u2} R' _inst_3 (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u1, u1, u2} R' R' M (SMulZeroClass.toSMul.{u1, u2} R' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) (SMulZeroClass.toSMul.{u1, u2} R' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u1, u2} (MulOpposite.{u1} R') M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MonoidWithZero.toZero.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))))))) R' (TrivSqZeroExt.{u1, u2} R' M) (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (Semiring.toNonAssocSemiring.{max u2 u1} (TrivSqZeroExt.{u1, u2} R' M) (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u1, u1, u2} R' _inst_3 (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u1, u1, u2} R' R' M (SMulZeroClass.toSMul.{u1, u2} R' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) (SMulZeroClass.toSMul.{u1, u2} R' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u1, u2} (MulOpposite.{u1} R') M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MonoidWithZero.toZero.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13))))))) (RingHom.instRingHomClassRingHom.{u1, max u1 u2} R' (TrivSqZeroExt.{u1, u2} R' M) (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (Semiring.toNonAssocSemiring.{max u2 u1} (TrivSqZeroExt.{u1, u2} R' M) (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u1, u1, u2} R' _inst_3 (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u1, u1, u2} R' R' M (SMulZeroClass.toSMul.{u1, u2} R' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) (SMulZeroClass.toSMul.{u1, u2} R' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u1, u2} (MulOpposite.{u1} R') M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MonoidWithZero.toZero.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13))))))))))) (algebraMap.{u1, max u2 u1} R' (TrivSqZeroExt.{u1, u2} R' M) _inst_3 (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u1, u1, u2} R' _inst_3 (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u1, u1, u2} R' R' M (SMulZeroClass.toSMul.{u1, u2} R' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) (SMulZeroClass.toSMul.{u1, u2} R' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u1, u2} (MulOpposite.{u1} R') M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MonoidWithZero.toZero.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))))) (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeSemiringInstAlgebraMulOppositeSemiringIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u1, u2} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15))) (TrivSqZeroExt.inl.{u1, u2} R' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)))
 Case conversion may be inaccurate. Consider using '#align triv_sq_zero_ext.algebra_map_eq_inl TrivSqZeroExt.algebraMap_eq_inlₓ'. -/
 theorem algebraMap_eq_inl : ⇑(algebraMap R' (tsze R' M)) = inl :=
   rfl
 #align triv_sq_zero_ext.algebra_map_eq_inl TrivSqZeroExt.algebraMap_eq_inl
 
-/- warning: triv_sq_zero_ext.algebra_map_eq_inl_hom -> TrivSqZeroExt.algebraMap_eq_inlHom is a dubious translation:
-lean 3 declaration is
-  forall (R' : Type.{u1}) (M : Type.{u2}) [_inst_3 : CommSemiring.{u1} R'] [_inst_4 : AddCommMonoid.{u2} M] [_inst_13 : Module.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4] [_inst_14 : Module.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4] [_inst_15 : IsCentralScalar.{u1, u2} R' M (SMulZeroClass.toHasSmul.{u1, u2} R' M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} R' M (MulZeroClass.toHasZero.{u1} R' (MulZeroOneClass.toMulZeroClass.{u1} R' (MonoidWithZero.toMulZeroOneClass.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toHasSmul.{u1, u2} (MulOpposite.{u1} R') M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MulZeroClass.toHasZero.{u1} (MulOpposite.{u1} R') (MulZeroOneClass.toMulZeroClass.{u1} (MulOpposite.{u1} R') (MonoidWithZero.toMulZeroOneClass.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14))))], Eq.{max (succ u1) (succ (max u1 u2))} (RingHom.{u1, max u1 u2} R' (TrivSqZeroExt.{u1, u2} R' M) (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (Semiring.toNonAssocSemiring.{max u1 u2} (TrivSqZeroExt.{u1, u2} R' M) (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u1, u1, u2} R' _inst_3 (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (MulOpposite.algebra.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u1, u1, u2} R' R' M (SMulZeroClass.toHasSmul.{u1, u2} R' M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} R' M (MulZeroClass.toHasZero.{u1} R' (MulZeroOneClass.toMulZeroClass.{u1} R' (MonoidWithZero.toMulZeroOneClass.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (Mul.toSMul.{u1} R' (Distrib.toHasMul.{u1} R' (NonUnitalNonAssocSemiring.toDistrib.{u1} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (MulAction.toHasSmul.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13))) (SMulZeroClass.toHasSmul.{u1, u2} (MulOpposite.{u1} R') M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MulZeroClass.toHasZero.{u1} (MulOpposite.{u1} R') (MulZeroOneClass.toMulZeroClass.{u1} (MulOpposite.{u1} R') (MonoidWithZero.toMulZeroOneClass.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))))))) (algebraMap.{u1, max u1 u2} R' (TrivSqZeroExt.{u1, u2} R' M) _inst_3 (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u1, u1, u2} R' _inst_3 (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (MulOpposite.algebra.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u1, u1, u2} R' R' M (SMulZeroClass.toHasSmul.{u1, u2} R' M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} R' M (MulZeroClass.toHasZero.{u1} R' (MulZeroOneClass.toMulZeroClass.{u1} R' (MonoidWithZero.toMulZeroOneClass.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (Mul.toSMul.{u1} R' (Distrib.toHasMul.{u1} R' (NonUnitalNonAssocSemiring.toDistrib.{u1} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (MulAction.toHasSmul.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13))) (SMulZeroClass.toHasSmul.{u1, u2} (MulOpposite.{u1} R') M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MulZeroClass.toHasZero.{u1} (MulOpposite.{u1} R') (MulZeroOneClass.toMulZeroClass.{u1} (MulOpposite.{u1} R') (MonoidWithZero.toMulZeroOneClass.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))))) (TrivSqZeroExt.algebra.{u1, u2} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15)) (TrivSqZeroExt.inlHom.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14)
-but is expected to have type
-  forall (R' : Type.{u1}) (M : Type.{u2}) [_inst_3 : CommSemiring.{u1} R'] [_inst_4 : AddCommMonoid.{u2} M] [_inst_13 : Module.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4] [_inst_14 : Module.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.instSemiringMulOpposite.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4] [_inst_15 : IsCentralScalar.{u1, u2} R' M (SMulZeroClass.toSMul.{u1, u2} R' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u1, u2} (MulOpposite.{u1} R') M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.instZeroMulOpposite.{u1} R' (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.instMonoidWithZeroMulOpposite.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.instSemiringMulOpposite.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14))))], Eq.{max (succ u1) (succ u2)} (RingHom.{u1, max u2 u1} R' (TrivSqZeroExt.{u1, u2} R' M) (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (Semiring.toNonAssocSemiring.{max u2 u1} (TrivSqZeroExt.{u1, u2} R' M) (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u1, u1, u2} R' _inst_3 (MulOpposite.{u1} R') (MulOpposite.instSemiringMulOpposite.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeInstSemiringMulOpposite.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u1, u1, u2} R' R' M (SMulZeroClass.toSMul.{u1, u2} R' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) (SMulZeroClass.toSMul.{u1, u2} R' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u1, u2} (MulOpposite.{u1} R') M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MonoidWithZero.toZero.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.instSemiringMulOpposite.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.instSemiringMulOpposite.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.instSemiringMulOpposite.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))))))) (algebraMap.{u1, max u2 u1} R' (TrivSqZeroExt.{u1, u2} R' M) _inst_3 (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u1, u1, u2} R' _inst_3 (MulOpposite.{u1} R') (MulOpposite.instSemiringMulOpposite.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeInstSemiringMulOpposite.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u1, u1, u2} R' R' M (SMulZeroClass.toSMul.{u1, u2} R' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) (SMulZeroClass.toSMul.{u1, u2} R' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u1, u2} (MulOpposite.{u1} R') M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MonoidWithZero.toZero.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.instSemiringMulOpposite.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.instSemiringMulOpposite.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.instSemiringMulOpposite.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))))) (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeInstSemiringMulOppositeInstAlgebraMulOppositeInstSemiringMulOppositeIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u1, u2} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15)) (TrivSqZeroExt.inlHom.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14)
-Case conversion may be inaccurate. Consider using '#align triv_sq_zero_ext.algebra_map_eq_inl_hom TrivSqZeroExt.algebraMap_eq_inlHomₓ'. -/
+#print TrivSqZeroExt.algebraMap_eq_inlHom /-
 theorem algebraMap_eq_inlHom : algebraMap R' (tsze R' M) = inlHom R' M :=
   rfl
 #align triv_sq_zero_ext.algebra_map_eq_inl_hom TrivSqZeroExt.algebraMap_eq_inlHom
+-/
 
 /- warning: triv_sq_zero_ext.algebra_map_eq_inl' -> TrivSqZeroExt.algebraMap_eq_inl' is a dubious translation:
 lean 3 declaration is
   forall (S : Type.{u3}) (R : Type.{u1}) (M : Type.{u2}) [_inst_1 : CommSemiring.{u3} S] [_inst_2 : Semiring.{u1} R] [_inst_4 : AddCommMonoid.{u2} M] [_inst_5 : Algebra.{u3, u1} S R _inst_1 _inst_2] [_inst_7 : Module.{u3, u2} S M (CommSemiring.toSemiring.{u3} S _inst_1) _inst_4] [_inst_8 : Module.{u1, u2} R M _inst_2 _inst_4] [_inst_9 : Module.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.semiring.{u1} R _inst_2) _inst_4] [_inst_10 : SMulCommClass.{u1, u1, u2} R (MulOpposite.{u1} R) M (SMulZeroClass.toHasSmul.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} R M (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_2)))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R _inst_2) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R M _inst_2 _inst_4 _inst_8)))) (SMulZeroClass.toHasSmul.{u1, u2} (MulOpposite.{u1} R) M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} (MulOpposite.{u1} R) M (MulZeroClass.toHasZero.{u1} (MulOpposite.{u1} R) (MulZeroOneClass.toMulZeroClass.{u1} (MulOpposite.{u1} R) (MonoidWithZero.toMulZeroOneClass.{u1} (MulOpposite.{u1} R) (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_2))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R) M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_2)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.semiring.{u1} R _inst_2) _inst_4 _inst_9))))] [_inst_11 : IsScalarTower.{u3, u1, u2} S R M (SMulZeroClass.toHasSmul.{u3, u1} S R (AddZeroClass.toHasZero.{u1} R (AddMonoid.toAddZeroClass.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)))))) (SMulWithZero.toSmulZeroClass.{u3, u1} S R (MulZeroClass.toHasZero.{u3} S (MulZeroOneClass.toMulZeroClass.{u3} S (MonoidWithZero.toMulZeroOneClass.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S _inst_1))))) (AddZeroClass.toHasZero.{u1} R (AddMonoid.toAddZeroClass.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)))))) (MulActionWithZero.toSMulWithZero.{u3, u1} S R (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S _inst_1)) (AddZeroClass.toHasZero.{u1} R (AddMonoid.toAddZeroClass.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)))))) (Module.toMulActionWithZero.{u3, u1} S R (CommSemiring.toSemiring.{u3} S _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Algebra.toModule.{u3, u1} S R _inst_1 _inst_2 _inst_5))))) (SMulZeroClass.toHasSmul.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} R M (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_2)))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R _inst_2) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R M _inst_2 _inst_4 _inst_8)))) (SMulZeroClass.toHasSmul.{u3, u2} S M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u3, u2} S M (MulZeroClass.toHasZero.{u3} S (MulZeroOneClass.toMulZeroClass.{u3} S (MonoidWithZero.toMulZeroOneClass.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S _inst_1))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u3, u2} S M (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S _inst_1)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u3, u2} S M (CommSemiring.toSemiring.{u3} S _inst_1) _inst_4 _inst_7))))] [_inst_12 : IsScalarTower.{u3, u1, u2} S (MulOpposite.{u1} R) M (MulOpposite.hasSmul.{u1, u3} R S (SMulZeroClass.toHasSmul.{u3, u1} S R (AddZeroClass.toHasZero.{u1} R (AddMonoid.toAddZeroClass.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)))))) (SMulWithZero.toSmulZeroClass.{u3, u1} S R (MulZeroClass.toHasZero.{u3} S (MulZeroOneClass.toMulZeroClass.{u3} S (MonoidWithZero.toMulZeroOneClass.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S _inst_1))))) (AddZeroClass.toHasZero.{u1} R (AddMonoid.toAddZeroClass.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)))))) (MulActionWithZero.toSMulWithZero.{u3, u1} S R (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S _inst_1)) (AddZeroClass.toHasZero.{u1} R (AddMonoid.toAddZeroClass.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)))))) (Module.toMulActionWithZero.{u3, u1} S R (CommSemiring.toSemiring.{u3} S _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Algebra.toModule.{u3, u1} S R _inst_1 _inst_2 _inst_5)))))) (SMulZeroClass.toHasSmul.{u1, u2} (MulOpposite.{u1} R) M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} (MulOpposite.{u1} R) M (MulZeroClass.toHasZero.{u1} (MulOpposite.{u1} R) (MulZeroOneClass.toMulZeroClass.{u1} (MulOpposite.{u1} R) (MonoidWithZero.toMulZeroOneClass.{u1} (MulOpposite.{u1} R) (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_2))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R) M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_2)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.semiring.{u1} R _inst_2) _inst_4 _inst_9)))) (SMulZeroClass.toHasSmul.{u3, u2} S M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u3, u2} S M (MulZeroClass.toHasZero.{u3} S (MulZeroOneClass.toMulZeroClass.{u3} S (MonoidWithZero.toMulZeroOneClass.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S _inst_1))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u3, u2} S M (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S _inst_1)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u3, u2} S M (CommSemiring.toSemiring.{u3} S _inst_1) _inst_4 _inst_7))))] (s : S), Eq.{max (succ u1) (succ u2)} (TrivSqZeroExt.{u1, u2} R M) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ u3) (succ (max u1 u2))} (RingHom.{u3, max u1 u2} S (TrivSqZeroExt.{u1, u2} R M) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_1)) (Semiring.toNonAssocSemiring.{max u1 u2} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.semiring.{u1, u2} R M _inst_2 _inst_4 _inst_8 _inst_9 _inst_10))) (fun (_x : RingHom.{u3, max u1 u2} S (TrivSqZeroExt.{u1, u2} R M) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_1)) (Semiring.toNonAssocSemiring.{max u1 u2} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.semiring.{u1, u2} R M _inst_2 _inst_4 _inst_8 _inst_9 _inst_10))) => S -> (TrivSqZeroExt.{u1, u2} R M)) (RingHom.hasCoeToFun.{u3, max u1 u2} S (TrivSqZeroExt.{u1, u2} R M) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_1)) (Semiring.toNonAssocSemiring.{max u1 u2} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.semiring.{u1, u2} R M _inst_2 _inst_4 _inst_8 _inst_9 _inst_10))) (algebraMap.{u3, max u1 u2} S (TrivSqZeroExt.{u1, u2} R M) _inst_1 (TrivSqZeroExt.semiring.{u1, u2} R M _inst_2 _inst_4 _inst_8 _inst_9 _inst_10) (TrivSqZeroExt.algebra'.{u1, u2, u3} S R M _inst_1 _inst_2 _inst_4 _inst_5 _inst_7 _inst_8 _inst_9 _inst_10 _inst_11 _inst_12)) s) (TrivSqZeroExt.inl.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (coeFn.{max (succ u3) (succ u1), max (succ u3) (succ u1)} (RingHom.{u3, u1} S R (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_1)) (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (fun (_x : RingHom.{u3, u1} S R (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_1)) (Semiring.toNonAssocSemiring.{u1} R _inst_2)) => S -> R) (RingHom.hasCoeToFun.{u3, u1} S R (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_1)) (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (algebraMap.{u3, u1} S R _inst_1 _inst_2 _inst_5) s))
 but is expected to have type
-  forall (S : Type.{u1}) (R : Type.{u2}) (M : Type.{u3}) [_inst_1 : CommSemiring.{u1} S] [_inst_2 : Semiring.{u2} R] [_inst_4 : AddCommMonoid.{u3} M] [_inst_5 : Algebra.{u1, u2} S R _inst_1 _inst_2] [_inst_7 : Module.{u1, u3} S M (CommSemiring.toSemiring.{u1} S _inst_1) _inst_4] [_inst_8 : Module.{u2, u3} R M _inst_2 _inst_4] [_inst_9 : Module.{u2, u3} (MulOpposite.{u2} R) M (MulOpposite.instSemiringMulOpposite.{u2} R _inst_2) _inst_4] [_inst_10 : SMulCommClass.{u2, u2, u3} R (MulOpposite.{u2} R) M (SMulZeroClass.toSMul.{u2, u3} R M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R M (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_2)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R M (Semiring.toMonoidWithZero.{u2} R _inst_2) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R M _inst_2 _inst_4 _inst_8)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R) M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R) M (MulOpposite.instZeroMulOpposite.{u2} R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_2))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R) M (MulOpposite.instMonoidWithZeroMulOpposite.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_2)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R) M (MulOpposite.instSemiringMulOpposite.{u2} R _inst_2) _inst_4 _inst_9))))] [_inst_11 : IsScalarTower.{u1, u2, u3} S R M (Algebra.toSMul.{u1, u2} S R _inst_1 _inst_2 _inst_5) (SMulZeroClass.toSMul.{u2, u3} R M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R M (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_2)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R M (Semiring.toMonoidWithZero.{u2} R _inst_2) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R M _inst_2 _inst_4 _inst_8)))) (SMulZeroClass.toSMul.{u1, u3} S M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u3} S M (CommMonoidWithZero.toZero.{u1} S (CommSemiring.toCommMonoidWithZero.{u1} S _inst_1)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u3} S M (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_1)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u1, u3} S M (CommSemiring.toSemiring.{u1} S _inst_1) _inst_4 _inst_7))))] [_inst_12 : IsScalarTower.{u1, u2, u3} S (MulOpposite.{u2} R) M (MulOpposite.instSMulMulOpposite.{u2, u1} R S (Algebra.toSMul.{u1, u2} S R _inst_1 _inst_2 _inst_5)) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R) M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R) M (MulOpposite.instZeroMulOpposite.{u2} R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_2))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R) M (MulOpposite.instMonoidWithZeroMulOpposite.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_2)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R) M (MulOpposite.instSemiringMulOpposite.{u2} R _inst_2) _inst_4 _inst_9)))) (SMulZeroClass.toSMul.{u1, u3} S M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u3} S M (CommMonoidWithZero.toZero.{u1} S (CommSemiring.toCommMonoidWithZero.{u1} S _inst_1)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u3} S M (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_1)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u1, u3} S M (CommSemiring.toSemiring.{u1} S _inst_1) _inst_4 _inst_7))))] (s : S), Eq.{max (succ u2) (succ u3)} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : S) => TrivSqZeroExt.{u2, u3} R M) s) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), succ u1, max (succ u2) (succ u3)} (RingHom.{u1, max u3 u2} S (TrivSqZeroExt.{u2, u3} R M) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_1)) (Semiring.toNonAssocSemiring.{max u3 u2} (TrivSqZeroExt.{u2, u3} R M) (TrivSqZeroExt.semiring.{u2, u3} R M _inst_2 _inst_4 _inst_8 _inst_9 _inst_10))) S (fun (_x : S) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : S) => TrivSqZeroExt.{u2, u3} R M) _x) (MulHomClass.toFunLike.{max (max u2 u3) u1, u1, max u2 u3} (RingHom.{u1, max u3 u2} S (TrivSqZeroExt.{u2, u3} R M) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_1)) (Semiring.toNonAssocSemiring.{max u3 u2} (TrivSqZeroExt.{u2, u3} R M) (TrivSqZeroExt.semiring.{u2, u3} R M _inst_2 _inst_4 _inst_8 _inst_9 _inst_10))) S (TrivSqZeroExt.{u2, u3} R M) (NonUnitalNonAssocSemiring.toMul.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{max u2 u3} (TrivSqZeroExt.{u2, u3} R M) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R M) (Semiring.toNonAssocSemiring.{max u3 u2} (TrivSqZeroExt.{u2, u3} R M) (TrivSqZeroExt.semiring.{u2, u3} R M _inst_2 _inst_4 _inst_8 _inst_9 _inst_10)))) (NonUnitalRingHomClass.toMulHomClass.{max (max u2 u3) u1, u1, max u2 u3} (RingHom.{u1, max u3 u2} S (TrivSqZeroExt.{u2, u3} R M) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_1)) (Semiring.toNonAssocSemiring.{max u3 u2} (TrivSqZeroExt.{u2, u3} R M) (TrivSqZeroExt.semiring.{u2, u3} R M _inst_2 _inst_4 _inst_8 _inst_9 _inst_10))) S (TrivSqZeroExt.{u2, u3} R M) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R M) (Semiring.toNonAssocSemiring.{max u3 u2} (TrivSqZeroExt.{u2, u3} R M) (TrivSqZeroExt.semiring.{u2, u3} R M _inst_2 _inst_4 _inst_8 _inst_9 _inst_10))) (RingHomClass.toNonUnitalRingHomClass.{max (max u2 u3) u1, u1, max u2 u3} (RingHom.{u1, max u3 u2} S (TrivSqZeroExt.{u2, u3} R M) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_1)) (Semiring.toNonAssocSemiring.{max u3 u2} (TrivSqZeroExt.{u2, u3} R M) (TrivSqZeroExt.semiring.{u2, u3} R M _inst_2 _inst_4 _inst_8 _inst_9 _inst_10))) S (TrivSqZeroExt.{u2, u3} R M) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_1)) (Semiring.toNonAssocSemiring.{max u3 u2} (TrivSqZeroExt.{u2, u3} R M) (TrivSqZeroExt.semiring.{u2, u3} R M _inst_2 _inst_4 _inst_8 _inst_9 _inst_10)) (RingHom.instRingHomClassRingHom.{u1, max u2 u3} S (TrivSqZeroExt.{u2, u3} R M) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_1)) (Semiring.toNonAssocSemiring.{max u3 u2} (TrivSqZeroExt.{u2, u3} R M) (TrivSqZeroExt.semiring.{u2, u3} R M _inst_2 _inst_4 _inst_8 _inst_9 _inst_10)))))) (algebraMap.{u1, max u3 u2} S (TrivSqZeroExt.{u2, u3} R M) _inst_1 (TrivSqZeroExt.semiring.{u2, u3} R M _inst_2 _inst_4 _inst_8 _inst_9 _inst_10) (TrivSqZeroExt.algebra'.{u2, u3, u1} S R M _inst_1 _inst_2 _inst_4 _inst_5 _inst_7 _inst_8 _inst_9 _inst_10 _inst_11 _inst_12)) s) (TrivSqZeroExt.inl.{u2, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : S) => R) s) M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (RingHom.{u1, u2} S R (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_1)) (Semiring.toNonAssocSemiring.{u2} R _inst_2)) S (fun (_x : S) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : S) => R) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (RingHom.{u1, u2} S R (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_1)) (Semiring.toNonAssocSemiring.{u2} R _inst_2)) S R (NonUnitalNonAssocSemiring.toMul.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u1, u1, u2} (RingHom.{u1, u2} S R (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_1)) (Semiring.toNonAssocSemiring.{u2} R _inst_2)) S R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{max u2 u1, u1, u2} (RingHom.{u1, u2} S R (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_1)) (Semiring.toNonAssocSemiring.{u2} R _inst_2)) S R (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_1)) (Semiring.toNonAssocSemiring.{u2} R _inst_2) (RingHom.instRingHomClassRingHom.{u1, u2} S R (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_1)) (Semiring.toNonAssocSemiring.{u2} R _inst_2))))) (algebraMap.{u1, u2} S R _inst_1 _inst_2 _inst_5) s))
+  forall (S : Type.{u1}) (R : Type.{u2}) (M : Type.{u3}) [_inst_1 : CommSemiring.{u1} S] [_inst_2 : Semiring.{u2} R] [_inst_4 : AddCommMonoid.{u3} M] [_inst_5 : Algebra.{u1, u2} S R _inst_1 _inst_2] [_inst_7 : Module.{u1, u3} S M (CommSemiring.toSemiring.{u1} S _inst_1) _inst_4] [_inst_8 : Module.{u2, u3} R M _inst_2 _inst_4] [_inst_9 : Module.{u2, u3} (MulOpposite.{u2} R) M (MulOpposite.semiring.{u2} R _inst_2) _inst_4] [_inst_10 : SMulCommClass.{u2, u2, u3} R (MulOpposite.{u2} R) M (SMulZeroClass.toSMul.{u2, u3} R M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R M (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_2)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R M (Semiring.toMonoidWithZero.{u2} R _inst_2) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R M _inst_2 _inst_4 _inst_8)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R) M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R) M (MulOpposite.zero.{u2} R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_2))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R) M (MulOpposite.monoidWithZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_2)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R) M (MulOpposite.semiring.{u2} R _inst_2) _inst_4 _inst_9))))] [_inst_11 : IsScalarTower.{u1, u2, u3} S R M (Algebra.toSMul.{u1, u2} S R _inst_1 _inst_2 _inst_5) (SMulZeroClass.toSMul.{u2, u3} R M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R M (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_2)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R M (Semiring.toMonoidWithZero.{u2} R _inst_2) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R M _inst_2 _inst_4 _inst_8)))) (SMulZeroClass.toSMul.{u1, u3} S M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u3} S M (CommMonoidWithZero.toZero.{u1} S (CommSemiring.toCommMonoidWithZero.{u1} S _inst_1)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u3} S M (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_1)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u1, u3} S M (CommSemiring.toSemiring.{u1} S _inst_1) _inst_4 _inst_7))))] [_inst_12 : IsScalarTower.{u1, u2, u3} S (MulOpposite.{u2} R) M (MulOpposite.smul.{u2, u1} R S (Algebra.toSMul.{u1, u2} S R _inst_1 _inst_2 _inst_5)) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R) M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R) M (MulOpposite.zero.{u2} R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_2))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R) M (MulOpposite.monoidWithZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_2)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R) M (MulOpposite.semiring.{u2} R _inst_2) _inst_4 _inst_9)))) (SMulZeroClass.toSMul.{u1, u3} S M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u3} S M (CommMonoidWithZero.toZero.{u1} S (CommSemiring.toCommMonoidWithZero.{u1} S _inst_1)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u3} S M (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_1)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u1, u3} S M (CommSemiring.toSemiring.{u1} S _inst_1) _inst_4 _inst_7))))] (s : S), Eq.{max (succ u2) (succ u3)} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : S) => TrivSqZeroExt.{u2, u3} R M) s) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), succ u1, max (succ u2) (succ u3)} (RingHom.{u1, max u3 u2} S (TrivSqZeroExt.{u2, u3} R M) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_1)) (Semiring.toNonAssocSemiring.{max u3 u2} (TrivSqZeroExt.{u2, u3} R M) (TrivSqZeroExt.semiring.{u2, u3} R M _inst_2 _inst_4 _inst_8 _inst_9 _inst_10))) S (fun (_x : S) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : S) => TrivSqZeroExt.{u2, u3} R M) _x) (MulHomClass.toFunLike.{max (max u2 u3) u1, u1, max u2 u3} (RingHom.{u1, max u3 u2} S (TrivSqZeroExt.{u2, u3} R M) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_1)) (Semiring.toNonAssocSemiring.{max u3 u2} (TrivSqZeroExt.{u2, u3} R M) (TrivSqZeroExt.semiring.{u2, u3} R M _inst_2 _inst_4 _inst_8 _inst_9 _inst_10))) S (TrivSqZeroExt.{u2, u3} R M) (NonUnitalNonAssocSemiring.toMul.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{max u2 u3} (TrivSqZeroExt.{u2, u3} R M) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R M) (Semiring.toNonAssocSemiring.{max u3 u2} (TrivSqZeroExt.{u2, u3} R M) (TrivSqZeroExt.semiring.{u2, u3} R M _inst_2 _inst_4 _inst_8 _inst_9 _inst_10)))) (NonUnitalRingHomClass.toMulHomClass.{max (max u2 u3) u1, u1, max u2 u3} (RingHom.{u1, max u3 u2} S (TrivSqZeroExt.{u2, u3} R M) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_1)) (Semiring.toNonAssocSemiring.{max u3 u2} (TrivSqZeroExt.{u2, u3} R M) (TrivSqZeroExt.semiring.{u2, u3} R M _inst_2 _inst_4 _inst_8 _inst_9 _inst_10))) S (TrivSqZeroExt.{u2, u3} R M) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R M) (Semiring.toNonAssocSemiring.{max u3 u2} (TrivSqZeroExt.{u2, u3} R M) (TrivSqZeroExt.semiring.{u2, u3} R M _inst_2 _inst_4 _inst_8 _inst_9 _inst_10))) (RingHomClass.toNonUnitalRingHomClass.{max (max u2 u3) u1, u1, max u2 u3} (RingHom.{u1, max u3 u2} S (TrivSqZeroExt.{u2, u3} R M) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_1)) (Semiring.toNonAssocSemiring.{max u3 u2} (TrivSqZeroExt.{u2, u3} R M) (TrivSqZeroExt.semiring.{u2, u3} R M _inst_2 _inst_4 _inst_8 _inst_9 _inst_10))) S (TrivSqZeroExt.{u2, u3} R M) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_1)) (Semiring.toNonAssocSemiring.{max u3 u2} (TrivSqZeroExt.{u2, u3} R M) (TrivSqZeroExt.semiring.{u2, u3} R M _inst_2 _inst_4 _inst_8 _inst_9 _inst_10)) (RingHom.instRingHomClassRingHom.{u1, max u2 u3} S (TrivSqZeroExt.{u2, u3} R M) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_1)) (Semiring.toNonAssocSemiring.{max u3 u2} (TrivSqZeroExt.{u2, u3} R M) (TrivSqZeroExt.semiring.{u2, u3} R M _inst_2 _inst_4 _inst_8 _inst_9 _inst_10)))))) (algebraMap.{u1, max u3 u2} S (TrivSqZeroExt.{u2, u3} R M) _inst_1 (TrivSqZeroExt.semiring.{u2, u3} R M _inst_2 _inst_4 _inst_8 _inst_9 _inst_10) (TrivSqZeroExt.algebra'.{u2, u3, u1} S R M _inst_1 _inst_2 _inst_4 _inst_5 _inst_7 _inst_8 _inst_9 _inst_10 _inst_11 _inst_12)) s) (TrivSqZeroExt.inl.{u2, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : S) => R) s) M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (RingHom.{u1, u2} S R (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_1)) (Semiring.toNonAssocSemiring.{u2} R _inst_2)) S (fun (_x : S) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : S) => R) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (RingHom.{u1, u2} S R (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_1)) (Semiring.toNonAssocSemiring.{u2} R _inst_2)) S R (NonUnitalNonAssocSemiring.toMul.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u1, u1, u2} (RingHom.{u1, u2} S R (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_1)) (Semiring.toNonAssocSemiring.{u2} R _inst_2)) S R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{max u2 u1, u1, u2} (RingHom.{u1, u2} S R (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_1)) (Semiring.toNonAssocSemiring.{u2} R _inst_2)) S R (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_1)) (Semiring.toNonAssocSemiring.{u2} R _inst_2) (RingHom.instRingHomClassRingHom.{u1, u2} S R (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_1)) (Semiring.toNonAssocSemiring.{u2} R _inst_2))))) (algebraMap.{u1, u2} S R _inst_1 _inst_2 _inst_5) s))
 Case conversion may be inaccurate. Consider using '#align triv_sq_zero_ext.algebra_map_eq_inl' TrivSqZeroExt.algebraMap_eq_inl'ₓ'. -/
 theorem algebraMap_eq_inl' (s : S) : algebraMap S (tsze R M) s = inl (algebraMap S R s) :=
   rfl
 #align triv_sq_zero_ext.algebra_map_eq_inl' TrivSqZeroExt.algebraMap_eq_inl'
 
-/- warning: triv_sq_zero_ext.fst_hom -> TrivSqZeroExt.fstHom is a dubious translation:
-lean 3 declaration is
-  forall (S : Type.{u3}) (R : Type.{u1}) (M : Type.{u2}) [_inst_1 : CommSemiring.{u3} S] [_inst_2 : Semiring.{u1} R] [_inst_4 : AddCommMonoid.{u2} M] [_inst_5 : Algebra.{u3, u1} S R _inst_1 _inst_2] [_inst_7 : Module.{u3, u2} S M (CommSemiring.toSemiring.{u3} S _inst_1) _inst_4] [_inst_8 : Module.{u1, u2} R M _inst_2 _inst_4] [_inst_9 : Module.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.semiring.{u1} R _inst_2) _inst_4] [_inst_10 : SMulCommClass.{u1, u1, u2} R (MulOpposite.{u1} R) M (SMulZeroClass.toHasSmul.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} R M (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_2)))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R _inst_2) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R M _inst_2 _inst_4 _inst_8)))) (SMulZeroClass.toHasSmul.{u1, u2} (MulOpposite.{u1} R) M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} (MulOpposite.{u1} R) M (MulZeroClass.toHasZero.{u1} (MulOpposite.{u1} R) (MulZeroOneClass.toMulZeroClass.{u1} (MulOpposite.{u1} R) (MonoidWithZero.toMulZeroOneClass.{u1} (MulOpposite.{u1} R) (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_2))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R) M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_2)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.semiring.{u1} R _inst_2) _inst_4 _inst_9))))] [_inst_11 : IsScalarTower.{u3, u1, u2} S R M (SMulZeroClass.toHasSmul.{u3, u1} S R (AddZeroClass.toHasZero.{u1} R (AddMonoid.toAddZeroClass.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)))))) (SMulWithZero.toSmulZeroClass.{u3, u1} S R (MulZeroClass.toHasZero.{u3} S (MulZeroOneClass.toMulZeroClass.{u3} S (MonoidWithZero.toMulZeroOneClass.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S _inst_1))))) (AddZeroClass.toHasZero.{u1} R (AddMonoid.toAddZeroClass.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)))))) (MulActionWithZero.toSMulWithZero.{u3, u1} S R (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S _inst_1)) (AddZeroClass.toHasZero.{u1} R (AddMonoid.toAddZeroClass.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)))))) (Module.toMulActionWithZero.{u3, u1} S R (CommSemiring.toSemiring.{u3} S _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Algebra.toModule.{u3, u1} S R _inst_1 _inst_2 _inst_5))))) (SMulZeroClass.toHasSmul.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} R M (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_2)))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R _inst_2) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R M _inst_2 _inst_4 _inst_8)))) (SMulZeroClass.toHasSmul.{u3, u2} S M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u3, u2} S M (MulZeroClass.toHasZero.{u3} S (MulZeroOneClass.toMulZeroClass.{u3} S (MonoidWithZero.toMulZeroOneClass.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S _inst_1))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u3, u2} S M (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S _inst_1)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u3, u2} S M (CommSemiring.toSemiring.{u3} S _inst_1) _inst_4 _inst_7))))] [_inst_12 : IsScalarTower.{u3, u1, u2} S (MulOpposite.{u1} R) M (MulOpposite.hasSmul.{u1, u3} R S (SMulZeroClass.toHasSmul.{u3, u1} S R (AddZeroClass.toHasZero.{u1} R (AddMonoid.toAddZeroClass.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)))))) (SMulWithZero.toSmulZeroClass.{u3, u1} S R (MulZeroClass.toHasZero.{u3} S (MulZeroOneClass.toMulZeroClass.{u3} S (MonoidWithZero.toMulZeroOneClass.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S _inst_1))))) (AddZeroClass.toHasZero.{u1} R (AddMonoid.toAddZeroClass.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)))))) (MulActionWithZero.toSMulWithZero.{u3, u1} S R (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S _inst_1)) (AddZeroClass.toHasZero.{u1} R (AddMonoid.toAddZeroClass.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)))))) (Module.toMulActionWithZero.{u3, u1} S R (CommSemiring.toSemiring.{u3} S _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Algebra.toModule.{u3, u1} S R _inst_1 _inst_2 _inst_5)))))) (SMulZeroClass.toHasSmul.{u1, u2} (MulOpposite.{u1} R) M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} (MulOpposite.{u1} R) M (MulZeroClass.toHasZero.{u1} (MulOpposite.{u1} R) (MulZeroOneClass.toMulZeroClass.{u1} (MulOpposite.{u1} R) (MonoidWithZero.toMulZeroOneClass.{u1} (MulOpposite.{u1} R) (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_2))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R) M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_2)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.semiring.{u1} R _inst_2) _inst_4 _inst_9)))) (SMulZeroClass.toHasSmul.{u3, u2} S M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u3, u2} S M (MulZeroClass.toHasZero.{u3} S (MulZeroOneClass.toMulZeroClass.{u3} S (MonoidWithZero.toMulZeroOneClass.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S _inst_1))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u3, u2} S M (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S _inst_1)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u3, u2} S M (CommSemiring.toSemiring.{u3} S _inst_1) _inst_4 _inst_7))))], AlgHom.{u3, max u1 u2, u1} S (TrivSqZeroExt.{u1, u2} R M) R _inst_1 (TrivSqZeroExt.semiring.{u1, u2} R M _inst_2 _inst_4 _inst_8 _inst_9 _inst_10) _inst_2 (TrivSqZeroExt.algebra'.{u1, u2, u3} S R M _inst_1 _inst_2 _inst_4 _inst_5 _inst_7 _inst_8 _inst_9 _inst_10 _inst_11 _inst_12) _inst_5
-but is expected to have type
-  forall (S : Type.{u3}) (R : Type.{u1}) (M : Type.{u2}) [_inst_1 : CommSemiring.{u3} S] [_inst_2 : Semiring.{u1} R] [_inst_4 : AddCommMonoid.{u2} M] [_inst_5 : Algebra.{u3, u1} S R _inst_1 _inst_2] [_inst_7 : Module.{u3, u2} S M (CommSemiring.toSemiring.{u3} S _inst_1) _inst_4] [_inst_8 : Module.{u1, u2} R M _inst_2 _inst_4] [_inst_9 : Module.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.instSemiringMulOpposite.{u1} R _inst_2) _inst_4] [_inst_10 : SMulCommClass.{u1, u1, u2} R (MulOpposite.{u1} R) M (SMulZeroClass.toSMul.{u1, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} R M (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_2)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R _inst_2) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R M _inst_2 _inst_4 _inst_8)))) (SMulZeroClass.toSMul.{u1, u2} (MulOpposite.{u1} R) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.instZeroMulOpposite.{u1} R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_2))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.instMonoidWithZeroMulOpposite.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_2)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.instSemiringMulOpposite.{u1} R _inst_2) _inst_4 _inst_9))))] [_inst_11 : IsScalarTower.{u3, u1, u2} S R M (Algebra.toSMul.{u3, u1} S R _inst_1 _inst_2 _inst_5) (SMulZeroClass.toSMul.{u1, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} R M (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_2)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R _inst_2) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R M _inst_2 _inst_4 _inst_8)))) (SMulZeroClass.toSMul.{u3, u2} S M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u3, u2} S M (CommMonoidWithZero.toZero.{u3} S (CommSemiring.toCommMonoidWithZero.{u3} S _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u3, u2} S M (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u3, u2} S M (CommSemiring.toSemiring.{u3} S _inst_1) _inst_4 _inst_7))))] [_inst_12 : IsScalarTower.{u3, u1, u2} S (MulOpposite.{u1} R) M (MulOpposite.instSMulMulOpposite.{u1, u3} R S (Algebra.toSMul.{u3, u1} S R _inst_1 _inst_2 _inst_5)) (SMulZeroClass.toSMul.{u1, u2} (MulOpposite.{u1} R) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.instZeroMulOpposite.{u1} R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_2))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.instMonoidWithZeroMulOpposite.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_2)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.instSemiringMulOpposite.{u1} R _inst_2) _inst_4 _inst_9)))) (SMulZeroClass.toSMul.{u3, u2} S M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u3, u2} S M (CommMonoidWithZero.toZero.{u3} S (CommSemiring.toCommMonoidWithZero.{u3} S _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u3, u2} S M (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u3, u2} S M (CommSemiring.toSemiring.{u3} S _inst_1) _inst_4 _inst_7))))], AlgHom.{u3, max u2 u1, u1} S (TrivSqZeroExt.{u1, u2} R M) R _inst_1 (TrivSqZeroExt.semiring.{u1, u2} R M _inst_2 _inst_4 _inst_8 _inst_9 _inst_10) _inst_2 (TrivSqZeroExt.algebra'.{u1, u2, u3} S R M _inst_1 _inst_2 _inst_4 _inst_5 _inst_7 _inst_8 _inst_9 _inst_10 _inst_11 _inst_12) _inst_5
-Case conversion may be inaccurate. Consider using '#align triv_sq_zero_ext.fst_hom TrivSqZeroExt.fstHomₓ'. -/
+#print TrivSqZeroExt.fstHom /-
 /-- The canonical `R`-algebra projection `triv_sq_zero_ext R M → R`. -/
 @[simps]
 def fstHom : tsze R M →ₐ[S] R where
@@ -1106,6 +1085,7 @@ def fstHom : tsze R M →ₐ[S] R where
   map_add' := fst_add
   commutes' r := fst_inl M _
 #align triv_sq_zero_ext.fst_hom TrivSqZeroExt.fstHom
+-/
 
 variable {R R' S M}
 
@@ -1113,7 +1093,7 @@ variable {R R' S M}
 lean 3 declaration is
   forall {R' : Type.{u1}} {M : Type.{u2}} [_inst_3 : CommSemiring.{u1} R'] [_inst_4 : AddCommMonoid.{u2} M] [_inst_13 : Module.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4] [_inst_14 : Module.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4] [_inst_15 : IsCentralScalar.{u1, u2} R' M (SMulZeroClass.toHasSmul.{u1, u2} R' M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} R' M (MulZeroClass.toHasZero.{u1} R' (MulZeroOneClass.toMulZeroClass.{u1} R' (MonoidWithZero.toMulZeroOneClass.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toHasSmul.{u1, u2} (MulOpposite.{u1} R') M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MulZeroClass.toHasZero.{u1} (MulOpposite.{u1} R') (MulZeroOneClass.toMulZeroClass.{u1} (MulOpposite.{u1} R') (MonoidWithZero.toMulZeroOneClass.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14))))] {A : Type.{u3}} [_inst_17 : Semiring.{u3} A] [_inst_18 : Algebra.{u1, u3} R' A _inst_3 _inst_17] {{f : AlgHom.{u1, max u1 u2, u3} R' (TrivSqZeroExt.{u1, u2} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u1, u1, u2} R' _inst_3 (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (MulOpposite.algebra.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u1, u1, u2} R' R' M (SMulZeroClass.toHasSmul.{u1, u2} R' M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} R' M (MulZeroClass.toHasZero.{u1} R' (MulZeroOneClass.toMulZeroClass.{u1} R' (MonoidWithZero.toMulZeroOneClass.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (Mul.toSMul.{u1} R' (Distrib.toHasMul.{u1} R' (NonUnitalNonAssocSemiring.toDistrib.{u1} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (MulAction.toHasSmul.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13))) (SMulZeroClass.toHasSmul.{u1, u2} (MulOpposite.{u1} R') M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MulZeroClass.toHasZero.{u1} (MulOpposite.{u1} R') (MulZeroOneClass.toMulZeroClass.{u1} (MulOpposite.{u1} R') (MonoidWithZero.toMulZeroOneClass.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.algebra.{u1, u2} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18}} {{g : AlgHom.{u1, max u1 u2, u3} R' (TrivSqZeroExt.{u1, u2} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u1, u1, u2} R' _inst_3 (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (MulOpposite.algebra.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u1, u1, u2} R' R' M (SMulZeroClass.toHasSmul.{u1, u2} R' M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} R' M (MulZeroClass.toHasZero.{u1} R' (MulZeroOneClass.toMulZeroClass.{u1} R' (MonoidWithZero.toMulZeroOneClass.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (Mul.toSMul.{u1} R' (Distrib.toHasMul.{u1} R' (NonUnitalNonAssocSemiring.toDistrib.{u1} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (MulAction.toHasSmul.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13))) (SMulZeroClass.toHasSmul.{u1, u2} (MulOpposite.{u1} R') M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MulZeroClass.toHasZero.{u1} (MulOpposite.{u1} R') (MulZeroOneClass.toMulZeroClass.{u1} (MulOpposite.{u1} R') (MonoidWithZero.toMulZeroOneClass.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.algebra.{u1, u2} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18}}, (forall (m : M), Eq.{succ u3} A (coeFn.{max (succ (max u1 u2)) (succ u3), max (succ (max u1 u2)) (succ u3)} (AlgHom.{u1, max u1 u2, u3} R' (TrivSqZeroExt.{u1, u2} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u1, u1, u2} R' _inst_3 (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (MulOpposite.algebra.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u1, u1, u2} R' R' M (SMulZeroClass.toHasSmul.{u1, u2} R' M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} R' M (MulZeroClass.toHasZero.{u1} R' (MulZeroOneClass.toMulZeroClass.{u1} R' (MonoidWithZero.toMulZeroOneClass.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (Mul.toSMul.{u1} R' (Distrib.toHasMul.{u1} R' (NonUnitalNonAssocSemiring.toDistrib.{u1} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (MulAction.toHasSmul.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13))) (SMulZeroClass.toHasSmul.{u1, u2} (MulOpposite.{u1} R') M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MulZeroClass.toHasZero.{u1} (MulOpposite.{u1} R') (MulZeroOneClass.toMulZeroClass.{u1} (MulOpposite.{u1} R') (MonoidWithZero.toMulZeroOneClass.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.algebra.{u1, u2} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18) (fun (_x : AlgHom.{u1, max u1 u2, u3} R' (TrivSqZeroExt.{u1, u2} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u1, u1, u2} R' _inst_3 (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (MulOpposite.algebra.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u1, u1, u2} R' R' M (SMulZeroClass.toHasSmul.{u1, u2} R' M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} R' M (MulZeroClass.toHasZero.{u1} R' (MulZeroOneClass.toMulZeroClass.{u1} R' (MonoidWithZero.toMulZeroOneClass.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (Mul.toSMul.{u1} R' (Distrib.toHasMul.{u1} R' (NonUnitalNonAssocSemiring.toDistrib.{u1} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (MulAction.toHasSmul.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13))) (SMulZeroClass.toHasSmul.{u1, u2} (MulOpposite.{u1} R') M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MulZeroClass.toHasZero.{u1} (MulOpposite.{u1} R') (MulZeroOneClass.toMulZeroClass.{u1} (MulOpposite.{u1} R') (MonoidWithZero.toMulZeroOneClass.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.algebra.{u1, u2} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18) => (TrivSqZeroExt.{u1, u2} R' M) -> A) ([anonymous].{u1, max u1 u2, u3} R' (TrivSqZeroExt.{u1, u2} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u1, u1, u2} R' _inst_3 (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (MulOpposite.algebra.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u1, u1, u2} R' R' M (SMulZeroClass.toHasSmul.{u1, u2} R' M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} R' M (MulZeroClass.toHasZero.{u1} R' (MulZeroOneClass.toMulZeroClass.{u1} R' (MonoidWithZero.toMulZeroOneClass.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (Mul.toSMul.{u1} R' (Distrib.toHasMul.{u1} R' (NonUnitalNonAssocSemiring.toDistrib.{u1} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (MulAction.toHasSmul.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13))) (SMulZeroClass.toHasSmul.{u1, u2} (MulOpposite.{u1} R') M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MulZeroClass.toHasZero.{u1} (MulOpposite.{u1} R') (MulZeroOneClass.toMulZeroClass.{u1} (MulOpposite.{u1} R') (MonoidWithZero.toMulZeroOneClass.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.algebra.{u1, u2} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18) f (TrivSqZeroExt.inr.{u1, u2} R' M (MulZeroClass.toHasZero.{u1} R' (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))))) m)) (coeFn.{max (succ (max u1 u2)) (succ u3), max (succ (max u1 u2)) (succ u3)} (AlgHom.{u1, max u1 u2, u3} R' (TrivSqZeroExt.{u1, u2} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u1, u1, u2} R' _inst_3 (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (MulOpposite.algebra.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u1, u1, u2} R' R' M (SMulZeroClass.toHasSmul.{u1, u2} R' M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} R' M (MulZeroClass.toHasZero.{u1} R' (MulZeroOneClass.toMulZeroClass.{u1} R' (MonoidWithZero.toMulZeroOneClass.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (Mul.toSMul.{u1} R' (Distrib.toHasMul.{u1} R' (NonUnitalNonAssocSemiring.toDistrib.{u1} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (MulAction.toHasSmul.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13))) (SMulZeroClass.toHasSmul.{u1, u2} (MulOpposite.{u1} R') M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MulZeroClass.toHasZero.{u1} (MulOpposite.{u1} R') (MulZeroOneClass.toMulZeroClass.{u1} (MulOpposite.{u1} R') (MonoidWithZero.toMulZeroOneClass.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.algebra.{u1, u2} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18) (fun (_x : AlgHom.{u1, max u1 u2, u3} R' (TrivSqZeroExt.{u1, u2} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u1, u1, u2} R' _inst_3 (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (MulOpposite.algebra.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u1, u1, u2} R' R' M (SMulZeroClass.toHasSmul.{u1, u2} R' M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} R' M (MulZeroClass.toHasZero.{u1} R' (MulZeroOneClass.toMulZeroClass.{u1} R' (MonoidWithZero.toMulZeroOneClass.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (Mul.toSMul.{u1} R' (Distrib.toHasMul.{u1} R' (NonUnitalNonAssocSemiring.toDistrib.{u1} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (MulAction.toHasSmul.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13))) (SMulZeroClass.toHasSmul.{u1, u2} (MulOpposite.{u1} R') M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MulZeroClass.toHasZero.{u1} (MulOpposite.{u1} R') (MulZeroOneClass.toMulZeroClass.{u1} (MulOpposite.{u1} R') (MonoidWithZero.toMulZeroOneClass.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.algebra.{u1, u2} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18) => (TrivSqZeroExt.{u1, u2} R' M) -> A) ([anonymous].{u1, max u1 u2, u3} R' (TrivSqZeroExt.{u1, u2} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u1, u1, u2} R' _inst_3 (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (MulOpposite.algebra.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u1, u1, u2} R' R' M (SMulZeroClass.toHasSmul.{u1, u2} R' M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} R' M (MulZeroClass.toHasZero.{u1} R' (MulZeroOneClass.toMulZeroClass.{u1} R' (MonoidWithZero.toMulZeroOneClass.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (Mul.toSMul.{u1} R' (Distrib.toHasMul.{u1} R' (NonUnitalNonAssocSemiring.toDistrib.{u1} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (MulAction.toHasSmul.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13))) (SMulZeroClass.toHasSmul.{u1, u2} (MulOpposite.{u1} R') M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MulZeroClass.toHasZero.{u1} (MulOpposite.{u1} R') (MulZeroOneClass.toMulZeroClass.{u1} (MulOpposite.{u1} R') (MonoidWithZero.toMulZeroOneClass.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.algebra.{u1, u2} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18) g (TrivSqZeroExt.inr.{u1, u2} R' M (MulZeroClass.toHasZero.{u1} R' (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))))) m))) -> (Eq.{max (succ (max u1 u2)) (succ u3)} (AlgHom.{u1, max u1 u2, u3} R' (TrivSqZeroExt.{u1, u2} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u1, u1, u2} R' _inst_3 (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (MulOpposite.algebra.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u1, u1, u2} R' R' M (SMulZeroClass.toHasSmul.{u1, u2} R' M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} R' M (MulZeroClass.toHasZero.{u1} R' (MulZeroOneClass.toMulZeroClass.{u1} R' (MonoidWithZero.toMulZeroOneClass.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (Mul.toSMul.{u1} R' (Distrib.toHasMul.{u1} R' (NonUnitalNonAssocSemiring.toDistrib.{u1} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (MulAction.toHasSmul.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13))) (SMulZeroClass.toHasSmul.{u1, u2} (MulOpposite.{u1} R') M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MulZeroClass.toHasZero.{u1} (MulOpposite.{u1} R') (MulZeroOneClass.toMulZeroClass.{u1} (MulOpposite.{u1} R') (MonoidWithZero.toMulZeroOneClass.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.algebra.{u1, u2} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18) f g)
 but is expected to have type
-  forall {R' : Type.{u2}} {M : Type.{u3}} [_inst_3 : CommSemiring.{u2} R'] [_inst_4 : AddCommMonoid.{u3} M] [_inst_13 : Module.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4] [_inst_14 : Module.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4] [_inst_15 : IsCentralScalar.{u2, u3} R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.instZeroMulOpposite.{u2} R' (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.instMonoidWithZeroMulOpposite.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14))))] {A : Type.{u1}} [_inst_17 : Semiring.{u1} A] [_inst_18 : Algebra.{u2, u1} R' A _inst_3 _inst_17] {{f : AlgHom.{u2, max u3 u2, u1} R' (TrivSqZeroExt.{u2, u3} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeInstSemiringMulOpposite.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeInstSemiringMulOppositeInstAlgebraMulOppositeInstSemiringMulOppositeIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18}} {{g : AlgHom.{u2, max u3 u2, u1} R' (TrivSqZeroExt.{u2, u3} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeInstSemiringMulOpposite.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeInstSemiringMulOppositeInstAlgebraMulOppositeInstSemiringMulOppositeIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18}}, (forall (m : M), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : TrivSqZeroExt.{u2, u3} R' M) => A) (TrivSqZeroExt.inr.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) m)) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u3), succ u1} (AlgHom.{u2, max u3 u2, u1} R' (TrivSqZeroExt.{u2, u3} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeInstSemiringMulOpposite.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeInstSemiringMulOppositeInstAlgebraMulOppositeInstSemiringMulOppositeIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18) (TrivSqZeroExt.{u2, u3} R' M) (fun (_x : TrivSqZeroExt.{u2, u3} R' M) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : TrivSqZeroExt.{u2, u3} R' M) => A) _x) (SMulHomClass.toFunLike.{max (max u2 u3) u1, u2, max u2 u3, u1} (AlgHom.{u2, max u3 u2, u1} R' (TrivSqZeroExt.{u2, u3} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeInstSemiringMulOpposite.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeInstSemiringMulOppositeInstAlgebraMulOppositeInstSemiringMulOppositeIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18) R' (TrivSqZeroExt.{u2, u3} R' M) A (SMulZeroClass.toSMul.{u2, max u2 u3} R' (TrivSqZeroExt.{u2, u3} R' M) (AddMonoid.toZero.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (AddCommMonoid.toAddMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (Semiring.toNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeInstSemiringMulOpposite.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13))))))))))) (DistribSMul.toSMulZeroClass.{u2, max u2 u3} R' (TrivSqZeroExt.{u2, u3} R' M) (AddMonoid.toAddZeroClass.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (AddCommMonoid.toAddMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (Semiring.toNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeInstSemiringMulOpposite.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13))))))))))) (DistribMulAction.toDistribSMul.{u2, max u2 u3} R' (TrivSqZeroExt.{u2, u3} R' M) (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddCommMonoid.toAddMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (Semiring.toNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeInstSemiringMulOpposite.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))))))) (Module.toDistribMulAction.{u2, max u2 u3} R' (TrivSqZeroExt.{u2, u3} R' M) (CommSemiring.toSemiring.{u2} R' _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (Semiring.toNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeInstSemiringMulOpposite.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13))))))))) (Algebra.toModule.{u2, max u2 u3} R' (TrivSqZeroExt.{u2, u3} R' M) _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeInstSemiringMulOpposite.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeInstSemiringMulOppositeInstAlgebraMulOppositeInstSemiringMulOppositeIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15)))))) (SMulZeroClass.toSMul.{u2, u1} R' A (AddMonoid.toZero.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))))) (DistribSMul.toSMulZeroClass.{u2, u1} R' A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))))) (DistribMulAction.toDistribSMul.{u2, u1} R' A (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17)))) (Module.toDistribMulAction.{u2, u1} R' A (CommSemiring.toSemiring.{u2} R' _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))) (Algebra.toModule.{u2, u1} R' A _inst_3 _inst_17 _inst_18))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u2 u3) u1, u2, max u2 u3, u1} (AlgHom.{u2, max u3 u2, u1} R' (TrivSqZeroExt.{u2, u3} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeInstSemiringMulOpposite.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeInstSemiringMulOppositeInstAlgebraMulOppositeInstSemiringMulOppositeIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18) R' (TrivSqZeroExt.{u2, u3} R' M) A (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddCommMonoid.toAddMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (Semiring.toNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeInstSemiringMulOpposite.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))))))) (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17)))) (Module.toDistribMulAction.{u2, max u2 u3} R' (TrivSqZeroExt.{u2, u3} R' M) (CommSemiring.toSemiring.{u2} R' _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (Semiring.toNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeInstSemiringMulOpposite.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13))))))))) (Algebra.toModule.{u2, max u2 u3} R' (TrivSqZeroExt.{u2, u3} R' M) _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeInstSemiringMulOpposite.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeInstSemiringMulOppositeInstAlgebraMulOppositeInstSemiringMulOppositeIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15))) (Module.toDistribMulAction.{u2, u1} R' A (CommSemiring.toSemiring.{u2} R' _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))) (Algebra.toModule.{u2, u1} R' A _inst_3 _inst_17 _inst_18)) (SemilinearMapClass.distribMulActionHomClass.{u2, max u2 u3, u1, max (max u2 u3) u1} R' (TrivSqZeroExt.{u2, u3} R' M) A (AlgHom.{u2, max u3 u2, u1} R' (TrivSqZeroExt.{u2, u3} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeInstSemiringMulOpposite.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeInstSemiringMulOppositeInstAlgebraMulOppositeInstSemiringMulOppositeIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18) (CommSemiring.toSemiring.{u2} R' _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (Semiring.toNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeInstSemiringMulOpposite.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13))))))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))) (Algebra.toModule.{u2, max u2 u3} R' (TrivSqZeroExt.{u2, u3} R' M) _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeInstSemiringMulOpposite.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeInstSemiringMulOppositeInstAlgebraMulOppositeInstSemiringMulOppositeIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15)) (Algebra.toModule.{u2, u1} R' A _inst_3 _inst_17 _inst_18) (AlgHomClass.linearMapClass.{u2, max u2 u3, u1, max (max u2 u3) u1} R' (TrivSqZeroExt.{u2, u3} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeInstSemiringMulOpposite.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeInstSemiringMulOppositeInstAlgebraMulOppositeInstSemiringMulOppositeIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18 (AlgHom.{u2, max u3 u2, u1} R' (TrivSqZeroExt.{u2, u3} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeInstSemiringMulOpposite.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeInstSemiringMulOppositeInstAlgebraMulOppositeInstSemiringMulOppositeIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18) (AlgHom.algHomClass.{u2, max u2 u3, u1} R' (TrivSqZeroExt.{u2, u3} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeInstSemiringMulOpposite.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeInstSemiringMulOppositeInstAlgebraMulOppositeInstSemiringMulOppositeIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18))))) f (TrivSqZeroExt.inr.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) m)) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u3), succ u1} (AlgHom.{u2, max u3 u2, u1} R' (TrivSqZeroExt.{u2, u3} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeInstSemiringMulOpposite.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeInstSemiringMulOppositeInstAlgebraMulOppositeInstSemiringMulOppositeIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18) (TrivSqZeroExt.{u2, u3} R' M) (fun (_x : TrivSqZeroExt.{u2, u3} R' M) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : TrivSqZeroExt.{u2, u3} R' M) => A) _x) (SMulHomClass.toFunLike.{max (max u2 u3) u1, u2, max u2 u3, u1} (AlgHom.{u2, max u3 u2, u1} R' (TrivSqZeroExt.{u2, u3} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeInstSemiringMulOpposite.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeInstSemiringMulOppositeInstAlgebraMulOppositeInstSemiringMulOppositeIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18) R' (TrivSqZeroExt.{u2, u3} R' M) A (SMulZeroClass.toSMul.{u2, max u2 u3} R' (TrivSqZeroExt.{u2, u3} R' M) (AddMonoid.toZero.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (AddCommMonoid.toAddMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (Semiring.toNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeInstSemiringMulOpposite.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13))))))))))) (DistribSMul.toSMulZeroClass.{u2, max u2 u3} R' (TrivSqZeroExt.{u2, u3} R' M) (AddMonoid.toAddZeroClass.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (AddCommMonoid.toAddMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (Semiring.toNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeInstSemiringMulOpposite.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13))))))))))) (DistribMulAction.toDistribSMul.{u2, max u2 u3} R' (TrivSqZeroExt.{u2, u3} R' M) (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddCommMonoid.toAddMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (Semiring.toNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeInstSemiringMulOpposite.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))))))) (Module.toDistribMulAction.{u2, max u2 u3} R' (TrivSqZeroExt.{u2, u3} R' M) (CommSemiring.toSemiring.{u2} R' _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (Semiring.toNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeInstSemiringMulOpposite.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13))))))))) (Algebra.toModule.{u2, max u2 u3} R' (TrivSqZeroExt.{u2, u3} R' M) _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeInstSemiringMulOpposite.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeInstSemiringMulOppositeInstAlgebraMulOppositeInstSemiringMulOppositeIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15)))))) (SMulZeroClass.toSMul.{u2, u1} R' A (AddMonoid.toZero.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))))) (DistribSMul.toSMulZeroClass.{u2, u1} R' A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))))) (DistribMulAction.toDistribSMul.{u2, u1} R' A (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17)))) (Module.toDistribMulAction.{u2, u1} R' A (CommSemiring.toSemiring.{u2} R' _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))) (Algebra.toModule.{u2, u1} R' A _inst_3 _inst_17 _inst_18))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u2 u3) u1, u2, max u2 u3, u1} (AlgHom.{u2, max u3 u2, u1} R' (TrivSqZeroExt.{u2, u3} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeInstSemiringMulOpposite.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeInstSemiringMulOppositeInstAlgebraMulOppositeInstSemiringMulOppositeIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18) R' (TrivSqZeroExt.{u2, u3} R' M) A (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddCommMonoid.toAddMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (Semiring.toNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeInstSemiringMulOpposite.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))))))) (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17)))) (Module.toDistribMulAction.{u2, max u2 u3} R' (TrivSqZeroExt.{u2, u3} R' M) (CommSemiring.toSemiring.{u2} R' _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (Semiring.toNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeInstSemiringMulOpposite.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13))))))))) (Algebra.toModule.{u2, max u2 u3} R' (TrivSqZeroExt.{u2, u3} R' M) _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeInstSemiringMulOpposite.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeInstSemiringMulOppositeInstAlgebraMulOppositeInstSemiringMulOppositeIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15))) (Module.toDistribMulAction.{u2, u1} R' A (CommSemiring.toSemiring.{u2} R' _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))) (Algebra.toModule.{u2, u1} R' A _inst_3 _inst_17 _inst_18)) (SemilinearMapClass.distribMulActionHomClass.{u2, max u2 u3, u1, max (max u2 u3) u1} R' (TrivSqZeroExt.{u2, u3} R' M) A (AlgHom.{u2, max u3 u2, u1} R' (TrivSqZeroExt.{u2, u3} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeInstSemiringMulOpposite.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeInstSemiringMulOppositeInstAlgebraMulOppositeInstSemiringMulOppositeIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18) (CommSemiring.toSemiring.{u2} R' _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (Semiring.toNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeInstSemiringMulOpposite.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13))))))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))) (Algebra.toModule.{u2, max u2 u3} R' (TrivSqZeroExt.{u2, u3} R' M) _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeInstSemiringMulOpposite.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeInstSemiringMulOppositeInstAlgebraMulOppositeInstSemiringMulOppositeIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15)) (Algebra.toModule.{u2, u1} R' A _inst_3 _inst_17 _inst_18) (AlgHomClass.linearMapClass.{u2, max u2 u3, u1, max (max u2 u3) u1} R' (TrivSqZeroExt.{u2, u3} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeInstSemiringMulOpposite.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeInstSemiringMulOppositeInstAlgebraMulOppositeInstSemiringMulOppositeIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18 (AlgHom.{u2, max u3 u2, u1} R' (TrivSqZeroExt.{u2, u3} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeInstSemiringMulOpposite.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeInstSemiringMulOppositeInstAlgebraMulOppositeInstSemiringMulOppositeIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18) (AlgHom.algHomClass.{u2, max u2 u3, u1} R' (TrivSqZeroExt.{u2, u3} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeInstSemiringMulOpposite.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeInstSemiringMulOppositeInstAlgebraMulOppositeInstSemiringMulOppositeIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18))))) g (TrivSqZeroExt.inr.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) m))) -> (Eq.{max (max (succ u2) (succ u3)) (succ u1)} (AlgHom.{u2, max u3 u2, u1} R' (TrivSqZeroExt.{u2, u3} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeInstSemiringMulOpposite.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeInstSemiringMulOppositeInstAlgebraMulOppositeInstSemiringMulOppositeIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18) f g)
+  forall {R' : Type.{u2}} {M : Type.{u3}} [_inst_3 : CommSemiring.{u2} R'] [_inst_4 : AddCommMonoid.{u3} M] [_inst_13 : Module.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4] [_inst_14 : Module.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4] [_inst_15 : IsCentralScalar.{u2, u3} R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.zero.{u2} R' (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.monoidWithZero.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14))))] {A : Type.{u1}} [_inst_17 : Semiring.{u1} A] [_inst_18 : Algebra.{u2, u1} R' A _inst_3 _inst_17] {{f : AlgHom.{u2, max u3 u2, u1} R' (TrivSqZeroExt.{u2, u3} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeSemiringInstAlgebraMulOppositeSemiringIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18}} {{g : AlgHom.{u2, max u3 u2, u1} R' (TrivSqZeroExt.{u2, u3} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeSemiringInstAlgebraMulOppositeSemiringIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18}}, (forall (m : M), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : TrivSqZeroExt.{u2, u3} R' M) => A) (TrivSqZeroExt.inr.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) m)) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u3), succ u1} (AlgHom.{u2, max u3 u2, u1} R' (TrivSqZeroExt.{u2, u3} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeSemiringInstAlgebraMulOppositeSemiringIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18) (TrivSqZeroExt.{u2, u3} R' M) (fun (_x : TrivSqZeroExt.{u2, u3} R' M) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : TrivSqZeroExt.{u2, u3} R' M) => A) _x) (SMulHomClass.toFunLike.{max (max u2 u3) u1, u2, max u2 u3, u1} (AlgHom.{u2, max u3 u2, u1} R' (TrivSqZeroExt.{u2, u3} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeSemiringInstAlgebraMulOppositeSemiringIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18) R' (TrivSqZeroExt.{u2, u3} R' M) A (SMulZeroClass.toSMul.{u2, max u2 u3} R' (TrivSqZeroExt.{u2, u3} R' M) (AddMonoid.toZero.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (AddCommMonoid.toAddMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (Semiring.toNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13))))))))))) (DistribSMul.toSMulZeroClass.{u2, max u2 u3} R' (TrivSqZeroExt.{u2, u3} R' M) (AddMonoid.toAddZeroClass.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (AddCommMonoid.toAddMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (Semiring.toNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13))))))))))) (DistribMulAction.toDistribSMul.{u2, max u2 u3} R' (TrivSqZeroExt.{u2, u3} R' M) (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddCommMonoid.toAddMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (Semiring.toNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))))))) (Module.toDistribMulAction.{u2, max u2 u3} R' (TrivSqZeroExt.{u2, u3} R' M) (CommSemiring.toSemiring.{u2} R' _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (Semiring.toNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13))))))))) (Algebra.toModule.{u2, max u2 u3} R' (TrivSqZeroExt.{u2, u3} R' M) _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeSemiringInstAlgebraMulOppositeSemiringIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15)))))) (SMulZeroClass.toSMul.{u2, u1} R' A (AddMonoid.toZero.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))))) (DistribSMul.toSMulZeroClass.{u2, u1} R' A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))))) (DistribMulAction.toDistribSMul.{u2, u1} R' A (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17)))) (Module.toDistribMulAction.{u2, u1} R' A (CommSemiring.toSemiring.{u2} R' _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))) (Algebra.toModule.{u2, u1} R' A _inst_3 _inst_17 _inst_18))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u2 u3) u1, u2, max u2 u3, u1} (AlgHom.{u2, max u3 u2, u1} R' (TrivSqZeroExt.{u2, u3} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeSemiringInstAlgebraMulOppositeSemiringIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18) R' (TrivSqZeroExt.{u2, u3} R' M) A (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddCommMonoid.toAddMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (Semiring.toNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))))))) (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17)))) (Module.toDistribMulAction.{u2, max u2 u3} R' (TrivSqZeroExt.{u2, u3} R' M) (CommSemiring.toSemiring.{u2} R' _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (Semiring.toNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13))))))))) (Algebra.toModule.{u2, max u2 u3} R' (TrivSqZeroExt.{u2, u3} R' M) _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeSemiringInstAlgebraMulOppositeSemiringIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15))) (Module.toDistribMulAction.{u2, u1} R' A (CommSemiring.toSemiring.{u2} R' _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))) (Algebra.toModule.{u2, u1} R' A _inst_3 _inst_17 _inst_18)) (SemilinearMapClass.distribMulActionHomClass.{u2, max u2 u3, u1, max (max u2 u3) u1} R' (TrivSqZeroExt.{u2, u3} R' M) A (AlgHom.{u2, max u3 u2, u1} R' (TrivSqZeroExt.{u2, u3} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeSemiringInstAlgebraMulOppositeSemiringIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18) (CommSemiring.toSemiring.{u2} R' _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (Semiring.toNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13))))))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))) (Algebra.toModule.{u2, max u2 u3} R' (TrivSqZeroExt.{u2, u3} R' M) _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeSemiringInstAlgebraMulOppositeSemiringIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15)) (Algebra.toModule.{u2, u1} R' A _inst_3 _inst_17 _inst_18) (AlgHomClass.linearMapClass.{u2, max u2 u3, u1, max (max u2 u3) u1} R' (TrivSqZeroExt.{u2, u3} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeSemiringInstAlgebraMulOppositeSemiringIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18 (AlgHom.{u2, max u3 u2, u1} R' (TrivSqZeroExt.{u2, u3} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeSemiringInstAlgebraMulOppositeSemiringIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18) (AlgHom.algHomClass.{u2, max u2 u3, u1} R' (TrivSqZeroExt.{u2, u3} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeSemiringInstAlgebraMulOppositeSemiringIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18))))) f (TrivSqZeroExt.inr.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) m)) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u3), succ u1} (AlgHom.{u2, max u3 u2, u1} R' (TrivSqZeroExt.{u2, u3} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeSemiringInstAlgebraMulOppositeSemiringIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18) (TrivSqZeroExt.{u2, u3} R' M) (fun (_x : TrivSqZeroExt.{u2, u3} R' M) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : TrivSqZeroExt.{u2, u3} R' M) => A) _x) (SMulHomClass.toFunLike.{max (max u2 u3) u1, u2, max u2 u3, u1} (AlgHom.{u2, max u3 u2, u1} R' (TrivSqZeroExt.{u2, u3} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeSemiringInstAlgebraMulOppositeSemiringIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18) R' (TrivSqZeroExt.{u2, u3} R' M) A (SMulZeroClass.toSMul.{u2, max u2 u3} R' (TrivSqZeroExt.{u2, u3} R' M) (AddMonoid.toZero.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (AddCommMonoid.toAddMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (Semiring.toNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13))))))))))) (DistribSMul.toSMulZeroClass.{u2, max u2 u3} R' (TrivSqZeroExt.{u2, u3} R' M) (AddMonoid.toAddZeroClass.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (AddCommMonoid.toAddMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (Semiring.toNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13))))))))))) (DistribMulAction.toDistribSMul.{u2, max u2 u3} R' (TrivSqZeroExt.{u2, u3} R' M) (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddCommMonoid.toAddMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (Semiring.toNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))))))) (Module.toDistribMulAction.{u2, max u2 u3} R' (TrivSqZeroExt.{u2, u3} R' M) (CommSemiring.toSemiring.{u2} R' _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (Semiring.toNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13))))))))) (Algebra.toModule.{u2, max u2 u3} R' (TrivSqZeroExt.{u2, u3} R' M) _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeSemiringInstAlgebraMulOppositeSemiringIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15)))))) (SMulZeroClass.toSMul.{u2, u1} R' A (AddMonoid.toZero.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))))) (DistribSMul.toSMulZeroClass.{u2, u1} R' A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))))) (DistribMulAction.toDistribSMul.{u2, u1} R' A (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17)))) (Module.toDistribMulAction.{u2, u1} R' A (CommSemiring.toSemiring.{u2} R' _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))) (Algebra.toModule.{u2, u1} R' A _inst_3 _inst_17 _inst_18))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u2 u3) u1, u2, max u2 u3, u1} (AlgHom.{u2, max u3 u2, u1} R' (TrivSqZeroExt.{u2, u3} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeSemiringInstAlgebraMulOppositeSemiringIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18) R' (TrivSqZeroExt.{u2, u3} R' M) A (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddCommMonoid.toAddMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (Semiring.toNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))))))) (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17)))) (Module.toDistribMulAction.{u2, max u2 u3} R' (TrivSqZeroExt.{u2, u3} R' M) (CommSemiring.toSemiring.{u2} R' _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (Semiring.toNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13))))))))) (Algebra.toModule.{u2, max u2 u3} R' (TrivSqZeroExt.{u2, u3} R' M) _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeSemiringInstAlgebraMulOppositeSemiringIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15))) (Module.toDistribMulAction.{u2, u1} R' A (CommSemiring.toSemiring.{u2} R' _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))) (Algebra.toModule.{u2, u1} R' A _inst_3 _inst_17 _inst_18)) (SemilinearMapClass.distribMulActionHomClass.{u2, max u2 u3, u1, max (max u2 u3) u1} R' (TrivSqZeroExt.{u2, u3} R' M) A (AlgHom.{u2, max u3 u2, u1} R' (TrivSqZeroExt.{u2, u3} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeSemiringInstAlgebraMulOppositeSemiringIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18) (CommSemiring.toSemiring.{u2} R' _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (Semiring.toNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13))))))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))) (Algebra.toModule.{u2, max u2 u3} R' (TrivSqZeroExt.{u2, u3} R' M) _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeSemiringInstAlgebraMulOppositeSemiringIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15)) (Algebra.toModule.{u2, u1} R' A _inst_3 _inst_17 _inst_18) (AlgHomClass.linearMapClass.{u2, max u2 u3, u1, max (max u2 u3) u1} R' (TrivSqZeroExt.{u2, u3} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeSemiringInstAlgebraMulOppositeSemiringIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18 (AlgHom.{u2, max u3 u2, u1} R' (TrivSqZeroExt.{u2, u3} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeSemiringInstAlgebraMulOppositeSemiringIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18) (AlgHom.algHomClass.{u2, max u2 u3, u1} R' (TrivSqZeroExt.{u2, u3} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeSemiringInstAlgebraMulOppositeSemiringIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18))))) g (TrivSqZeroExt.inr.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) m))) -> (Eq.{max (max (succ u2) (succ u3)) (succ u1)} (AlgHom.{u2, max u3 u2, u1} R' (TrivSqZeroExt.{u2, u3} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeSemiringInstAlgebraMulOppositeSemiringIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18) f g)
 Case conversion may be inaccurate. Consider using '#align triv_sq_zero_ext.alg_hom_ext TrivSqZeroExt.algHom_extₓ'. -/
 theorem algHom_ext {A} [Semiring A] [Algebra R' A] ⦃f g : tsze R' M →ₐ[R'] A⦄
     (h : ∀ m, f (inr m) = g (inr m)) : f = g :=
@@ -1125,7 +1105,7 @@ theorem algHom_ext {A} [Semiring A] [Algebra R' A] ⦃f g : tsze R' M →ₐ[R']
 lean 3 declaration is
   forall {R' : Type.{u1}} {M : Type.{u2}} [_inst_3 : CommSemiring.{u1} R'] [_inst_4 : AddCommMonoid.{u2} M] [_inst_13 : Module.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4] [_inst_14 : Module.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4] [_inst_15 : IsCentralScalar.{u1, u2} R' M (SMulZeroClass.toHasSmul.{u1, u2} R' M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} R' M (MulZeroClass.toHasZero.{u1} R' (MulZeroOneClass.toMulZeroClass.{u1} R' (MonoidWithZero.toMulZeroOneClass.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toHasSmul.{u1, u2} (MulOpposite.{u1} R') M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MulZeroClass.toHasZero.{u1} (MulOpposite.{u1} R') (MulZeroOneClass.toMulZeroClass.{u1} (MulOpposite.{u1} R') (MonoidWithZero.toMulZeroOneClass.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14))))] {A : Type.{u3}} [_inst_17 : Semiring.{u3} A] [_inst_18 : Algebra.{u1, u3} R' A _inst_3 _inst_17] {{f : AlgHom.{u1, max u1 u2, u3} R' (TrivSqZeroExt.{u1, u2} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u1, u1, u2} R' _inst_3 (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (MulOpposite.algebra.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u1, u1, u2} R' R' M (SMulZeroClass.toHasSmul.{u1, u2} R' M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} R' M (MulZeroClass.toHasZero.{u1} R' (MulZeroOneClass.toMulZeroClass.{u1} R' (MonoidWithZero.toMulZeroOneClass.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (Mul.toSMul.{u1} R' (Distrib.toHasMul.{u1} R' (NonUnitalNonAssocSemiring.toDistrib.{u1} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (MulAction.toHasSmul.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13))) (SMulZeroClass.toHasSmul.{u1, u2} (MulOpposite.{u1} R') M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MulZeroClass.toHasZero.{u1} (MulOpposite.{u1} R') (MulZeroOneClass.toMulZeroClass.{u1} (MulOpposite.{u1} R') (MonoidWithZero.toMulZeroOneClass.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.algebra.{u1, u2} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18}} {{g : AlgHom.{u1, max u1 u2, u3} R' (TrivSqZeroExt.{u1, u2} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u1, u1, u2} R' _inst_3 (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (MulOpposite.algebra.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u1, u1, u2} R' R' M (SMulZeroClass.toHasSmul.{u1, u2} R' M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} R' M (MulZeroClass.toHasZero.{u1} R' (MulZeroOneClass.toMulZeroClass.{u1} R' (MonoidWithZero.toMulZeroOneClass.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (Mul.toSMul.{u1} R' (Distrib.toHasMul.{u1} R' (NonUnitalNonAssocSemiring.toDistrib.{u1} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (MulAction.toHasSmul.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13))) (SMulZeroClass.toHasSmul.{u1, u2} (MulOpposite.{u1} R') M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MulZeroClass.toHasZero.{u1} (MulOpposite.{u1} R') (MulZeroOneClass.toMulZeroClass.{u1} (MulOpposite.{u1} R') (MonoidWithZero.toMulZeroOneClass.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.algebra.{u1, u2} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18}}, (Eq.{max (succ u2) (succ u3)} (LinearMap.{u1, u1, u2, u3} R' R' (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18)) (LinearMap.comp.{u1, u1, u1, u2, max u1 u2, u3} R' R' R' M (TrivSqZeroExt.{u1, u2} R' M) A (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u2} (TrivSqZeroExt.{u1, u2} R' M) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (TrivSqZeroExt.{u1, u2} R' M) (Semiring.toNonAssocSemiring.{max u1 u2} (TrivSqZeroExt.{u1, u2} R' M) (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u1, u1, u2} R' _inst_3 (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (MulOpposite.algebra.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u1, u1, u2} R' R' M (SMulZeroClass.toHasSmul.{u1, u2} R' M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} R' M (MulZeroClass.toHasZero.{u1} R' (MulZeroOneClass.toMulZeroClass.{u1} R' (MonoidWithZero.toMulZeroOneClass.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (Mul.toSMul.{u1} R' (Distrib.toHasMul.{u1} R' (NonUnitalNonAssocSemiring.toDistrib.{u1} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (MulAction.toHasSmul.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13))) (SMulZeroClass.toHasSmul.{u1, u2} (MulOpposite.{u1} R') M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MulZeroClass.toHasZero.{u1} (MulOpposite.{u1} R') (MulZeroOneClass.toMulZeroClass.{u1} (MulOpposite.{u1} R') (MonoidWithZero.toMulZeroOneClass.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13))))))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, max u1 u2} R' (TrivSqZeroExt.{u1, u2} R' M) _inst_3 (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u1, u1, u2} R' _inst_3 (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (MulOpposite.algebra.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u1, u1, u2} R' R' M (SMulZeroClass.toHasSmul.{u1, u2} R' M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} R' M (MulZeroClass.toHasZero.{u1} R' (MulZeroOneClass.toMulZeroClass.{u1} R' (MonoidWithZero.toMulZeroOneClass.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (Mul.toSMul.{u1} R' (Distrib.toHasMul.{u1} R' (NonUnitalNonAssocSemiring.toDistrib.{u1} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (MulAction.toHasSmul.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13))) (SMulZeroClass.toHasSmul.{u1, u2} (MulOpposite.{u1} R') M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MulZeroClass.toHasZero.{u1} (MulOpposite.{u1} R') (MulZeroOneClass.toMulZeroClass.{u1} (MulOpposite.{u1} R') (MonoidWithZero.toMulZeroOneClass.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))))) (TrivSqZeroExt.algebra.{u1, u2} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15)) (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (RingHomCompTriple.right_ids.{u1, u1} R' R' (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))) (AlgHom.toLinearMap.{u1, max u1 u2, u3} R' (TrivSqZeroExt.{u1, u2} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u1, u1, u2} R' _inst_3 (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (MulOpposite.algebra.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u1, u1, u2} R' R' M (SMulZeroClass.toHasSmul.{u1, u2} R' M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} R' M (MulZeroClass.toHasZero.{u1} R' (MulZeroOneClass.toMulZeroClass.{u1} R' (MonoidWithZero.toMulZeroOneClass.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (Mul.toSMul.{u1} R' (Distrib.toHasMul.{u1} R' (NonUnitalNonAssocSemiring.toDistrib.{u1} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (MulAction.toHasSmul.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13))) (SMulZeroClass.toHasSmul.{u1, u2} (MulOpposite.{u1} R') M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MulZeroClass.toHasZero.{u1} (MulOpposite.{u1} R') (MulZeroOneClass.toMulZeroClass.{u1} (MulOpposite.{u1} R') (MonoidWithZero.toMulZeroOneClass.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.algebra.{u1, u2} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18 f) (TrivSqZeroExt.inrHom.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)) (LinearMap.comp.{u1, u1, u1, u2, max u1 u2, u3} R' R' R' M (TrivSqZeroExt.{u1, u2} R' M) A (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u2} (TrivSqZeroExt.{u1, u2} R' M) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (TrivSqZeroExt.{u1, u2} R' M) (Semiring.toNonAssocSemiring.{max u1 u2} (TrivSqZeroExt.{u1, u2} R' M) (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u1, u1, u2} R' _inst_3 (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (MulOpposite.algebra.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u1, u1, u2} R' R' M (SMulZeroClass.toHasSmul.{u1, u2} R' M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} R' M (MulZeroClass.toHasZero.{u1} R' (MulZeroOneClass.toMulZeroClass.{u1} R' (MonoidWithZero.toMulZeroOneClass.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (Mul.toSMul.{u1} R' (Distrib.toHasMul.{u1} R' (NonUnitalNonAssocSemiring.toDistrib.{u1} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (MulAction.toHasSmul.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13))) (SMulZeroClass.toHasSmul.{u1, u2} (MulOpposite.{u1} R') M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MulZeroClass.toHasZero.{u1} (MulOpposite.{u1} R') (MulZeroOneClass.toMulZeroClass.{u1} (MulOpposite.{u1} R') (MonoidWithZero.toMulZeroOneClass.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13))))))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, max u1 u2} R' (TrivSqZeroExt.{u1, u2} R' M) _inst_3 (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u1, u1, u2} R' _inst_3 (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (MulOpposite.algebra.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u1, u1, u2} R' R' M (SMulZeroClass.toHasSmul.{u1, u2} R' M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} R' M (MulZeroClass.toHasZero.{u1} R' (MulZeroOneClass.toMulZeroClass.{u1} R' (MonoidWithZero.toMulZeroOneClass.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (Mul.toSMul.{u1} R' (Distrib.toHasMul.{u1} R' (NonUnitalNonAssocSemiring.toDistrib.{u1} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (MulAction.toHasSmul.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13))) (SMulZeroClass.toHasSmul.{u1, u2} (MulOpposite.{u1} R') M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MulZeroClass.toHasZero.{u1} (MulOpposite.{u1} R') (MulZeroOneClass.toMulZeroClass.{u1} (MulOpposite.{u1} R') (MonoidWithZero.toMulZeroOneClass.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))))) (TrivSqZeroExt.algebra.{u1, u2} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15)) (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (RingHomCompTriple.right_ids.{u1, u1} R' R' (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))) (AlgHom.toLinearMap.{u1, max u1 u2, u3} R' (TrivSqZeroExt.{u1, u2} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u1, u1, u2} R' _inst_3 (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (MulOpposite.algebra.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u1, u1, u2} R' R' M (SMulZeroClass.toHasSmul.{u1, u2} R' M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} R' M (MulZeroClass.toHasZero.{u1} R' (MulZeroOneClass.toMulZeroClass.{u1} R' (MonoidWithZero.toMulZeroOneClass.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (Mul.toSMul.{u1} R' (Distrib.toHasMul.{u1} R' (NonUnitalNonAssocSemiring.toDistrib.{u1} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (MulAction.toHasSmul.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13))) (SMulZeroClass.toHasSmul.{u1, u2} (MulOpposite.{u1} R') M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MulZeroClass.toHasZero.{u1} (MulOpposite.{u1} R') (MulZeroOneClass.toMulZeroClass.{u1} (MulOpposite.{u1} R') (MonoidWithZero.toMulZeroOneClass.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.algebra.{u1, u2} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18 g) (TrivSqZeroExt.inrHom.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13))) -> (Eq.{max (succ (max u1 u2)) (succ u3)} (AlgHom.{u1, max u1 u2, u3} R' (TrivSqZeroExt.{u1, u2} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u1, u1, u2} R' _inst_3 (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (MulOpposite.algebra.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u1, u1, u2} R' R' M (SMulZeroClass.toHasSmul.{u1, u2} R' M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} R' M (MulZeroClass.toHasZero.{u1} R' (MulZeroOneClass.toMulZeroClass.{u1} R' (MonoidWithZero.toMulZeroOneClass.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (Mul.toSMul.{u1} R' (Distrib.toHasMul.{u1} R' (NonUnitalNonAssocSemiring.toDistrib.{u1} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (MulAction.toHasSmul.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13))) (SMulZeroClass.toHasSmul.{u1, u2} (MulOpposite.{u1} R') M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MulZeroClass.toHasZero.{u1} (MulOpposite.{u1} R') (MulZeroOneClass.toMulZeroClass.{u1} (MulOpposite.{u1} R') (MonoidWithZero.toMulZeroOneClass.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.algebra.{u1, u2} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18) f g)
 but is expected to have type
-  forall {R' : Type.{u2}} {M : Type.{u3}} [_inst_3 : CommSemiring.{u2} R'] [_inst_4 : AddCommMonoid.{u3} M] [_inst_13 : Module.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4] [_inst_14 : Module.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4] [_inst_15 : IsCentralScalar.{u2, u3} R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.instZeroMulOpposite.{u2} R' (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.instMonoidWithZeroMulOpposite.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14))))] {A : Type.{u1}} [_inst_17 : Semiring.{u1} A] [_inst_18 : Algebra.{u2, u1} R' A _inst_3 _inst_17] {{f : AlgHom.{u2, max u3 u2, u1} R' (TrivSqZeroExt.{u2, u3} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeInstSemiringMulOpposite.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeInstSemiringMulOppositeInstAlgebraMulOppositeInstSemiringMulOppositeIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18}} {{g : AlgHom.{u2, max u3 u2, u1} R' (TrivSqZeroExt.{u2, u3} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeInstSemiringMulOpposite.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeInstSemiringMulOppositeInstAlgebraMulOppositeInstSemiringMulOppositeIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18}}, (Eq.{max (succ u3) (succ u1)} (LinearMap.{u2, u2, u3, u1} R' R' (CommSemiring.toSemiring.{u2} R' _inst_3) (CommSemiring.toSemiring.{u2} R' _inst_3) (RingHom.id.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))) _inst_13 (Algebra.toModule.{u2, u1} R' A _inst_3 _inst_17 _inst_18)) (LinearMap.comp.{u2, u2, u2, u3, max u2 u3, u1} R' R' R' M (TrivSqZeroExt.{u2, u3} R' M) A (CommSemiring.toSemiring.{u2} R' _inst_3) (CommSemiring.toSemiring.{u2} R' _inst_3) (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (Semiring.toNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeInstSemiringMulOpposite.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13))))))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))) _inst_13 (Algebra.toModule.{u2, max u2 u3} R' (TrivSqZeroExt.{u2, u3} R' M) _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeInstSemiringMulOpposite.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeInstSemiringMulOppositeInstAlgebraMulOppositeInstSemiringMulOppositeIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15)) (Algebra.toModule.{u2, u1} R' A _inst_3 _inst_17 _inst_18) (RingHom.id.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (RingHom.id.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (RingHom.id.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (RingHomCompTriple.ids.{u2, u2} R' R' (CommSemiring.toSemiring.{u2} R' _inst_3) (CommSemiring.toSemiring.{u2} R' _inst_3) (RingHom.id.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AlgHom.toLinearMap.{u2, max u2 u3, u1} R' (TrivSqZeroExt.{u2, u3} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeInstSemiringMulOpposite.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeInstSemiringMulOppositeInstAlgebraMulOppositeInstSemiringMulOppositeIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18 f) (TrivSqZeroExt.inrHom.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)) (LinearMap.comp.{u2, u2, u2, u3, max u2 u3, u1} R' R' R' M (TrivSqZeroExt.{u2, u3} R' M) A (CommSemiring.toSemiring.{u2} R' _inst_3) (CommSemiring.toSemiring.{u2} R' _inst_3) (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (Semiring.toNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeInstSemiringMulOpposite.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13))))))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))) _inst_13 (Algebra.toModule.{u2, max u2 u3} R' (TrivSqZeroExt.{u2, u3} R' M) _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeInstSemiringMulOpposite.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeInstSemiringMulOppositeInstAlgebraMulOppositeInstSemiringMulOppositeIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15)) (Algebra.toModule.{u2, u1} R' A _inst_3 _inst_17 _inst_18) (RingHom.id.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (RingHom.id.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (RingHom.id.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (RingHomCompTriple.ids.{u2, u2} R' R' (CommSemiring.toSemiring.{u2} R' _inst_3) (CommSemiring.toSemiring.{u2} R' _inst_3) (RingHom.id.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AlgHom.toLinearMap.{u2, max u2 u3, u1} R' (TrivSqZeroExt.{u2, u3} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeInstSemiringMulOpposite.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeInstSemiringMulOppositeInstAlgebraMulOppositeInstSemiringMulOppositeIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18 g) (TrivSqZeroExt.inrHom.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13))) -> (Eq.{max (max (succ u2) (succ u3)) (succ u1)} (AlgHom.{u2, max u3 u2, u1} R' (TrivSqZeroExt.{u2, u3} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeInstSemiringMulOpposite.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeInstSemiringMulOppositeInstAlgebraMulOppositeInstSemiringMulOppositeIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18) f g)
+  forall {R' : Type.{u2}} {M : Type.{u3}} [_inst_3 : CommSemiring.{u2} R'] [_inst_4 : AddCommMonoid.{u3} M] [_inst_13 : Module.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4] [_inst_14 : Module.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4] [_inst_15 : IsCentralScalar.{u2, u3} R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.zero.{u2} R' (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.monoidWithZero.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14))))] {A : Type.{u1}} [_inst_17 : Semiring.{u1} A] [_inst_18 : Algebra.{u2, u1} R' A _inst_3 _inst_17] {{f : AlgHom.{u2, max u3 u2, u1} R' (TrivSqZeroExt.{u2, u3} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeSemiringInstAlgebraMulOppositeSemiringIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18}} {{g : AlgHom.{u2, max u3 u2, u1} R' (TrivSqZeroExt.{u2, u3} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeSemiringInstAlgebraMulOppositeSemiringIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18}}, (Eq.{max (succ u3) (succ u1)} (LinearMap.{u2, u2, u3, u1} R' R' (CommSemiring.toSemiring.{u2} R' _inst_3) (CommSemiring.toSemiring.{u2} R' _inst_3) (RingHom.id.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))) _inst_13 (Algebra.toModule.{u2, u1} R' A _inst_3 _inst_17 _inst_18)) (LinearMap.comp.{u2, u2, u2, u3, max u2 u3, u1} R' R' R' M (TrivSqZeroExt.{u2, u3} R' M) A (CommSemiring.toSemiring.{u2} R' _inst_3) (CommSemiring.toSemiring.{u2} R' _inst_3) (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (Semiring.toNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13))))))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))) _inst_13 (Algebra.toModule.{u2, max u2 u3} R' (TrivSqZeroExt.{u2, u3} R' M) _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeSemiringInstAlgebraMulOppositeSemiringIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15)) (Algebra.toModule.{u2, u1} R' A _inst_3 _inst_17 _inst_18) (RingHom.id.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (RingHom.id.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (RingHom.id.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (RingHomCompTriple.ids.{u2, u2} R' R' (CommSemiring.toSemiring.{u2} R' _inst_3) (CommSemiring.toSemiring.{u2} R' _inst_3) (RingHom.id.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AlgHom.toLinearMap.{u2, max u2 u3, u1} R' (TrivSqZeroExt.{u2, u3} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeSemiringInstAlgebraMulOppositeSemiringIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18 f) (TrivSqZeroExt.inrHom.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)) (LinearMap.comp.{u2, u2, u2, u3, max u2 u3, u1} R' R' R' M (TrivSqZeroExt.{u2, u3} R' M) A (CommSemiring.toSemiring.{u2} R' _inst_3) (CommSemiring.toSemiring.{u2} R' _inst_3) (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (Semiring.toNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13))))))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))) _inst_13 (Algebra.toModule.{u2, max u2 u3} R' (TrivSqZeroExt.{u2, u3} R' M) _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeSemiringInstAlgebraMulOppositeSemiringIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15)) (Algebra.toModule.{u2, u1} R' A _inst_3 _inst_17 _inst_18) (RingHom.id.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (RingHom.id.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (RingHom.id.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (RingHomCompTriple.ids.{u2, u2} R' R' (CommSemiring.toSemiring.{u2} R' _inst_3) (CommSemiring.toSemiring.{u2} R' _inst_3) (RingHom.id.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AlgHom.toLinearMap.{u2, max u2 u3, u1} R' (TrivSqZeroExt.{u2, u3} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeSemiringInstAlgebraMulOppositeSemiringIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18 g) (TrivSqZeroExt.inrHom.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13))) -> (Eq.{max (max (succ u2) (succ u3)) (succ u1)} (AlgHom.{u2, max u3 u2, u1} R' (TrivSqZeroExt.{u2, u3} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeSemiringInstAlgebraMulOppositeSemiringIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18) f g)
 Case conversion may be inaccurate. Consider using '#align triv_sq_zero_ext.alg_hom_ext' TrivSqZeroExt.algHom_ext'ₓ'. -/
 @[ext]
 theorem algHom_ext' {A} [Semiring A] [Algebra R' A] ⦃f g : tsze R' M →ₐ[R'] A⦄
@@ -1139,7 +1119,7 @@ variable {A : Type _} [Semiring A] [Algebra R' A]
 lean 3 declaration is
   forall {R' : Type.{u1}} {M : Type.{u2}} [_inst_3 : CommSemiring.{u1} R'] [_inst_4 : AddCommMonoid.{u2} M] [_inst_13 : Module.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4] [_inst_14 : Module.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4] [_inst_15 : IsCentralScalar.{u1, u2} R' M (SMulZeroClass.toHasSmul.{u1, u2} R' M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} R' M (MulZeroClass.toHasZero.{u1} R' (MulZeroOneClass.toMulZeroClass.{u1} R' (MonoidWithZero.toMulZeroOneClass.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toHasSmul.{u1, u2} (MulOpposite.{u1} R') M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MulZeroClass.toHasZero.{u1} (MulOpposite.{u1} R') (MulZeroOneClass.toMulZeroClass.{u1} (MulOpposite.{u1} R') (MonoidWithZero.toMulZeroOneClass.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14))))] {A : Type.{u3}} [_inst_17 : Semiring.{u3} A] [_inst_18 : Algebra.{u1, u3} R' A _inst_3 _inst_17] (f : LinearMap.{u1, u1, u2, u3} R' R' (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18)), (forall (x : M) (y : M), Eq.{succ u3} A (HMul.hMul.{u3, u3, u3} A A A (instHMul.{u3} A (Distrib.toHasMul.{u3} A (NonUnitalNonAssocSemiring.toDistrib.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))))) (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearMap.{u1, u1, u2, u3} R' R' (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18)) (fun (_x : LinearMap.{u1, u1, u2, u3} R' R' (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18)) => M -> A) (LinearMap.hasCoeToFun.{u1, u1, u2, u3} R' R' M A (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))) f x) (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearMap.{u1, u1, u2, u3} R' R' (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18)) (fun (_x : LinearMap.{u1, u1, u2, u3} R' R' (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18)) => M -> A) (LinearMap.hasCoeToFun.{u1, u1, u2, u3} R' R' M A (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))) f y)) (OfNat.ofNat.{u3} A 0 (OfNat.mk.{u3} A 0 (Zero.zero.{u3} A (MulZeroClass.toHasZero.{u3} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17)))))))) -> (AlgHom.{u1, max u1 u2, u3} R' (TrivSqZeroExt.{u1, u2} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (TrivSqZeroExt.liftAux._proof_1.{u1, u2} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15)) _inst_17 (TrivSqZeroExt.algebra.{u1, u2} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18)
 but is expected to have type
-  forall {R' : Type.{u1}} {M : Type.{u2}} [_inst_3 : CommSemiring.{u1} R'] [_inst_4 : AddCommMonoid.{u2} M] [_inst_13 : Module.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4] [_inst_14 : Module.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.instSemiringMulOpposite.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4] [_inst_15 : IsCentralScalar.{u1, u2} R' M (SMulZeroClass.toSMul.{u1, u2} R' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u1, u2} (MulOpposite.{u1} R') M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.instZeroMulOpposite.{u1} R' (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.instMonoidWithZeroMulOpposite.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.instSemiringMulOpposite.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14))))] {A : Type.{u3}} [_inst_17 : Semiring.{u3} A] [_inst_18 : Algebra.{u1, u3} R' A _inst_3 _inst_17] (f : LinearMap.{u1, u1, u2, u3} R' R' (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18)), (forall (x : M) (y : M), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) x) (HMul.hMul.{u3, u3, u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) x) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) y) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) x) (instHMul.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) x) (NonUnitalNonAssocSemiring.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) x) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) x) (Semiring.toNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) x) _inst_17)))) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (LinearMap.{u1, u1, u2, u3} R' R' (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18)) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u3} R' R' M A (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))) f x) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (LinearMap.{u1, u1, u2, u3} R' R' (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18)) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u3} R' R' M A (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))) f y)) (OfNat.ofNat.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) x) 0 (Zero.toOfNat0.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) x) (MonoidWithZero.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) x) (Semiring.toMonoidWithZero.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) x) _inst_17))))) -> (AlgHom.{u1, max u2 u1, u3} R' (TrivSqZeroExt.{u1, u2} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u1, u1, u2} R' _inst_3 (MulOpposite.{u1} R') (MulOpposite.instSemiringMulOpposite.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeInstSemiringMulOpposite.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u1, u1, u2} R' R' M (SMulZeroClass.toSMul.{u1, u2} R' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) (SMulZeroClass.toSMul.{u1, u2} R' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u1, u2} (MulOpposite.{u1} R') M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MonoidWithZero.toZero.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.instSemiringMulOpposite.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.instSemiringMulOpposite.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.instSemiringMulOpposite.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeInstSemiringMulOppositeInstAlgebraMulOppositeInstSemiringMulOppositeIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u1, u2} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18)
+  forall {R' : Type.{u1}} {M : Type.{u2}} [_inst_3 : CommSemiring.{u1} R'] [_inst_4 : AddCommMonoid.{u2} M] [_inst_13 : Module.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4] [_inst_14 : Module.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4] [_inst_15 : IsCentralScalar.{u1, u2} R' M (SMulZeroClass.toSMul.{u1, u2} R' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u1, u2} (MulOpposite.{u1} R') M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.zero.{u1} R' (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.monoidWithZero.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14))))] {A : Type.{u3}} [_inst_17 : Semiring.{u3} A] [_inst_18 : Algebra.{u1, u3} R' A _inst_3 _inst_17] (f : LinearMap.{u1, u1, u2, u3} R' R' (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18)), (forall (x : M) (y : M), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) x) (HMul.hMul.{u3, u3, u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) x) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) y) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) x) (instHMul.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) x) (NonUnitalNonAssocSemiring.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) x) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) x) (Semiring.toNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) x) _inst_17)))) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (LinearMap.{u1, u1, u2, u3} R' R' (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18)) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u3} R' R' M A (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))) f x) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (LinearMap.{u1, u1, u2, u3} R' R' (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18)) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u3} R' R' M A (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))) f y)) (OfNat.ofNat.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) x) 0 (Zero.toOfNat0.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) x) (MonoidWithZero.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) x) (Semiring.toMonoidWithZero.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) x) _inst_17))))) -> (AlgHom.{u1, max u2 u1, u3} R' (TrivSqZeroExt.{u1, u2} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u1, u1, u2} R' _inst_3 (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u1, u1, u2} R' R' M (SMulZeroClass.toSMul.{u1, u2} R' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) (SMulZeroClass.toSMul.{u1, u2} R' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u1, u2} (MulOpposite.{u1} R') M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MonoidWithZero.toZero.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeSemiringInstAlgebraMulOppositeSemiringIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u1, u2} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18)
 Case conversion may be inaccurate. Consider using '#align triv_sq_zero_ext.lift_aux TrivSqZeroExt.liftAuxₓ'. -/
 /-- There is an alg_hom from the trivial square zero extension to any `R`-algebra with a submodule
 whose products are all zero.
@@ -1162,7 +1142,7 @@ def liftAux (f : M →ₗ[R'] A) (hf : ∀ x y, f x * f y = 0) : tsze R' M →
 lean 3 declaration is
   forall {R' : Type.{u1}} {M : Type.{u2}} [_inst_3 : CommSemiring.{u1} R'] [_inst_4 : AddCommMonoid.{u2} M] [_inst_13 : Module.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4] [_inst_14 : Module.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4] [_inst_15 : IsCentralScalar.{u1, u2} R' M (SMulZeroClass.toHasSmul.{u1, u2} R' M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} R' M (MulZeroClass.toHasZero.{u1} R' (MulZeroOneClass.toMulZeroClass.{u1} R' (MonoidWithZero.toMulZeroOneClass.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toHasSmul.{u1, u2} (MulOpposite.{u1} R') M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MulZeroClass.toHasZero.{u1} (MulOpposite.{u1} R') (MulZeroOneClass.toMulZeroClass.{u1} (MulOpposite.{u1} R') (MonoidWithZero.toMulZeroOneClass.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14))))] {A : Type.{u3}} [_inst_17 : Semiring.{u3} A] [_inst_18 : Algebra.{u1, u3} R' A _inst_3 _inst_17] (f : LinearMap.{u1, u1, u2, u3} R' R' (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18)) (hf : forall (x : M) (y : M), Eq.{succ u3} A (HMul.hMul.{u3, u3, u3} A A A (instHMul.{u3} A (Distrib.toHasMul.{u3} A (NonUnitalNonAssocSemiring.toDistrib.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))))) (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearMap.{u1, u1, u2, u3} R' R' (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18)) (fun (_x : LinearMap.{u1, u1, u2, u3} R' R' (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18)) => M -> A) (LinearMap.hasCoeToFun.{u1, u1, u2, u3} R' R' M A (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))) f x) (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearMap.{u1, u1, u2, u3} R' R' (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18)) (fun (_x : LinearMap.{u1, u1, u2, u3} R' R' (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18)) => M -> A) (LinearMap.hasCoeToFun.{u1, u1, u2, u3} R' R' M A (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))) f y)) (OfNat.ofNat.{u3} A 0 (OfNat.mk.{u3} A 0 (Zero.zero.{u3} A (MulZeroClass.toHasZero.{u3} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17)))))))) (m : M), Eq.{succ u3} A (coeFn.{max (succ (max u1 u2)) (succ u3), max (succ (max u1 u2)) (succ u3)} (AlgHom.{u1, max u1 u2, u3} R' (TrivSqZeroExt.{u1, u2} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (TrivSqZeroExt.liftAux._proof_1.{u1, u2} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15)) _inst_17 (TrivSqZeroExt.algebra.{u1, u2} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18) (fun (_x : AlgHom.{u1, max u1 u2, u3} R' (TrivSqZeroExt.{u1, u2} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (TrivSqZeroExt.liftAux._proof_1.{u1, u2} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15)) _inst_17 (TrivSqZeroExt.algebra.{u1, u2} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18) => (TrivSqZeroExt.{u1, u2} R' M) -> A) ([anonymous].{u1, max u1 u2, u3} R' (TrivSqZeroExt.{u1, u2} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (TrivSqZeroExt.liftAux._proof_1.{u1, u2} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15)) _inst_17 (TrivSqZeroExt.algebra.{u1, u2} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18) (TrivSqZeroExt.liftAux.{u1, u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15 A _inst_17 _inst_18 f hf) (TrivSqZeroExt.inr.{u1, u2} R' M (MulZeroClass.toHasZero.{u1} R' (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))))) m)) (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearMap.{u1, u1, u2, u3} R' R' (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18)) (fun (_x : LinearMap.{u1, u1, u2, u3} R' R' (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18)) => M -> A) (LinearMap.hasCoeToFun.{u1, u1, u2, u3} R' R' M A (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))) f m)
 but is expected to have type
-  forall {R' : Type.{u2}} {M : Type.{u3}} [_inst_3 : CommSemiring.{u2} R'] [_inst_4 : AddCommMonoid.{u3} M] [_inst_13 : Module.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4] [_inst_14 : Module.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4] [_inst_15 : IsCentralScalar.{u2, u3} R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.instZeroMulOpposite.{u2} R' (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.instMonoidWithZeroMulOpposite.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14))))] {A : Type.{u1}} [_inst_17 : Semiring.{u1} A] [_inst_18 : Algebra.{u2, u1} R' A _inst_3 _inst_17] (f : LinearMap.{u2, u2, u3, u1} R' R' (CommSemiring.toSemiring.{u2} R' _inst_3) (CommSemiring.toSemiring.{u2} R' _inst_3) (RingHom.id.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))) _inst_13 (Algebra.toModule.{u2, u1} R' A _inst_3 _inst_17 _inst_18)) (hf : forall (x : M) (y : M), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) x) (HMul.hMul.{u1, u1, u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) x) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) y) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) x) (instHMul.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) x) (NonUnitalNonAssocSemiring.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) x) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) x) (Semiring.toNonAssocSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) x) _inst_17)))) (FunLike.coe.{max (succ u3) (succ u1), succ u3, succ u1} (LinearMap.{u2, u2, u3, u1} R' R' (CommSemiring.toSemiring.{u2} R' _inst_3) (CommSemiring.toSemiring.{u2} R' _inst_3) (RingHom.id.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))) _inst_13 (Algebra.toModule.{u2, u1} R' A _inst_3 _inst_17 _inst_18)) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u3, u1} R' R' M A (CommSemiring.toSemiring.{u2} R' _inst_3) (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))) _inst_13 (Algebra.toModule.{u2, u1} R' A _inst_3 _inst_17 _inst_18) (RingHom.id.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) f x) (FunLike.coe.{max (succ u3) (succ u1), succ u3, succ u1} (LinearMap.{u2, u2, u3, u1} R' R' (CommSemiring.toSemiring.{u2} R' _inst_3) (CommSemiring.toSemiring.{u2} R' _inst_3) (RingHom.id.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))) _inst_13 (Algebra.toModule.{u2, u1} R' A _inst_3 _inst_17 _inst_18)) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u3, u1} R' R' M A (CommSemiring.toSemiring.{u2} R' _inst_3) (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))) _inst_13 (Algebra.toModule.{u2, u1} R' A _inst_3 _inst_17 _inst_18) (RingHom.id.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) f y)) (OfNat.ofNat.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) x) 0 (Zero.toOfNat0.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) x) (MonoidWithZero.toZero.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) x) (Semiring.toMonoidWithZero.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) x) _inst_17))))) (m : M), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : TrivSqZeroExt.{u2, u3} R' M) => A) (TrivSqZeroExt.inr.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) m)) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u3), succ u1} (AlgHom.{u2, max u3 u2, u1} R' (TrivSqZeroExt.{u2, u3} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeInstSemiringMulOpposite.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeInstSemiringMulOppositeInstAlgebraMulOppositeInstSemiringMulOppositeIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18) (TrivSqZeroExt.{u2, u3} R' M) (fun (_x : TrivSqZeroExt.{u2, u3} R' M) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : TrivSqZeroExt.{u2, u3} R' M) => A) _x) (SMulHomClass.toFunLike.{max (max u2 u3) u1, u2, max u2 u3, u1} (AlgHom.{u2, max u3 u2, u1} R' (TrivSqZeroExt.{u2, u3} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeInstSemiringMulOpposite.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeInstSemiringMulOppositeInstAlgebraMulOppositeInstSemiringMulOppositeIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18) R' (TrivSqZeroExt.{u2, u3} R' M) A (SMulZeroClass.toSMul.{u2, max u2 u3} R' (TrivSqZeroExt.{u2, u3} R' M) (AddMonoid.toZero.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (AddCommMonoid.toAddMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (Semiring.toNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeInstSemiringMulOpposite.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13))))))))))) (DistribSMul.toSMulZeroClass.{u2, max u2 u3} R' (TrivSqZeroExt.{u2, u3} R' M) (AddMonoid.toAddZeroClass.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (AddCommMonoid.toAddMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (Semiring.toNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeInstSemiringMulOpposite.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13))))))))))) (DistribMulAction.toDistribSMul.{u2, max u2 u3} R' (TrivSqZeroExt.{u2, u3} R' M) (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddCommMonoid.toAddMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (Semiring.toNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeInstSemiringMulOpposite.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))))))) (Module.toDistribMulAction.{u2, max u2 u3} R' (TrivSqZeroExt.{u2, u3} R' M) (CommSemiring.toSemiring.{u2} R' _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (Semiring.toNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeInstSemiringMulOpposite.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13))))))))) (Algebra.toModule.{u2, max u2 u3} R' (TrivSqZeroExt.{u2, u3} R' M) _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeInstSemiringMulOpposite.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeInstSemiringMulOppositeInstAlgebraMulOppositeInstSemiringMulOppositeIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15)))))) (SMulZeroClass.toSMul.{u2, u1} R' A (AddMonoid.toZero.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))))) (DistribSMul.toSMulZeroClass.{u2, u1} R' A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))))) (DistribMulAction.toDistribSMul.{u2, u1} R' A (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17)))) (Module.toDistribMulAction.{u2, u1} R' A (CommSemiring.toSemiring.{u2} R' _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))) (Algebra.toModule.{u2, u1} R' A _inst_3 _inst_17 _inst_18))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u2 u3) u1, u2, max u2 u3, u1} (AlgHom.{u2, max u3 u2, u1} R' (TrivSqZeroExt.{u2, u3} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeInstSemiringMulOpposite.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeInstSemiringMulOppositeInstAlgebraMulOppositeInstSemiringMulOppositeIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18) R' (TrivSqZeroExt.{u2, u3} R' M) A (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddCommMonoid.toAddMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (Semiring.toNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeInstSemiringMulOpposite.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))))))) (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17)))) (Module.toDistribMulAction.{u2, max u2 u3} R' (TrivSqZeroExt.{u2, u3} R' M) (CommSemiring.toSemiring.{u2} R' _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (Semiring.toNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeInstSemiringMulOpposite.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13))))))))) (Algebra.toModule.{u2, max u2 u3} R' (TrivSqZeroExt.{u2, u3} R' M) _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeInstSemiringMulOpposite.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeInstSemiringMulOppositeInstAlgebraMulOppositeInstSemiringMulOppositeIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15))) (Module.toDistribMulAction.{u2, u1} R' A (CommSemiring.toSemiring.{u2} R' _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))) (Algebra.toModule.{u2, u1} R' A _inst_3 _inst_17 _inst_18)) (SemilinearMapClass.distribMulActionHomClass.{u2, max u2 u3, u1, max (max u2 u3) u1} R' (TrivSqZeroExt.{u2, u3} R' M) A (AlgHom.{u2, max u3 u2, u1} R' (TrivSqZeroExt.{u2, u3} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeInstSemiringMulOpposite.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeInstSemiringMulOppositeInstAlgebraMulOppositeInstSemiringMulOppositeIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18) (CommSemiring.toSemiring.{u2} R' _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (Semiring.toNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeInstSemiringMulOpposite.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13))))))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))) (Algebra.toModule.{u2, max u2 u3} R' (TrivSqZeroExt.{u2, u3} R' M) _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeInstSemiringMulOpposite.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeInstSemiringMulOppositeInstAlgebraMulOppositeInstSemiringMulOppositeIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15)) (Algebra.toModule.{u2, u1} R' A _inst_3 _inst_17 _inst_18) (AlgHomClass.linearMapClass.{u2, max u2 u3, u1, max (max u2 u3) u1} R' (TrivSqZeroExt.{u2, u3} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeInstSemiringMulOpposite.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeInstSemiringMulOppositeInstAlgebraMulOppositeInstSemiringMulOppositeIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18 (AlgHom.{u2, max u3 u2, u1} R' (TrivSqZeroExt.{u2, u3} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeInstSemiringMulOpposite.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeInstSemiringMulOppositeInstAlgebraMulOppositeInstSemiringMulOppositeIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18) (AlgHom.algHomClass.{u2, max u2 u3, u1} R' (TrivSqZeroExt.{u2, u3} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeInstSemiringMulOpposite.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeInstSemiringMulOppositeInstAlgebraMulOppositeInstSemiringMulOppositeIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18))))) (TrivSqZeroExt.liftAux.{u2, u3, u1} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15 A _inst_17 _inst_18 f hf) (TrivSqZeroExt.inr.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) m)) (FunLike.coe.{max (succ u3) (succ u1), succ u3, succ u1} (LinearMap.{u2, u2, u3, u1} R' R' (CommSemiring.toSemiring.{u2} R' _inst_3) (CommSemiring.toSemiring.{u2} R' _inst_3) (RingHom.id.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))) _inst_13 (Algebra.toModule.{u2, u1} R' A _inst_3 _inst_17 _inst_18)) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u3, u1} R' R' M A (CommSemiring.toSemiring.{u2} R' _inst_3) (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))) _inst_13 (Algebra.toModule.{u2, u1} R' A _inst_3 _inst_17 _inst_18) (RingHom.id.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) f m)
+  forall {R' : Type.{u2}} {M : Type.{u3}} [_inst_3 : CommSemiring.{u2} R'] [_inst_4 : AddCommMonoid.{u3} M] [_inst_13 : Module.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4] [_inst_14 : Module.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4] [_inst_15 : IsCentralScalar.{u2, u3} R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.zero.{u2} R' (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.monoidWithZero.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14))))] {A : Type.{u1}} [_inst_17 : Semiring.{u1} A] [_inst_18 : Algebra.{u2, u1} R' A _inst_3 _inst_17] (f : LinearMap.{u2, u2, u3, u1} R' R' (CommSemiring.toSemiring.{u2} R' _inst_3) (CommSemiring.toSemiring.{u2} R' _inst_3) (RingHom.id.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))) _inst_13 (Algebra.toModule.{u2, u1} R' A _inst_3 _inst_17 _inst_18)) (hf : forall (x : M) (y : M), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) x) (HMul.hMul.{u1, u1, u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) x) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) y) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) x) (instHMul.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) x) (NonUnitalNonAssocSemiring.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) x) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) x) (Semiring.toNonAssocSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) x) _inst_17)))) (FunLike.coe.{max (succ u3) (succ u1), succ u3, succ u1} (LinearMap.{u2, u2, u3, u1} R' R' (CommSemiring.toSemiring.{u2} R' _inst_3) (CommSemiring.toSemiring.{u2} R' _inst_3) (RingHom.id.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))) _inst_13 (Algebra.toModule.{u2, u1} R' A _inst_3 _inst_17 _inst_18)) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u3, u1} R' R' M A (CommSemiring.toSemiring.{u2} R' _inst_3) (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))) _inst_13 (Algebra.toModule.{u2, u1} R' A _inst_3 _inst_17 _inst_18) (RingHom.id.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) f x) (FunLike.coe.{max (succ u3) (succ u1), succ u3, succ u1} (LinearMap.{u2, u2, u3, u1} R' R' (CommSemiring.toSemiring.{u2} R' _inst_3) (CommSemiring.toSemiring.{u2} R' _inst_3) (RingHom.id.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))) _inst_13 (Algebra.toModule.{u2, u1} R' A _inst_3 _inst_17 _inst_18)) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u3, u1} R' R' M A (CommSemiring.toSemiring.{u2} R' _inst_3) (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))) _inst_13 (Algebra.toModule.{u2, u1} R' A _inst_3 _inst_17 _inst_18) (RingHom.id.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) f y)) (OfNat.ofNat.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) x) 0 (Zero.toOfNat0.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) x) (MonoidWithZero.toZero.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) x) (Semiring.toMonoidWithZero.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) x) _inst_17))))) (m : M), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : TrivSqZeroExt.{u2, u3} R' M) => A) (TrivSqZeroExt.inr.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) m)) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u3), succ u1} (AlgHom.{u2, max u3 u2, u1} R' (TrivSqZeroExt.{u2, u3} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeSemiringInstAlgebraMulOppositeSemiringIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18) (TrivSqZeroExt.{u2, u3} R' M) (fun (_x : TrivSqZeroExt.{u2, u3} R' M) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : TrivSqZeroExt.{u2, u3} R' M) => A) _x) (SMulHomClass.toFunLike.{max (max u2 u3) u1, u2, max u2 u3, u1} (AlgHom.{u2, max u3 u2, u1} R' (TrivSqZeroExt.{u2, u3} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeSemiringInstAlgebraMulOppositeSemiringIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18) R' (TrivSqZeroExt.{u2, u3} R' M) A (SMulZeroClass.toSMul.{u2, max u2 u3} R' (TrivSqZeroExt.{u2, u3} R' M) (AddMonoid.toZero.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (AddCommMonoid.toAddMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (Semiring.toNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13))))))))))) (DistribSMul.toSMulZeroClass.{u2, max u2 u3} R' (TrivSqZeroExt.{u2, u3} R' M) (AddMonoid.toAddZeroClass.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (AddCommMonoid.toAddMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (Semiring.toNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13))))))))))) (DistribMulAction.toDistribSMul.{u2, max u2 u3} R' (TrivSqZeroExt.{u2, u3} R' M) (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddCommMonoid.toAddMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (Semiring.toNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))))))) (Module.toDistribMulAction.{u2, max u2 u3} R' (TrivSqZeroExt.{u2, u3} R' M) (CommSemiring.toSemiring.{u2} R' _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (Semiring.toNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13))))))))) (Algebra.toModule.{u2, max u2 u3} R' (TrivSqZeroExt.{u2, u3} R' M) _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeSemiringInstAlgebraMulOppositeSemiringIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15)))))) (SMulZeroClass.toSMul.{u2, u1} R' A (AddMonoid.toZero.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))))) (DistribSMul.toSMulZeroClass.{u2, u1} R' A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))))) (DistribMulAction.toDistribSMul.{u2, u1} R' A (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17)))) (Module.toDistribMulAction.{u2, u1} R' A (CommSemiring.toSemiring.{u2} R' _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))) (Algebra.toModule.{u2, u1} R' A _inst_3 _inst_17 _inst_18))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u2 u3) u1, u2, max u2 u3, u1} (AlgHom.{u2, max u3 u2, u1} R' (TrivSqZeroExt.{u2, u3} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeSemiringInstAlgebraMulOppositeSemiringIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18) R' (TrivSqZeroExt.{u2, u3} R' M) A (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddCommMonoid.toAddMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (Semiring.toNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))))))) (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17)))) (Module.toDistribMulAction.{u2, max u2 u3} R' (TrivSqZeroExt.{u2, u3} R' M) (CommSemiring.toSemiring.{u2} R' _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (Semiring.toNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13))))))))) (Algebra.toModule.{u2, max u2 u3} R' (TrivSqZeroExt.{u2, u3} R' M) _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeSemiringInstAlgebraMulOppositeSemiringIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15))) (Module.toDistribMulAction.{u2, u1} R' A (CommSemiring.toSemiring.{u2} R' _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))) (Algebra.toModule.{u2, u1} R' A _inst_3 _inst_17 _inst_18)) (SemilinearMapClass.distribMulActionHomClass.{u2, max u2 u3, u1, max (max u2 u3) u1} R' (TrivSqZeroExt.{u2, u3} R' M) A (AlgHom.{u2, max u3 u2, u1} R' (TrivSqZeroExt.{u2, u3} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeSemiringInstAlgebraMulOppositeSemiringIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18) (CommSemiring.toSemiring.{u2} R' _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (Semiring.toNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13))))))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))) (Algebra.toModule.{u2, max u2 u3} R' (TrivSqZeroExt.{u2, u3} R' M) _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeSemiringInstAlgebraMulOppositeSemiringIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15)) (Algebra.toModule.{u2, u1} R' A _inst_3 _inst_17 _inst_18) (AlgHomClass.linearMapClass.{u2, max u2 u3, u1, max (max u2 u3) u1} R' (TrivSqZeroExt.{u2, u3} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeSemiringInstAlgebraMulOppositeSemiringIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18 (AlgHom.{u2, max u3 u2, u1} R' (TrivSqZeroExt.{u2, u3} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeSemiringInstAlgebraMulOppositeSemiringIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18) (AlgHom.algHomClass.{u2, max u2 u3, u1} R' (TrivSqZeroExt.{u2, u3} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeSemiringInstAlgebraMulOppositeSemiringIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18))))) (TrivSqZeroExt.liftAux.{u2, u3, u1} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15 A _inst_17 _inst_18 f hf) (TrivSqZeroExt.inr.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) m)) (FunLike.coe.{max (succ u3) (succ u1), succ u3, succ u1} (LinearMap.{u2, u2, u3, u1} R' R' (CommSemiring.toSemiring.{u2} R' _inst_3) (CommSemiring.toSemiring.{u2} R' _inst_3) (RingHom.id.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))) _inst_13 (Algebra.toModule.{u2, u1} R' A _inst_3 _inst_17 _inst_18)) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u3, u1} R' R' M A (CommSemiring.toSemiring.{u2} R' _inst_3) (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))) _inst_13 (Algebra.toModule.{u2, u1} R' A _inst_3 _inst_17 _inst_18) (RingHom.id.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) f m)
 Case conversion may be inaccurate. Consider using '#align triv_sq_zero_ext.lift_aux_apply_inr TrivSqZeroExt.liftAux_apply_inrₓ'. -/
 @[simp]
 theorem liftAux_apply_inr (f : M →ₗ[R'] A) (hf : ∀ x y, f x * f y = 0) (m : M) :
@@ -1174,7 +1154,7 @@ theorem liftAux_apply_inr (f : M →ₗ[R'] A) (hf : ∀ x y, f x * f y = 0) (m
 lean 3 declaration is
   forall {R' : Type.{u1}} {M : Type.{u2}} [_inst_3 : CommSemiring.{u1} R'] [_inst_4 : AddCommMonoid.{u2} M] [_inst_13 : Module.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4] [_inst_14 : Module.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4] [_inst_15 : IsCentralScalar.{u1, u2} R' M (SMulZeroClass.toHasSmul.{u1, u2} R' M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} R' M (MulZeroClass.toHasZero.{u1} R' (MulZeroOneClass.toMulZeroClass.{u1} R' (MonoidWithZero.toMulZeroOneClass.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toHasSmul.{u1, u2} (MulOpposite.{u1} R') M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MulZeroClass.toHasZero.{u1} (MulOpposite.{u1} R') (MulZeroOneClass.toMulZeroClass.{u1} (MulOpposite.{u1} R') (MonoidWithZero.toMulZeroOneClass.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14))))] {A : Type.{u3}} [_inst_17 : Semiring.{u3} A] [_inst_18 : Algebra.{u1, u3} R' A _inst_3 _inst_17] (f : LinearMap.{u1, u1, u2, u3} R' R' (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18)) (hf : forall (x : M) (y : M), Eq.{succ u3} A (HMul.hMul.{u3, u3, u3} A A A (instHMul.{u3} A (Distrib.toHasMul.{u3} A (NonUnitalNonAssocSemiring.toDistrib.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))))) (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearMap.{u1, u1, u2, u3} R' R' (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18)) (fun (_x : LinearMap.{u1, u1, u2, u3} R' R' (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18)) => M -> A) (LinearMap.hasCoeToFun.{u1, u1, u2, u3} R' R' M A (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))) f x) (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearMap.{u1, u1, u2, u3} R' R' (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18)) (fun (_x : LinearMap.{u1, u1, u2, u3} R' R' (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18)) => M -> A) (LinearMap.hasCoeToFun.{u1, u1, u2, u3} R' R' M A (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))) f y)) (OfNat.ofNat.{u3} A 0 (OfNat.mk.{u3} A 0 (Zero.zero.{u3} A (MulZeroClass.toHasZero.{u3} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17)))))))), Eq.{max (succ u2) (succ u3)} (LinearMap.{u1, u1, u2, u3} R' R' (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18)) (LinearMap.comp.{u1, u1, u1, u2, max u1 u2, u3} R' R' R' M (TrivSqZeroExt.{u1, u2} R' M) A (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u2} (TrivSqZeroExt.{u1, u2} R' M) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (TrivSqZeroExt.{u1, u2} R' M) (Semiring.toNonAssocSemiring.{max u1 u2} (TrivSqZeroExt.{u1, u2} R' M) (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (TrivSqZeroExt.liftAux._proof_1.{u1, u2} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, max u1 u2} R' (TrivSqZeroExt.{u1, u2} R' M) _inst_3 (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (TrivSqZeroExt.liftAux._proof_1.{u1, u2} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15)) (TrivSqZeroExt.algebra.{u1, u2} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15)) (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (RingHomCompTriple.right_ids.{u1, u1} R' R' (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))) (AlgHom.toLinearMap.{u1, max u1 u2, u3} R' (TrivSqZeroExt.{u1, u2} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (TrivSqZeroExt.liftAux._proof_1.{u1, u2} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15)) _inst_17 (TrivSqZeroExt.algebra.{u1, u2} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18 (TrivSqZeroExt.liftAux.{u1, u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15 A _inst_17 _inst_18 f hf)) (TrivSqZeroExt.inrHom.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)) f
 but is expected to have type
-  forall {R' : Type.{u2}} {M : Type.{u3}} [_inst_3 : CommSemiring.{u2} R'] [_inst_4 : AddCommMonoid.{u3} M] [_inst_13 : Module.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4] [_inst_14 : Module.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4] [_inst_15 : IsCentralScalar.{u2, u3} R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.instZeroMulOpposite.{u2} R' (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.instMonoidWithZeroMulOpposite.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14))))] {A : Type.{u1}} [_inst_17 : Semiring.{u1} A] [_inst_18 : Algebra.{u2, u1} R' A _inst_3 _inst_17] (f : LinearMap.{u2, u2, u3, u1} R' R' (CommSemiring.toSemiring.{u2} R' _inst_3) (CommSemiring.toSemiring.{u2} R' _inst_3) (RingHom.id.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))) _inst_13 (Algebra.toModule.{u2, u1} R' A _inst_3 _inst_17 _inst_18)) (hf : forall (x : M) (y : M), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) x) (HMul.hMul.{u1, u1, u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) x) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) y) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) x) (instHMul.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) x) (NonUnitalNonAssocSemiring.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) x) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) x) (Semiring.toNonAssocSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) x) _inst_17)))) (FunLike.coe.{max (succ u3) (succ u1), succ u3, succ u1} (LinearMap.{u2, u2, u3, u1} R' R' (CommSemiring.toSemiring.{u2} R' _inst_3) (CommSemiring.toSemiring.{u2} R' _inst_3) (RingHom.id.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))) _inst_13 (Algebra.toModule.{u2, u1} R' A _inst_3 _inst_17 _inst_18)) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u3, u1} R' R' M A (CommSemiring.toSemiring.{u2} R' _inst_3) (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))) _inst_13 (Algebra.toModule.{u2, u1} R' A _inst_3 _inst_17 _inst_18) (RingHom.id.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) f x) (FunLike.coe.{max (succ u3) (succ u1), succ u3, succ u1} (LinearMap.{u2, u2, u3, u1} R' R' (CommSemiring.toSemiring.{u2} R' _inst_3) (CommSemiring.toSemiring.{u2} R' _inst_3) (RingHom.id.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))) _inst_13 (Algebra.toModule.{u2, u1} R' A _inst_3 _inst_17 _inst_18)) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u3, u1} R' R' M A (CommSemiring.toSemiring.{u2} R' _inst_3) (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))) _inst_13 (Algebra.toModule.{u2, u1} R' A _inst_3 _inst_17 _inst_18) (RingHom.id.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) f y)) (OfNat.ofNat.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) x) 0 (Zero.toOfNat0.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) x) (MonoidWithZero.toZero.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) x) (Semiring.toMonoidWithZero.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) x) _inst_17))))), Eq.{max (succ u3) (succ u1)} (LinearMap.{u2, u2, u3, u1} R' R' (CommSemiring.toSemiring.{u2} R' _inst_3) (CommSemiring.toSemiring.{u2} R' _inst_3) (RingHom.id.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))) _inst_13 (Algebra.toModule.{u2, u1} R' A _inst_3 _inst_17 _inst_18)) (LinearMap.comp.{u2, u2, u2, u3, max u2 u3, u1} R' R' R' M (TrivSqZeroExt.{u2, u3} R' M) A (CommSemiring.toSemiring.{u2} R' _inst_3) (CommSemiring.toSemiring.{u2} R' _inst_3) (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (Semiring.toNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeInstSemiringMulOpposite.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13))))))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))) _inst_13 (Algebra.toModule.{u2, max u2 u3} R' (TrivSqZeroExt.{u2, u3} R' M) _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeInstSemiringMulOpposite.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeInstSemiringMulOppositeInstAlgebraMulOppositeInstSemiringMulOppositeIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15)) (Algebra.toModule.{u2, u1} R' A _inst_3 _inst_17 _inst_18) (RingHom.id.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (RingHom.id.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (RingHom.id.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (RingHomCompTriple.ids.{u2, u2} R' R' (CommSemiring.toSemiring.{u2} R' _inst_3) (CommSemiring.toSemiring.{u2} R' _inst_3) (RingHom.id.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AlgHom.toLinearMap.{u2, max u2 u3, u1} R' (TrivSqZeroExt.{u2, u3} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeInstSemiringMulOpposite.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeInstSemiringMulOppositeInstAlgebraMulOppositeInstSemiringMulOppositeIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18 (TrivSqZeroExt.liftAux.{u2, u3, u1} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15 A _inst_17 _inst_18 f hf)) (TrivSqZeroExt.inrHom.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)) f
+  forall {R' : Type.{u2}} {M : Type.{u3}} [_inst_3 : CommSemiring.{u2} R'] [_inst_4 : AddCommMonoid.{u3} M] [_inst_13 : Module.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4] [_inst_14 : Module.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4] [_inst_15 : IsCentralScalar.{u2, u3} R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.zero.{u2} R' (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.monoidWithZero.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14))))] {A : Type.{u1}} [_inst_17 : Semiring.{u1} A] [_inst_18 : Algebra.{u2, u1} R' A _inst_3 _inst_17] (f : LinearMap.{u2, u2, u3, u1} R' R' (CommSemiring.toSemiring.{u2} R' _inst_3) (CommSemiring.toSemiring.{u2} R' _inst_3) (RingHom.id.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))) _inst_13 (Algebra.toModule.{u2, u1} R' A _inst_3 _inst_17 _inst_18)) (hf : forall (x : M) (y : M), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) x) (HMul.hMul.{u1, u1, u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) x) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) y) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) x) (instHMul.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) x) (NonUnitalNonAssocSemiring.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) x) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) x) (Semiring.toNonAssocSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) x) _inst_17)))) (FunLike.coe.{max (succ u3) (succ u1), succ u3, succ u1} (LinearMap.{u2, u2, u3, u1} R' R' (CommSemiring.toSemiring.{u2} R' _inst_3) (CommSemiring.toSemiring.{u2} R' _inst_3) (RingHom.id.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))) _inst_13 (Algebra.toModule.{u2, u1} R' A _inst_3 _inst_17 _inst_18)) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u3, u1} R' R' M A (CommSemiring.toSemiring.{u2} R' _inst_3) (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))) _inst_13 (Algebra.toModule.{u2, u1} R' A _inst_3 _inst_17 _inst_18) (RingHom.id.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) f x) (FunLike.coe.{max (succ u3) (succ u1), succ u3, succ u1} (LinearMap.{u2, u2, u3, u1} R' R' (CommSemiring.toSemiring.{u2} R' _inst_3) (CommSemiring.toSemiring.{u2} R' _inst_3) (RingHom.id.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))) _inst_13 (Algebra.toModule.{u2, u1} R' A _inst_3 _inst_17 _inst_18)) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u3, u1} R' R' M A (CommSemiring.toSemiring.{u2} R' _inst_3) (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))) _inst_13 (Algebra.toModule.{u2, u1} R' A _inst_3 _inst_17 _inst_18) (RingHom.id.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) f y)) (OfNat.ofNat.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) x) 0 (Zero.toOfNat0.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) x) (MonoidWithZero.toZero.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) x) (Semiring.toMonoidWithZero.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) x) _inst_17))))), Eq.{max (succ u3) (succ u1)} (LinearMap.{u2, u2, u3, u1} R' R' (CommSemiring.toSemiring.{u2} R' _inst_3) (CommSemiring.toSemiring.{u2} R' _inst_3) (RingHom.id.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))) _inst_13 (Algebra.toModule.{u2, u1} R' A _inst_3 _inst_17 _inst_18)) (LinearMap.comp.{u2, u2, u2, u3, max u2 u3, u1} R' R' R' M (TrivSqZeroExt.{u2, u3} R' M) A (CommSemiring.toSemiring.{u2} R' _inst_3) (CommSemiring.toSemiring.{u2} R' _inst_3) (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (Semiring.toNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13))))))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))) _inst_13 (Algebra.toModule.{u2, max u2 u3} R' (TrivSqZeroExt.{u2, u3} R' M) _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeSemiringInstAlgebraMulOppositeSemiringIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15)) (Algebra.toModule.{u2, u1} R' A _inst_3 _inst_17 _inst_18) (RingHom.id.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (RingHom.id.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (RingHom.id.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (RingHomCompTriple.ids.{u2, u2} R' R' (CommSemiring.toSemiring.{u2} R' _inst_3) (CommSemiring.toSemiring.{u2} R' _inst_3) (RingHom.id.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AlgHom.toLinearMap.{u2, max u2 u3, u1} R' (TrivSqZeroExt.{u2, u3} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.semiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeSemiringInstAlgebraMulOppositeSemiringIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18 (TrivSqZeroExt.liftAux.{u2, u3, u1} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15 A _inst_17 _inst_18 f hf)) (TrivSqZeroExt.inrHom.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)) f
 Case conversion may be inaccurate. Consider using '#align triv_sq_zero_ext.lift_aux_comp_inr_hom TrivSqZeroExt.liftAux_comp_inrHomₓ'. -/
 @[simp]
 theorem liftAux_comp_inrHom (f : M →ₗ[R'] A) (hf : ∀ x y, f x * f y = 0) :
@@ -1182,23 +1162,19 @@ theorem liftAux_comp_inrHom (f : M →ₗ[R'] A) (hf : ∀ x y, f x * f y = 0) :
   LinearMap.ext <| liftAux_apply_inr f hf
 #align triv_sq_zero_ext.lift_aux_comp_inr_hom TrivSqZeroExt.liftAux_comp_inrHom
 
-/- warning: triv_sq_zero_ext.lift_aux_inr_hom -> TrivSqZeroExt.liftAux_inrHom is a dubious translation:
-lean 3 declaration is
-  forall {R' : Type.{u1}} {M : Type.{u2}} [_inst_3 : CommSemiring.{u1} R'] [_inst_4 : AddCommMonoid.{u2} M] [_inst_13 : Module.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4] [_inst_14 : Module.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4] [_inst_15 : IsCentralScalar.{u1, u2} R' M (SMulZeroClass.toHasSmul.{u1, u2} R' M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} R' M (MulZeroClass.toHasZero.{u1} R' (MulZeroOneClass.toMulZeroClass.{u1} R' (MonoidWithZero.toMulZeroOneClass.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toHasSmul.{u1, u2} (MulOpposite.{u1} R') M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MulZeroClass.toHasZero.{u1} (MulOpposite.{u1} R') (MulZeroOneClass.toMulZeroClass.{u1} (MulOpposite.{u1} R') (MonoidWithZero.toMulZeroOneClass.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14))))], Eq.{succ (max u1 u2)} (AlgHom.{u1, max u1 u2, max u1 u2} R' (TrivSqZeroExt.{u1, u2} R' M) (TrivSqZeroExt.{u1, u2} R' M) _inst_3 (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (TrivSqZeroExt.liftAux._proof_1.{u1, u2} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15)) (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u1, u1, u2} R' _inst_3 (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (MulOpposite.algebra.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u1, u1, u2} R' R' M (SMulZeroClass.toHasSmul.{u1, u2} R' M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} R' M (MulZeroClass.toHasZero.{u1} R' (MulZeroOneClass.toMulZeroClass.{u1} R' (MonoidWithZero.toMulZeroOneClass.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (Mul.toSMul.{u1} R' (Distrib.toHasMul.{u1} R' (NonUnitalNonAssocSemiring.toDistrib.{u1} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (MulAction.toHasSmul.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13))) (SMulZeroClass.toHasSmul.{u1, u2} (MulOpposite.{u1} R') M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MulZeroClass.toHasZero.{u1} (MulOpposite.{u1} R') (MulZeroOneClass.toMulZeroClass.{u1} (MulOpposite.{u1} R') (MonoidWithZero.toMulZeroOneClass.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))))) (TrivSqZeroExt.algebra.{u1, u2} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) (TrivSqZeroExt.algebra.{u1, u2} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15)) (TrivSqZeroExt.liftAux.{u1, u2, max u1 u2} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15 (TrivSqZeroExt.{u1, u2} R' M) (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u1, u1, u2} R' _inst_3 (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (MulOpposite.algebra.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u1, u1, u2} R' R' M (SMulZeroClass.toHasSmul.{u1, u2} R' M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} R' M (MulZeroClass.toHasZero.{u1} R' (MulZeroOneClass.toMulZeroClass.{u1} R' (MonoidWithZero.toMulZeroOneClass.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (Mul.toSMul.{u1} R' (Distrib.toHasMul.{u1} R' (NonUnitalNonAssocSemiring.toDistrib.{u1} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (MulAction.toHasSmul.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13))) (SMulZeroClass.toHasSmul.{u1, u2} (MulOpposite.{u1} R') M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MulZeroClass.toHasZero.{u1} (MulOpposite.{u1} R') (MulZeroOneClass.toMulZeroClass.{u1} (MulOpposite.{u1} R') (MonoidWithZero.toMulZeroOneClass.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))))) (TrivSqZeroExt.algebra.{u1, u2} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) (TrivSqZeroExt.inrHom.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13) (TrivSqZeroExt.inr_mul_inr.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14)) (AlgHom.id.{u1, max u1 u2} R' (TrivSqZeroExt.{u1, u2} R' M) _inst_3 (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (TrivSqZeroExt.liftAux._proof_1.{u1, u2} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15)) (TrivSqZeroExt.algebra.{u1, u2} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15))
-but is expected to have type
-  forall {R' : Type.{u1}} {M : Type.{u2}} [_inst_3 : CommSemiring.{u1} R'] [_inst_4 : AddCommMonoid.{u2} M] [_inst_13 : Module.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4] [_inst_14 : Module.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.instSemiringMulOpposite.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4] [_inst_15 : IsCentralScalar.{u1, u2} R' M (SMulZeroClass.toSMul.{u1, u2} R' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u1, u2} (MulOpposite.{u1} R') M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.instZeroMulOpposite.{u1} R' (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.instMonoidWithZeroMulOpposite.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.instSemiringMulOpposite.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14))))], Eq.{max (succ u1) (succ u2)} (AlgHom.{u1, max u2 u1, max u1 u2} R' (TrivSqZeroExt.{u1, u2} R' M) (TrivSqZeroExt.{u1, u2} R' M) _inst_3 (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u1, u1, u2} R' _inst_3 (MulOpposite.{u1} R') (MulOpposite.instSemiringMulOpposite.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeInstSemiringMulOpposite.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u1, u1, u2} R' R' M (SMulZeroClass.toSMul.{u1, u2} R' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) (SMulZeroClass.toSMul.{u1, u2} R' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u1, u2} (MulOpposite.{u1} R') M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MonoidWithZero.toZero.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.instSemiringMulOpposite.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.instSemiringMulOpposite.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.instSemiringMulOpposite.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))))) (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u1, u1, u2} R' _inst_3 (MulOpposite.{u1} R') (MulOpposite.instSemiringMulOpposite.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeInstSemiringMulOpposite.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u1, u1, u2} R' R' M (SMulZeroClass.toSMul.{u1, u2} R' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) (SMulZeroClass.toSMul.{u1, u2} R' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u1, u2} (MulOpposite.{u1} R') M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MonoidWithZero.toZero.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.instSemiringMulOpposite.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.instSemiringMulOpposite.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.instSemiringMulOpposite.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))))) (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeInstSemiringMulOppositeInstAlgebraMulOppositeInstSemiringMulOppositeIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u1, u2} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeInstSemiringMulOppositeInstAlgebraMulOppositeInstSemiringMulOppositeIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u1, u2} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15)) (TrivSqZeroExt.liftAux.{u1, u2, max u1 u2} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15 (TrivSqZeroExt.{u1, u2} R' M) (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u1, u1, u2} R' _inst_3 (MulOpposite.{u1} R') (MulOpposite.instSemiringMulOpposite.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeInstSemiringMulOpposite.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u1, u1, u2} R' R' M (SMulZeroClass.toSMul.{u1, u2} R' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) (SMulZeroClass.toSMul.{u1, u2} R' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u1, u2} (MulOpposite.{u1} R') M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MonoidWithZero.toZero.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.instSemiringMulOpposite.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.instSemiringMulOpposite.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.instSemiringMulOpposite.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))))) (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeInstSemiringMulOppositeInstAlgebraMulOppositeInstSemiringMulOppositeIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u1, u2} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) (TrivSqZeroExt.inrHom.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13) (TrivSqZeroExt.inr_mul_inr.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14)) (AlgHom.id.{u1, max u2 u1} R' (TrivSqZeroExt.{u1, u2} R' M) _inst_3 (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u1, u1, u2} R' _inst_3 (MulOpposite.{u1} R') (MulOpposite.instSemiringMulOpposite.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeInstSemiringMulOpposite.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u1, u1, u2} R' R' M (SMulZeroClass.toSMul.{u1, u2} R' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) (SMulZeroClass.toSMul.{u1, u2} R' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u1, u2} (MulOpposite.{u1} R') M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MonoidWithZero.toZero.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.instSemiringMulOpposite.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.instSemiringMulOpposite.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.instSemiringMulOpposite.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))))) (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeInstSemiringMulOppositeInstAlgebraMulOppositeInstSemiringMulOppositeIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u1, u2} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15))
-Case conversion may be inaccurate. Consider using '#align triv_sq_zero_ext.lift_aux_inr_hom TrivSqZeroExt.liftAux_inrHomₓ'. -/
+#print TrivSqZeroExt.liftAux_inrHom /-
 -- When applied to `inr` itself, `lift_aux` is the identity.
 @[simp]
 theorem liftAux_inrHom : liftAux (inrHom R' M) (inr_mul_inr R') = AlgHom.id R' (tsze R' M) :=
   algHom_ext' <| liftAux_comp_inrHom _ _
 #align triv_sq_zero_ext.lift_aux_inr_hom TrivSqZeroExt.liftAux_inrHom
+-/
 
 /- warning: triv_sq_zero_ext.lift -> TrivSqZeroExt.lift is a dubious translation:
 lean 3 declaration is
   forall {R' : Type.{u1}} {M : Type.{u2}} [_inst_3 : CommSemiring.{u1} R'] [_inst_4 : AddCommMonoid.{u2} M] [_inst_13 : Module.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4] [_inst_14 : Module.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4] [_inst_15 : IsCentralScalar.{u1, u2} R' M (SMulZeroClass.toHasSmul.{u1, u2} R' M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} R' M (MulZeroClass.toHasZero.{u1} R' (MulZeroOneClass.toMulZeroClass.{u1} R' (MonoidWithZero.toMulZeroOneClass.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toHasSmul.{u1, u2} (MulOpposite.{u1} R') M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MulZeroClass.toHasZero.{u1} (MulOpposite.{u1} R') (MulZeroOneClass.toMulZeroClass.{u1} (MulOpposite.{u1} R') (MonoidWithZero.toMulZeroOneClass.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14))))] {A : Type.{u3}} [_inst_17 : Semiring.{u3} A] [_inst_18 : Algebra.{u1, u3} R' A _inst_3 _inst_17], Equiv.{max 1 (succ u2) (succ u3), max (succ (max u1 u2)) (succ u3)} (Subtype.{max (succ u2) (succ u3)} (LinearMap.{u1, u1, u2, u3} R' R' (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18)) (fun (f : LinearMap.{u1, u1, u2, u3} R' R' (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18)) => forall (x : M) (y : M), Eq.{succ u3} A (HMul.hMul.{u3, u3, u3} A A A (instHMul.{u3} A (Distrib.toHasMul.{u3} A (NonUnitalNonAssocSemiring.toDistrib.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))))) (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearMap.{u1, u1, u2, u3} R' R' (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18)) (fun (_x : LinearMap.{u1, u1, u2, u3} R' R' (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18)) => M -> A) (LinearMap.hasCoeToFun.{u1, u1, u2, u3} R' R' M A (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))) f x) (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearMap.{u1, u1, u2, u3} R' R' (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18)) (fun (_x : LinearMap.{u1, u1, u2, u3} R' R' (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18)) => M -> A) (LinearMap.hasCoeToFun.{u1, u1, u2, u3} R' R' M A (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))) f y)) (OfNat.ofNat.{u3} A 0 (OfNat.mk.{u3} A 0 (Zero.zero.{u3} A (MulZeroClass.toHasZero.{u3} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))))))))) (AlgHom.{u1, max u1 u2, u3} R' (TrivSqZeroExt.{u1, u2} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (TrivSqZeroExt.lift._proof_1.{u1, u2} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15)) _inst_17 (TrivSqZeroExt.algebra.{u1, u2} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18)
 but is expected to have type
-  forall {R' : Type.{u1}} {M : Type.{u2}} [_inst_3 : CommSemiring.{u1} R'] [_inst_4 : AddCommMonoid.{u2} M] [_inst_13 : Module.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4] [_inst_14 : Module.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.instSemiringMulOpposite.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4] [_inst_15 : IsCentralScalar.{u1, u2} R' M (SMulZeroClass.toSMul.{u1, u2} R' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u1, u2} (MulOpposite.{u1} R') M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.instZeroMulOpposite.{u1} R' (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.instMonoidWithZeroMulOpposite.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.instSemiringMulOpposite.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14))))] {A : Type.{u3}} [_inst_17 : Semiring.{u3} A] [_inst_18 : Algebra.{u1, u3} R' A _inst_3 _inst_17], Equiv.{max 1 (succ u2) (succ u3), max (succ u3) (succ (max u2 u1))} (Subtype.{max (succ u2) (succ u3)} (LinearMap.{u1, u1, u2, u3} R' R' (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18)) (fun (f : LinearMap.{u1, u1, u2, u3} R' R' (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18)) => forall (x : M) (y : M), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) x) (HMul.hMul.{u3, u3, u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) x) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) y) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) x) (instHMul.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) x) (NonUnitalNonAssocSemiring.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) x) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) x) (Semiring.toNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) x) _inst_17)))) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (LinearMap.{u1, u1, u2, u3} R' R' (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18)) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u3} R' R' M A (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))) f x) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (LinearMap.{u1, u1, u2, u3} R' R' (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18)) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u3} R' R' M A (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))) f y)) (OfNat.ofNat.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) x) 0 (Zero.toOfNat0.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) x) (MonoidWithZero.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) x) (Semiring.toMonoidWithZero.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) x) _inst_17)))))) (AlgHom.{u1, max u2 u1, u3} R' (TrivSqZeroExt.{u1, u2} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u1, u1, u2} R' _inst_3 (MulOpposite.{u1} R') (MulOpposite.instSemiringMulOpposite.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeInstSemiringMulOpposite.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u1, u1, u2} R' R' M (SMulZeroClass.toSMul.{u1, u2} R' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) (SMulZeroClass.toSMul.{u1, u2} R' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u1, u2} (MulOpposite.{u1} R') M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MonoidWithZero.toZero.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.instSemiringMulOpposite.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.instSemiringMulOpposite.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.instSemiringMulOpposite.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeInstSemiringMulOppositeInstAlgebraMulOppositeInstSemiringMulOppositeIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u1, u2} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18)
+  forall {R' : Type.{u1}} {M : Type.{u2}} [_inst_3 : CommSemiring.{u1} R'] [_inst_4 : AddCommMonoid.{u2} M] [_inst_13 : Module.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4] [_inst_14 : Module.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4] [_inst_15 : IsCentralScalar.{u1, u2} R' M (SMulZeroClass.toSMul.{u1, u2} R' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u1, u2} (MulOpposite.{u1} R') M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.zero.{u1} R' (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.monoidWithZero.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14))))] {A : Type.{u3}} [_inst_17 : Semiring.{u3} A] [_inst_18 : Algebra.{u1, u3} R' A _inst_3 _inst_17], Equiv.{max 1 (succ u2) (succ u3), max (succ u3) (succ (max u2 u1))} (Subtype.{max (succ u2) (succ u3)} (LinearMap.{u1, u1, u2, u3} R' R' (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18)) (fun (f : LinearMap.{u1, u1, u2, u3} R' R' (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18)) => forall (x : M) (y : M), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) x) (HMul.hMul.{u3, u3, u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) x) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) y) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) x) (instHMul.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) x) (NonUnitalNonAssocSemiring.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) x) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) x) (Semiring.toNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) x) _inst_17)))) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (LinearMap.{u1, u1, u2, u3} R' R' (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18)) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u3} R' R' M A (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))) f x) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (LinearMap.{u1, u1, u2, u3} R' R' (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18)) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u3} R' R' M A (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))) f y)) (OfNat.ofNat.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) x) 0 (Zero.toOfNat0.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) x) (MonoidWithZero.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) x) (Semiring.toMonoidWithZero.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) x) _inst_17)))))) (AlgHom.{u1, max u2 u1, u3} R' (TrivSqZeroExt.{u1, u2} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u1, u1, u2} R' _inst_3 (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeSemiring.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u1, u1, u2} R' R' M (SMulZeroClass.toSMul.{u1, u2} R' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) (SMulZeroClass.toSMul.{u1, u2} R' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u1, u2} (MulOpposite.{u1} R') M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MonoidWithZero.toZero.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeSemiringInstAlgebraMulOppositeSemiringIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u1, u2} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18)
 Case conversion may be inaccurate. Consider using '#align triv_sq_zero_ext.lift TrivSqZeroExt.liftₓ'. -/
 /-- A universal property of the trivial square-zero extension, providing a unique
 `triv_sq_zero_ext R M →ₐ[R] A` for every linear map `M →ₗ[R] A` whose range has no non-zero
Diff
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Kenny Lau, Eric Wieser
 
 ! This file was ported from Lean 3 source module algebra.triv_sq_zero_ext
-! leanprover-community/mathlib commit ce7e9d53d4bbc38065db3b595cd5bd73c323bc1d
+! leanprover-community/mathlib commit 932872382355f00112641d305ba0619305dc8642
 ! Please do not edit these lines, except to modify the commit id
 ! if you have ported upstream changes.
 -/
@@ -14,6 +14,9 @@ import Mathbin.LinearAlgebra.Prod
 /-!
 # Trivial Square-Zero Extension
 
+> THIS FILE IS SYNCHRONIZED WITH MATHLIB4.
+> Any changes to this file require a corresponding PR to mathlib4.
+
 Given a ring `R` together with an `(R, R)`-bimodule `M`, the trivial square-zero extension of `M`
 over `R` is defined to be the `R`-algebra `R ⊕ M` with multiplication given by
 `(r₁ + m₁) * (r₂ + m₂) = r₁ r₂ + r₁ m₂ + m₁ r₂`.
Diff
@@ -51,6 +51,7 @@ Many of the later results in this file are only stated for the commutative `R'`
 
 universe u v w
 
+#print TrivSqZeroExt /-
 /-- "Trivial Square-Zero Extension".
 
 Given a module `M` over a ring `R`, the trivial square-zero extension of `M` over `R` is defined
@@ -62,6 +63,7 @@ It is a square-zero extension because `M^2 = 0`.
 def TrivSqZeroExt (R : Type u) (M : Type v) :=
   R × M
 #align triv_sq_zero_ext TrivSqZeroExt
+-/
 
 -- mathport name: exprtsze
 local notation "tsze" => TrivSqZeroExt
@@ -76,64 +78,86 @@ section Basic
 
 variable {R : Type u} {M : Type v}
 
+#print TrivSqZeroExt.inl /-
 /-- The canonical inclusion `R → triv_sq_zero_ext R M`. -/
 def inl [Zero M] (r : R) : tsze R M :=
   (r, 0)
 #align triv_sq_zero_ext.inl TrivSqZeroExt.inl
+-/
 
+#print TrivSqZeroExt.inr /-
 /-- The canonical inclusion `M → triv_sq_zero_ext R M`. -/
 def inr [Zero R] (m : M) : tsze R M :=
   (0, m)
 #align triv_sq_zero_ext.inr TrivSqZeroExt.inr
+-/
 
+#print TrivSqZeroExt.fst /-
 /-- The canonical projection `triv_sq_zero_ext R M → R`. -/
 def fst (x : tsze R M) : R :=
   x.1
 #align triv_sq_zero_ext.fst TrivSqZeroExt.fst
+-/
 
+#print TrivSqZeroExt.snd /-
 /-- The canonical projection `triv_sq_zero_ext R M → M`. -/
 def snd (x : tsze R M) : M :=
   x.2
 #align triv_sq_zero_ext.snd TrivSqZeroExt.snd
+-/
 
+#print TrivSqZeroExt.fst_mk /-
 @[simp]
 theorem fst_mk (r : R) (m : M) : fst (r, m) = r :=
   rfl
 #align triv_sq_zero_ext.fst_mk TrivSqZeroExt.fst_mk
+-/
 
+#print TrivSqZeroExt.snd_mk /-
 @[simp]
 theorem snd_mk (r : R) (m : M) : snd (r, m) = m :=
   rfl
 #align triv_sq_zero_ext.snd_mk TrivSqZeroExt.snd_mk
+-/
 
+#print TrivSqZeroExt.ext /-
 @[ext]
 theorem ext {x y : tsze R M} (h1 : x.fst = y.fst) (h2 : x.snd = y.snd) : x = y :=
   Prod.ext h1 h2
 #align triv_sq_zero_ext.ext TrivSqZeroExt.ext
+-/
 
 section
 
 variable (M)
 
+#print TrivSqZeroExt.fst_inl /-
 @[simp]
 theorem fst_inl [Zero M] (r : R) : (inl r : tsze R M).fst = r :=
   rfl
 #align triv_sq_zero_ext.fst_inl TrivSqZeroExt.fst_inl
+-/
 
+#print TrivSqZeroExt.snd_inl /-
 @[simp]
 theorem snd_inl [Zero M] (r : R) : (inl r : tsze R M).snd = 0 :=
   rfl
 #align triv_sq_zero_ext.snd_inl TrivSqZeroExt.snd_inl
+-/
 
+#print TrivSqZeroExt.fst_comp_inl /-
 @[simp]
 theorem fst_comp_inl [Zero M] : fst ∘ (inl : R → tsze R M) = id :=
   rfl
 #align triv_sq_zero_ext.fst_comp_inl TrivSqZeroExt.fst_comp_inl
+-/
 
+#print TrivSqZeroExt.snd_comp_inl /-
 @[simp]
 theorem snd_comp_inl [Zero M] : snd ∘ (inl : R → tsze R M) = 0 :=
   rfl
 #align triv_sq_zero_ext.snd_comp_inl TrivSqZeroExt.snd_comp_inl
+-/
 
 end
 
@@ -141,35 +165,47 @@ section
 
 variable (R)
 
+#print TrivSqZeroExt.fst_inr /-
 @[simp]
 theorem fst_inr [Zero R] (m : M) : (inr m : tsze R M).fst = 0 :=
   rfl
 #align triv_sq_zero_ext.fst_inr TrivSqZeroExt.fst_inr
+-/
 
+#print TrivSqZeroExt.snd_inr /-
 @[simp]
 theorem snd_inr [Zero R] (m : M) : (inr m : tsze R M).snd = m :=
   rfl
 #align triv_sq_zero_ext.snd_inr TrivSqZeroExt.snd_inr
+-/
 
+#print TrivSqZeroExt.fst_comp_inr /-
 @[simp]
 theorem fst_comp_inr [Zero R] : fst ∘ (inr : M → tsze R M) = 0 :=
   rfl
 #align triv_sq_zero_ext.fst_comp_inr TrivSqZeroExt.fst_comp_inr
+-/
 
+#print TrivSqZeroExt.snd_comp_inr /-
 @[simp]
 theorem snd_comp_inr [Zero R] : snd ∘ (inr : M → tsze R M) = id :=
   rfl
 #align triv_sq_zero_ext.snd_comp_inr TrivSqZeroExt.snd_comp_inr
+-/
 
 end
 
+#print TrivSqZeroExt.inl_injective /-
 theorem inl_injective [Zero M] : Function.Injective (inl : R → tsze R M) :=
   Function.LeftInverse.injective <| fst_inl _
 #align triv_sq_zero_ext.inl_injective TrivSqZeroExt.inl_injective
+-/
 
+#print TrivSqZeroExt.inr_injective /-
 theorem inr_injective [Zero R] : Function.Injective (inr : M → tsze R M) :=
   Function.LeftInverse.injective <| snd_inr _
 #align triv_sq_zero_ext.inr_injective TrivSqZeroExt.inr_injective
+-/
 
 end Basic
 
@@ -244,61 +280,101 @@ instance [Semiring S] [AddCommMonoid R] [AddCommMonoid M] [Module S R] [Module S
     Module S (tsze R M) :=
   Prod.module
 
+#print TrivSqZeroExt.fst_zero /-
 @[simp]
 theorem fst_zero [Zero R] [Zero M] : (0 : tsze R M).fst = 0 :=
   rfl
 #align triv_sq_zero_ext.fst_zero TrivSqZeroExt.fst_zero
+-/
 
+#print TrivSqZeroExt.snd_zero /-
 @[simp]
 theorem snd_zero [Zero R] [Zero M] : (0 : tsze R M).snd = 0 :=
   rfl
 #align triv_sq_zero_ext.snd_zero TrivSqZeroExt.snd_zero
+-/
 
+#print TrivSqZeroExt.fst_add /-
 @[simp]
 theorem fst_add [Add R] [Add M] (x₁ x₂ : tsze R M) : (x₁ + x₂).fst = x₁.fst + x₂.fst :=
   rfl
 #align triv_sq_zero_ext.fst_add TrivSqZeroExt.fst_add
+-/
 
+#print TrivSqZeroExt.snd_add /-
 @[simp]
 theorem snd_add [Add R] [Add M] (x₁ x₂ : tsze R M) : (x₁ + x₂).snd = x₁.snd + x₂.snd :=
   rfl
 #align triv_sq_zero_ext.snd_add TrivSqZeroExt.snd_add
+-/
 
+#print TrivSqZeroExt.fst_neg /-
 @[simp]
 theorem fst_neg [Neg R] [Neg M] (x : tsze R M) : (-x).fst = -x.fst :=
   rfl
 #align triv_sq_zero_ext.fst_neg TrivSqZeroExt.fst_neg
+-/
 
+#print TrivSqZeroExt.snd_neg /-
 @[simp]
 theorem snd_neg [Neg R] [Neg M] (x : tsze R M) : (-x).snd = -x.snd :=
   rfl
 #align triv_sq_zero_ext.snd_neg TrivSqZeroExt.snd_neg
+-/
 
+#print TrivSqZeroExt.fst_sub /-
 @[simp]
 theorem fst_sub [Sub R] [Sub M] (x₁ x₂ : tsze R M) : (x₁ - x₂).fst = x₁.fst - x₂.fst :=
   rfl
 #align triv_sq_zero_ext.fst_sub TrivSqZeroExt.fst_sub
+-/
 
+#print TrivSqZeroExt.snd_sub /-
 @[simp]
 theorem snd_sub [Sub R] [Sub M] (x₁ x₂ : tsze R M) : (x₁ - x₂).snd = x₁.snd - x₂.snd :=
   rfl
 #align triv_sq_zero_ext.snd_sub TrivSqZeroExt.snd_sub
+-/
 
+/- warning: triv_sq_zero_ext.fst_smul -> TrivSqZeroExt.fst_smul is a dubious translation:
+lean 3 declaration is
+  forall {S : Type.{u3}} {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : SMul.{u3, u1} S R] [_inst_2 : SMul.{u3, u2} S M] (s : S) (x : TrivSqZeroExt.{u1, u2} R M), Eq.{succ u1} R (TrivSqZeroExt.fst.{u1, u2} R M (SMul.smul.{u3, max u1 u2} S (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.hasSmul.{u1, u2, u3} S R M _inst_1 _inst_2) s x)) (SMul.smul.{u3, u1} S R _inst_1 s (TrivSqZeroExt.fst.{u1, u2} R M x))
+but is expected to have type
+  forall {S : Type.{u1}} {R : Type.{u2}} {M : Type.{u3}} [_inst_1 : SMul.{u1, u2} S R] [_inst_2 : SMul.{u1, u3} S M] (s : S) (x : TrivSqZeroExt.{u2, u3} R M), Eq.{succ u2} R (TrivSqZeroExt.fst.{u2, u3} R M (HSMul.hSMul.{u1, max u2 u3, max u2 u3} S (TrivSqZeroExt.{u2, u3} R M) (TrivSqZeroExt.{u2, u3} R M) (instHSMul.{u1, max u2 u3} S (TrivSqZeroExt.{u2, u3} R M) (TrivSqZeroExt.smul.{u2, u3, u1} S R M _inst_1 _inst_2)) s x)) (HSMul.hSMul.{u1, u2, u2} S R R (instHSMul.{u1, u2} S R _inst_1) s (TrivSqZeroExt.fst.{u2, u3} R M x))
+Case conversion may be inaccurate. Consider using '#align triv_sq_zero_ext.fst_smul TrivSqZeroExt.fst_smulₓ'. -/
 @[simp]
 theorem fst_smul [SMul S R] [SMul S M] (s : S) (x : tsze R M) : (s • x).fst = s • x.fst :=
   rfl
 #align triv_sq_zero_ext.fst_smul TrivSqZeroExt.fst_smul
 
+/- warning: triv_sq_zero_ext.snd_smul -> TrivSqZeroExt.snd_smul is a dubious translation:
+lean 3 declaration is
+  forall {S : Type.{u3}} {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : SMul.{u3, u1} S R] [_inst_2 : SMul.{u3, u2} S M] (s : S) (x : TrivSqZeroExt.{u1, u2} R M), Eq.{succ u2} M (TrivSqZeroExt.snd.{u1, u2} R M (SMul.smul.{u3, max u1 u2} S (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.hasSmul.{u1, u2, u3} S R M _inst_1 _inst_2) s x)) (SMul.smul.{u3, u2} S M _inst_2 s (TrivSqZeroExt.snd.{u1, u2} R M x))
+but is expected to have type
+  forall {S : Type.{u1}} {R : Type.{u2}} {M : Type.{u3}} [_inst_1 : SMul.{u1, u2} S R] [_inst_2 : SMul.{u1, u3} S M] (s : S) (x : TrivSqZeroExt.{u2, u3} R M), Eq.{succ u3} M (TrivSqZeroExt.snd.{u2, u3} R M (HSMul.hSMul.{u1, max u2 u3, max u2 u3} S (TrivSqZeroExt.{u2, u3} R M) (TrivSqZeroExt.{u2, u3} R M) (instHSMul.{u1, max u2 u3} S (TrivSqZeroExt.{u2, u3} R M) (TrivSqZeroExt.smul.{u2, u3, u1} S R M _inst_1 _inst_2)) s x)) (HSMul.hSMul.{u1, u3, u3} S M M (instHSMul.{u1, u3} S M _inst_2) s (TrivSqZeroExt.snd.{u2, u3} R M x))
+Case conversion may be inaccurate. Consider using '#align triv_sq_zero_ext.snd_smul TrivSqZeroExt.snd_smulₓ'. -/
 @[simp]
 theorem snd_smul [SMul S R] [SMul S M] (s : S) (x : tsze R M) : (s • x).snd = s • x.snd :=
   rfl
 #align triv_sq_zero_ext.snd_smul TrivSqZeroExt.snd_smul
 
+/- warning: triv_sq_zero_ext.fst_sum -> TrivSqZeroExt.fst_sum is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {M : Type.{u2}} {ι : Type.{u3}} [_inst_1 : AddCommMonoid.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] (s : Finset.{u3} ι) (f : ι -> (TrivSqZeroExt.{u1, u2} R M)), Eq.{succ u1} R (TrivSqZeroExt.fst.{u1, u2} R M (Finset.sum.{max u1 u2, u3} (TrivSqZeroExt.{u1, u2} R M) ι (TrivSqZeroExt.addCommMonoid.{u1, u2} R M _inst_1 _inst_2) s (fun (i : ι) => f i))) (Finset.sum.{u1, u3} R ι _inst_1 s (fun (i : ι) => TrivSqZeroExt.fst.{u1, u2} R M (f i)))
+but is expected to have type
+  forall {R : Type.{u2}} {M : Type.{u3}} {ι : Type.{u1}} [_inst_1 : AddCommMonoid.{u2} R] [_inst_2 : AddCommMonoid.{u3} M] (s : Finset.{u1} ι) (f : ι -> (TrivSqZeroExt.{u2, u3} R M)), Eq.{succ u2} R (TrivSqZeroExt.fst.{u2, u3} R M (Finset.sum.{max u2 u3, u1} (TrivSqZeroExt.{u2, u3} R M) ι (TrivSqZeroExt.addCommMonoid.{u2, u3} R M _inst_1 _inst_2) s (fun (i : ι) => f i))) (Finset.sum.{u2, u1} R ι _inst_1 s (fun (i : ι) => TrivSqZeroExt.fst.{u2, u3} R M (f i)))
+Case conversion may be inaccurate. Consider using '#align triv_sq_zero_ext.fst_sum TrivSqZeroExt.fst_sumₓ'. -/
 theorem fst_sum {ι} [AddCommMonoid R] [AddCommMonoid M] (s : Finset ι) (f : ι → tsze R M) :
     (∑ i in s, f i).fst = ∑ i in s, (f i).fst :=
   Prod.fst_sum
 #align triv_sq_zero_ext.fst_sum TrivSqZeroExt.fst_sum
 
+/- warning: triv_sq_zero_ext.snd_sum -> TrivSqZeroExt.snd_sum is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {M : Type.{u2}} {ι : Type.{u3}} [_inst_1 : AddCommMonoid.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] (s : Finset.{u3} ι) (f : ι -> (TrivSqZeroExt.{u1, u2} R M)), Eq.{succ u2} M (TrivSqZeroExt.snd.{u1, u2} R M (Finset.sum.{max u1 u2, u3} (TrivSqZeroExt.{u1, u2} R M) ι (TrivSqZeroExt.addCommMonoid.{u1, u2} R M _inst_1 _inst_2) s (fun (i : ι) => f i))) (Finset.sum.{u2, u3} M ι _inst_2 s (fun (i : ι) => TrivSqZeroExt.snd.{u1, u2} R M (f i)))
+but is expected to have type
+  forall {R : Type.{u2}} {M : Type.{u3}} {ι : Type.{u1}} [_inst_1 : AddCommMonoid.{u2} R] [_inst_2 : AddCommMonoid.{u3} M] (s : Finset.{u1} ι) (f : ι -> (TrivSqZeroExt.{u2, u3} R M)), Eq.{succ u3} M (TrivSqZeroExt.snd.{u2, u3} R M (Finset.sum.{max u2 u3, u1} (TrivSqZeroExt.{u2, u3} R M) ι (TrivSqZeroExt.addCommMonoid.{u2, u3} R M _inst_1 _inst_2) s (fun (i : ι) => f i))) (Finset.sum.{u3, u1} M ι _inst_2 s (fun (i : ι) => TrivSqZeroExt.snd.{u2, u3} R M (f i)))
+Case conversion may be inaccurate. Consider using '#align triv_sq_zero_ext.snd_sum TrivSqZeroExt.snd_sumₓ'. -/
 theorem snd_sum {ι} [AddCommMonoid R] [AddCommMonoid M] (s : Finset ι) (f : ι → tsze R M) :
     (∑ i in s, f i).snd = ∑ i in s, (f i).snd :=
   Prod.snd_sum
@@ -308,34 +384,66 @@ section
 
 variable (M)
 
+#print TrivSqZeroExt.inl_zero /-
 @[simp]
 theorem inl_zero [Zero R] [Zero M] : (inl 0 : tsze R M) = 0 :=
   rfl
 #align triv_sq_zero_ext.inl_zero TrivSqZeroExt.inl_zero
+-/
 
+/- warning: triv_sq_zero_ext.inl_add -> TrivSqZeroExt.inl_add is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} (M : Type.{u2}) [_inst_1 : Add.{u1} R] [_inst_2 : AddZeroClass.{u2} M] (r₁ : R) (r₂ : R), Eq.{max (succ u1) (succ u2)} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.inl.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M _inst_2) (HAdd.hAdd.{u1, u1, u1} R R R (instHAdd.{u1} R _inst_1) r₁ r₂)) (HAdd.hAdd.{max u1 u2, max u1 u2, max u1 u2} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.{u1, u2} R M) (instHAdd.{max u1 u2} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.hasAdd.{u1, u2} R M _inst_1 (AddZeroClass.toHasAdd.{u2} M _inst_2))) (TrivSqZeroExt.inl.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M _inst_2) r₁) (TrivSqZeroExt.inl.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M _inst_2) r₂))
+but is expected to have type
+  forall {R : Type.{u1}} (M : Type.{u2}) [_inst_1 : Add.{u1} R] [_inst_2 : AddZeroClass.{u2} M] (r₁ : R) (r₂ : R), Eq.{max (succ u1) (succ u2)} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.inl.{u1, u2} R M (AddZeroClass.toZero.{u2} M _inst_2) (HAdd.hAdd.{u1, u1, u1} R R R (instHAdd.{u1} R _inst_1) r₁ r₂)) (HAdd.hAdd.{max u1 u2, max u1 u2, max u1 u2} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.{u1, u2} R M) (instHAdd.{max u1 u2} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.add.{u1, u2} R M _inst_1 (AddZeroClass.toAdd.{u2} M _inst_2))) (TrivSqZeroExt.inl.{u1, u2} R M (AddZeroClass.toZero.{u2} M _inst_2) r₁) (TrivSqZeroExt.inl.{u1, u2} R M (AddZeroClass.toZero.{u2} M _inst_2) r₂))
+Case conversion may be inaccurate. Consider using '#align triv_sq_zero_ext.inl_add TrivSqZeroExt.inl_addₓ'. -/
 @[simp]
 theorem inl_add [Add R] [AddZeroClass M] (r₁ r₂ : R) :
     (inl (r₁ + r₂) : tsze R M) = inl r₁ + inl r₂ :=
   ext rfl (add_zero 0).symm
 #align triv_sq_zero_ext.inl_add TrivSqZeroExt.inl_add
 
+/- warning: triv_sq_zero_ext.inl_neg -> TrivSqZeroExt.inl_neg is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} (M : Type.{u2}) [_inst_1 : Neg.{u1} R] [_inst_2 : SubNegZeroMonoid.{u2} M] (r : R), Eq.{max (succ u1) (succ u2)} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.inl.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (SubNegZeroMonoid.toSubNegMonoid.{u2} M _inst_2)))) (Neg.neg.{u1} R _inst_1 r)) (Neg.neg.{max u1 u2} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.hasNeg.{u1, u2} R M _inst_1 (SubNegMonoid.toHasNeg.{u2} M (SubNegZeroMonoid.toSubNegMonoid.{u2} M _inst_2))) (TrivSqZeroExt.inl.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (SubNegZeroMonoid.toSubNegMonoid.{u2} M _inst_2)))) r))
+but is expected to have type
+  forall {R : Type.{u1}} (M : Type.{u2}) [_inst_1 : Neg.{u1} R] [_inst_2 : SubNegZeroMonoid.{u2} M] (r : R), Eq.{max (succ u1) (succ u2)} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.inl.{u1, u2} R M (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M _inst_2)) (Neg.neg.{u1} R _inst_1 r)) (Neg.neg.{max u1 u2} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.neg.{u1, u2} R M _inst_1 (NegZeroClass.toNeg.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M _inst_2))) (TrivSqZeroExt.inl.{u1, u2} R M (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M _inst_2)) r))
+Case conversion may be inaccurate. Consider using '#align triv_sq_zero_ext.inl_neg TrivSqZeroExt.inl_negₓ'. -/
 @[simp]
 theorem inl_neg [Neg R] [SubNegZeroMonoid M] (r : R) : (inl (-r) : tsze R M) = -inl r :=
   ext rfl neg_zero.symm
 #align triv_sq_zero_ext.inl_neg TrivSqZeroExt.inl_neg
 
+/- warning: triv_sq_zero_ext.inl_sub -> TrivSqZeroExt.inl_sub is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} (M : Type.{u2}) [_inst_1 : Sub.{u1} R] [_inst_2 : SubNegZeroMonoid.{u2} M] (r₁ : R) (r₂ : R), Eq.{max (succ u1) (succ u2)} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.inl.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (SubNegZeroMonoid.toSubNegMonoid.{u2} M _inst_2)))) (HSub.hSub.{u1, u1, u1} R R R (instHSub.{u1} R _inst_1) r₁ r₂)) (HSub.hSub.{max u1 u2, max u1 u2, max u1 u2} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.{u1, u2} R M) (instHSub.{max u1 u2} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.hasSub.{u1, u2} R M _inst_1 (SubNegMonoid.toHasSub.{u2} M (SubNegZeroMonoid.toSubNegMonoid.{u2} M _inst_2)))) (TrivSqZeroExt.inl.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (SubNegZeroMonoid.toSubNegMonoid.{u2} M _inst_2)))) r₁) (TrivSqZeroExt.inl.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (SubNegZeroMonoid.toSubNegMonoid.{u2} M _inst_2)))) r₂))
+but is expected to have type
+  forall {R : Type.{u1}} (M : Type.{u2}) [_inst_1 : Sub.{u1} R] [_inst_2 : SubNegZeroMonoid.{u2} M] (r₁ : R) (r₂ : R), Eq.{max (succ u1) (succ u2)} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.inl.{u1, u2} R M (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M _inst_2)) (HSub.hSub.{u1, u1, u1} R R R (instHSub.{u1} R _inst_1) r₁ r₂)) (HSub.hSub.{max u1 u2, max u1 u2, max u1 u2} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.{u1, u2} R M) (instHSub.{max u1 u2} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.sub.{u1, u2} R M _inst_1 (SubNegMonoid.toSub.{u2} M (SubNegZeroMonoid.toSubNegMonoid.{u2} M _inst_2)))) (TrivSqZeroExt.inl.{u1, u2} R M (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M _inst_2)) r₁) (TrivSqZeroExt.inl.{u1, u2} R M (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M _inst_2)) r₂))
+Case conversion may be inaccurate. Consider using '#align triv_sq_zero_ext.inl_sub TrivSqZeroExt.inl_subₓ'. -/
 @[simp]
 theorem inl_sub [Sub R] [SubNegZeroMonoid M] (r₁ r₂ : R) :
     (inl (r₁ - r₂) : tsze R M) = inl r₁ - inl r₂ :=
   ext rfl (sub_zero _).symm
 #align triv_sq_zero_ext.inl_sub TrivSqZeroExt.inl_sub
 
+/- warning: triv_sq_zero_ext.inl_smul -> TrivSqZeroExt.inl_smul is a dubious translation:
+lean 3 declaration is
+  forall {S : Type.{u3}} {R : Type.{u1}} (M : Type.{u2}) [_inst_1 : Monoid.{u3} S] [_inst_2 : AddMonoid.{u2} M] [_inst_3 : SMul.{u3, u1} S R] [_inst_4 : DistribMulAction.{u3, u2} S M _inst_1 _inst_2] (s : S) (r : R), Eq.{max (succ u1) (succ u2)} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.inl.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_2)) (SMul.smul.{u3, u1} S R _inst_3 s r)) (SMul.smul.{u3, max u1 u2} S (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.hasSmul.{u1, u2, u3} S R M _inst_3 (SMulZeroClass.toHasSmul.{u3, u2} S M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_2)) (DistribSMul.toSmulZeroClass.{u3, u2} S M (AddMonoid.toAddZeroClass.{u2} M _inst_2) (DistribMulAction.toDistribSMul.{u3, u2} S M _inst_1 _inst_2 _inst_4)))) s (TrivSqZeroExt.inl.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_2)) r))
+but is expected to have type
+  forall {S : Type.{u1}} {R : Type.{u2}} (M : Type.{u3}) [_inst_1 : Monoid.{u1} S] [_inst_2 : AddMonoid.{u3} M] [_inst_3 : SMul.{u1, u2} S R] [_inst_4 : DistribMulAction.{u1, u3} S M _inst_1 _inst_2] (s : S) (r : R), Eq.{max (succ u2) (succ u3)} (TrivSqZeroExt.{u2, u3} R M) (TrivSqZeroExt.inl.{u2, u3} R M (AddMonoid.toZero.{u3} M _inst_2) (HSMul.hSMul.{u1, u2, u2} S R R (instHSMul.{u1, u2} S R _inst_3) s r)) (HSMul.hSMul.{u1, max u3 u2, max u2 u3} S (TrivSqZeroExt.{u2, u3} R M) (TrivSqZeroExt.{u2, u3} R M) (instHSMul.{u1, max u2 u3} S (TrivSqZeroExt.{u2, u3} R M) (TrivSqZeroExt.smul.{u2, u3, u1} S R M _inst_3 (SMulZeroClass.toSMul.{u1, u3} S M (AddMonoid.toZero.{u3} M _inst_2) (DistribSMul.toSMulZeroClass.{u1, u3} S M (AddMonoid.toAddZeroClass.{u3} M _inst_2) (DistribMulAction.toDistribSMul.{u1, u3} S M _inst_1 _inst_2 _inst_4))))) s (TrivSqZeroExt.inl.{u2, u3} R M (AddMonoid.toZero.{u3} M _inst_2) r))
+Case conversion may be inaccurate. Consider using '#align triv_sq_zero_ext.inl_smul TrivSqZeroExt.inl_smulₓ'. -/
 @[simp]
 theorem inl_smul [Monoid S] [AddMonoid M] [SMul S R] [DistribMulAction S M] (s : S) (r : R) :
     (inl (s • r) : tsze R M) = s • inl r :=
   ext rfl (smul_zero s).symm
 #align triv_sq_zero_ext.inl_smul TrivSqZeroExt.inl_smul
 
+/- warning: triv_sq_zero_ext.inl_sum -> TrivSqZeroExt.inl_sum is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} (M : Type.{u2}) {ι : Type.{u3}} [_inst_1 : AddCommMonoid.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] (s : Finset.{u3} ι) (f : ι -> R), Eq.{max (succ u1) (succ u2)} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.inl.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Finset.sum.{u1, u3} R ι _inst_1 s (fun (i : ι) => f i))) (Finset.sum.{max u1 u2, u3} (TrivSqZeroExt.{u1, u2} R M) ι (TrivSqZeroExt.addCommMonoid.{u1, u2} R M _inst_1 _inst_2) s (fun (i : ι) => TrivSqZeroExt.inl.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (f i)))
+but is expected to have type
+  forall {R : Type.{u2}} (M : Type.{u3}) {ι : Type.{u1}} [_inst_1 : AddCommMonoid.{u2} R] [_inst_2 : AddCommMonoid.{u3} M] (s : Finset.{u1} ι) (f : ι -> R), Eq.{max (succ u2) (succ u3)} (TrivSqZeroExt.{u2, u3} R M) (TrivSqZeroExt.inl.{u2, u3} R M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (Finset.sum.{u2, u1} R ι _inst_1 s (fun (i : ι) => f i))) (Finset.sum.{max u3 u2, u1} (TrivSqZeroExt.{u2, u3} R M) ι (TrivSqZeroExt.addCommMonoid.{u2, u3} R M _inst_1 _inst_2) s (fun (i : ι) => TrivSqZeroExt.inl.{u2, u3} R M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (f i)))
+Case conversion may be inaccurate. Consider using '#align triv_sq_zero_ext.inl_sum TrivSqZeroExt.inl_sumₓ'. -/
 theorem inl_sum {ι} [AddCommMonoid R] [AddCommMonoid M] (s : Finset ι) (f : ι → R) :
     (inl (∑ i in s, f i) : tsze R M) = ∑ i in s, inl (f i) :=
   (LinearMap.inl ℕ _ _).map_sum
@@ -347,34 +455,66 @@ section
 
 variable (R)
 
+#print TrivSqZeroExt.inr_zero /-
 @[simp]
 theorem inr_zero [Zero R] [Zero M] : (inr 0 : tsze R M) = 0 :=
   rfl
 #align triv_sq_zero_ext.inr_zero TrivSqZeroExt.inr_zero
+-/
 
+/- warning: triv_sq_zero_ext.inr_add -> TrivSqZeroExt.inr_add is a dubious translation:
+lean 3 declaration is
+  forall (R : Type.{u1}) {M : Type.{u2}} [_inst_1 : AddZeroClass.{u1} R] [_inst_2 : AddZeroClass.{u2} M] (m₁ : M) (m₂ : M), Eq.{max (succ u1) (succ u2)} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.inr.{u1, u2} R M (AddZeroClass.toHasZero.{u1} R _inst_1) (HAdd.hAdd.{u2, u2, u2} M M M (instHAdd.{u2} M (AddZeroClass.toHasAdd.{u2} M _inst_2)) m₁ m₂)) (HAdd.hAdd.{max u1 u2, max u1 u2, max u1 u2} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.{u1, u2} R M) (instHAdd.{max u1 u2} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.hasAdd.{u1, u2} R M (AddZeroClass.toHasAdd.{u1} R _inst_1) (AddZeroClass.toHasAdd.{u2} M _inst_2))) (TrivSqZeroExt.inr.{u1, u2} R M (AddZeroClass.toHasZero.{u1} R _inst_1) m₁) (TrivSqZeroExt.inr.{u1, u2} R M (AddZeroClass.toHasZero.{u1} R _inst_1) m₂))
+but is expected to have type
+  forall (R : Type.{u1}) {M : Type.{u2}} [_inst_1 : AddZeroClass.{u1} R] [_inst_2 : AddZeroClass.{u2} M] (m₁ : M) (m₂ : M), Eq.{max (succ u1) (succ u2)} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.inr.{u1, u2} R M (AddZeroClass.toZero.{u1} R _inst_1) (HAdd.hAdd.{u2, u2, u2} M M M (instHAdd.{u2} M (AddZeroClass.toAdd.{u2} M _inst_2)) m₁ m₂)) (HAdd.hAdd.{max u2 u1, max u2 u1, max u1 u2} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.{u1, u2} R M) (instHAdd.{max u2 u1} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.add.{u1, u2} R M (AddZeroClass.toAdd.{u1} R _inst_1) (AddZeroClass.toAdd.{u2} M _inst_2))) (TrivSqZeroExt.inr.{u1, u2} R M (AddZeroClass.toZero.{u1} R _inst_1) m₁) (TrivSqZeroExt.inr.{u1, u2} R M (AddZeroClass.toZero.{u1} R _inst_1) m₂))
+Case conversion may be inaccurate. Consider using '#align triv_sq_zero_ext.inr_add TrivSqZeroExt.inr_addₓ'. -/
 @[simp]
 theorem inr_add [AddZeroClass R] [AddZeroClass M] (m₁ m₂ : M) :
     (inr (m₁ + m₂) : tsze R M) = inr m₁ + inr m₂ :=
   ext (add_zero 0).symm rfl
 #align triv_sq_zero_ext.inr_add TrivSqZeroExt.inr_add
 
+/- warning: triv_sq_zero_ext.inr_neg -> TrivSqZeroExt.inr_neg is a dubious translation:
+lean 3 declaration is
+  forall (R : Type.{u1}) {M : Type.{u2}} [_inst_1 : SubNegZeroMonoid.{u1} R] [_inst_2 : Neg.{u2} M] (m : M), Eq.{max (succ u1) (succ u2)} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.inr.{u1, u2} R M (AddZeroClass.toHasZero.{u1} R (AddMonoid.toAddZeroClass.{u1} R (SubNegMonoid.toAddMonoid.{u1} R (SubNegZeroMonoid.toSubNegMonoid.{u1} R _inst_1)))) (Neg.neg.{u2} M _inst_2 m)) (Neg.neg.{max u1 u2} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.hasNeg.{u1, u2} R M (SubNegMonoid.toHasNeg.{u1} R (SubNegZeroMonoid.toSubNegMonoid.{u1} R _inst_1)) _inst_2) (TrivSqZeroExt.inr.{u1, u2} R M (AddZeroClass.toHasZero.{u1} R (AddMonoid.toAddZeroClass.{u1} R (SubNegMonoid.toAddMonoid.{u1} R (SubNegZeroMonoid.toSubNegMonoid.{u1} R _inst_1)))) m))
+but is expected to have type
+  forall (R : Type.{u1}) {M : Type.{u2}} [_inst_1 : SubNegZeroMonoid.{u1} R] [_inst_2 : Neg.{u2} M] (m : M), Eq.{max (succ u1) (succ u2)} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.inr.{u1, u2} R M (NegZeroClass.toZero.{u1} R (SubNegZeroMonoid.toNegZeroClass.{u1} R _inst_1)) (Neg.neg.{u2} M _inst_2 m)) (Neg.neg.{max u2 u1} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.neg.{u1, u2} R M (NegZeroClass.toNeg.{u1} R (SubNegZeroMonoid.toNegZeroClass.{u1} R _inst_1)) _inst_2) (TrivSqZeroExt.inr.{u1, u2} R M (NegZeroClass.toZero.{u1} R (SubNegZeroMonoid.toNegZeroClass.{u1} R _inst_1)) m))
+Case conversion may be inaccurate. Consider using '#align triv_sq_zero_ext.inr_neg TrivSqZeroExt.inr_negₓ'. -/
 @[simp]
 theorem inr_neg [SubNegZeroMonoid R] [Neg M] (m : M) : (inr (-m) : tsze R M) = -inr m :=
   ext neg_zero.symm rfl
 #align triv_sq_zero_ext.inr_neg TrivSqZeroExt.inr_neg
 
+/- warning: triv_sq_zero_ext.inr_sub -> TrivSqZeroExt.inr_sub is a dubious translation:
+lean 3 declaration is
+  forall (R : Type.{u1}) {M : Type.{u2}} [_inst_1 : SubNegZeroMonoid.{u1} R] [_inst_2 : Sub.{u2} M] (m₁ : M) (m₂ : M), Eq.{max (succ u1) (succ u2)} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.inr.{u1, u2} R M (AddZeroClass.toHasZero.{u1} R (AddMonoid.toAddZeroClass.{u1} R (SubNegMonoid.toAddMonoid.{u1} R (SubNegZeroMonoid.toSubNegMonoid.{u1} R _inst_1)))) (HSub.hSub.{u2, u2, u2} M M M (instHSub.{u2} M _inst_2) m₁ m₂)) (HSub.hSub.{max u1 u2, max u1 u2, max u1 u2} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.{u1, u2} R M) (instHSub.{max u1 u2} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.hasSub.{u1, u2} R M (SubNegMonoid.toHasSub.{u1} R (SubNegZeroMonoid.toSubNegMonoid.{u1} R _inst_1)) _inst_2)) (TrivSqZeroExt.inr.{u1, u2} R M (AddZeroClass.toHasZero.{u1} R (AddMonoid.toAddZeroClass.{u1} R (SubNegMonoid.toAddMonoid.{u1} R (SubNegZeroMonoid.toSubNegMonoid.{u1} R _inst_1)))) m₁) (TrivSqZeroExt.inr.{u1, u2} R M (AddZeroClass.toHasZero.{u1} R (AddMonoid.toAddZeroClass.{u1} R (SubNegMonoid.toAddMonoid.{u1} R (SubNegZeroMonoid.toSubNegMonoid.{u1} R _inst_1)))) m₂))
+but is expected to have type
+  forall (R : Type.{u1}) {M : Type.{u2}} [_inst_1 : SubNegZeroMonoid.{u1} R] [_inst_2 : Sub.{u2} M] (m₁ : M) (m₂ : M), Eq.{max (succ u1) (succ u2)} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.inr.{u1, u2} R M (NegZeroClass.toZero.{u1} R (SubNegZeroMonoid.toNegZeroClass.{u1} R _inst_1)) (HSub.hSub.{u2, u2, u2} M M M (instHSub.{u2} M _inst_2) m₁ m₂)) (HSub.hSub.{max u2 u1, max u2 u1, max u1 u2} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.{u1, u2} R M) (instHSub.{max u2 u1} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.sub.{u1, u2} R M (SubNegMonoid.toSub.{u1} R (SubNegZeroMonoid.toSubNegMonoid.{u1} R _inst_1)) _inst_2)) (TrivSqZeroExt.inr.{u1, u2} R M (NegZeroClass.toZero.{u1} R (SubNegZeroMonoid.toNegZeroClass.{u1} R _inst_1)) m₁) (TrivSqZeroExt.inr.{u1, u2} R M (NegZeroClass.toZero.{u1} R (SubNegZeroMonoid.toNegZeroClass.{u1} R _inst_1)) m₂))
+Case conversion may be inaccurate. Consider using '#align triv_sq_zero_ext.inr_sub TrivSqZeroExt.inr_subₓ'. -/
 @[simp]
 theorem inr_sub [SubNegZeroMonoid R] [Sub M] (m₁ m₂ : M) :
     (inr (m₁ - m₂) : tsze R M) = inr m₁ - inr m₂ :=
   ext (sub_zero _).symm rfl
 #align triv_sq_zero_ext.inr_sub TrivSqZeroExt.inr_sub
 
+/- warning: triv_sq_zero_ext.inr_smul -> TrivSqZeroExt.inr_smul is a dubious translation:
+lean 3 declaration is
+  forall {S : Type.{u3}} (R : Type.{u1}) {M : Type.{u2}} [_inst_1 : Zero.{u1} R] [_inst_2 : Zero.{u3} S] [_inst_3 : SMulWithZero.{u3, u1} S R _inst_2 _inst_1] [_inst_4 : SMul.{u3, u2} S M] (r : S) (m : M), Eq.{max (succ u1) (succ u2)} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.inr.{u1, u2} R M _inst_1 (SMul.smul.{u3, u2} S M _inst_4 r m)) (SMul.smul.{u3, max u1 u2} S (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.hasSmul.{u1, u2, u3} S R M (SMulZeroClass.toHasSmul.{u3, u1} S R _inst_1 (SMulWithZero.toSmulZeroClass.{u3, u1} S R _inst_2 _inst_1 _inst_3)) _inst_4) r (TrivSqZeroExt.inr.{u1, u2} R M _inst_1 m))
+but is expected to have type
+  forall {S : Type.{u1}} (R : Type.{u2}) {M : Type.{u3}} [_inst_1 : Zero.{u2} R] [_inst_2 : Zero.{u1} S] [_inst_3 : SMulWithZero.{u1, u2} S R _inst_2 _inst_1] [_inst_4 : SMul.{u1, u3} S M] (r : S) (m : M), Eq.{max (succ u2) (succ u3)} (TrivSqZeroExt.{u2, u3} R M) (TrivSqZeroExt.inr.{u2, u3} R M _inst_1 (HSMul.hSMul.{u1, u3, u3} S M M (instHSMul.{u1, u3} S M _inst_4) r m)) (HSMul.hSMul.{u1, max u3 u2, max u2 u3} S (TrivSqZeroExt.{u2, u3} R M) (TrivSqZeroExt.{u2, u3} R M) (instHSMul.{u1, max u3 u2} S (TrivSqZeroExt.{u2, u3} R M) (TrivSqZeroExt.smul.{u2, u3, u1} S R M (SMulZeroClass.toSMul.{u1, u2} S R _inst_1 (SMulWithZero.toSMulZeroClass.{u1, u2} S R _inst_2 _inst_1 _inst_3)) _inst_4)) r (TrivSqZeroExt.inr.{u2, u3} R M _inst_1 m))
+Case conversion may be inaccurate. Consider using '#align triv_sq_zero_ext.inr_smul TrivSqZeroExt.inr_smulₓ'. -/
 @[simp]
 theorem inr_smul [Zero R] [Zero S] [SMulWithZero S R] [SMul S M] (r : S) (m : M) :
     (inr (r • m) : tsze R M) = r • inr m :=
   ext (smul_zero _).symm rfl
 #align triv_sq_zero_ext.inr_smul TrivSqZeroExt.inr_smul
 
+/- warning: triv_sq_zero_ext.inr_sum -> TrivSqZeroExt.inr_sum is a dubious translation:
+lean 3 declaration is
+  forall (R : Type.{u1}) {M : Type.{u2}} {ι : Type.{u3}} [_inst_1 : AddCommMonoid.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] (s : Finset.{u3} ι) (f : ι -> M), Eq.{max (succ u1) (succ u2)} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.inr.{u1, u2} R M (AddZeroClass.toHasZero.{u1} R (AddMonoid.toAddZeroClass.{u1} R (AddCommMonoid.toAddMonoid.{u1} R _inst_1))) (Finset.sum.{u2, u3} M ι _inst_2 s (fun (i : ι) => f i))) (Finset.sum.{max u1 u2, u3} (TrivSqZeroExt.{u1, u2} R M) ι (TrivSqZeroExt.addCommMonoid.{u1, u2} R M _inst_1 _inst_2) s (fun (i : ι) => TrivSqZeroExt.inr.{u1, u2} R M (AddZeroClass.toHasZero.{u1} R (AddMonoid.toAddZeroClass.{u1} R (AddCommMonoid.toAddMonoid.{u1} R _inst_1))) (f i)))
+but is expected to have type
+  forall (R : Type.{u2}) {M : Type.{u3}} {ι : Type.{u1}} [_inst_1 : AddCommMonoid.{u2} R] [_inst_2 : AddCommMonoid.{u3} M] (s : Finset.{u1} ι) (f : ι -> M), Eq.{max (succ u2) (succ u3)} (TrivSqZeroExt.{u2, u3} R M) (TrivSqZeroExt.inr.{u2, u3} R M (AddMonoid.toZero.{u2} R (AddCommMonoid.toAddMonoid.{u2} R _inst_1)) (Finset.sum.{u3, u1} M ι _inst_2 s (fun (i : ι) => f i))) (Finset.sum.{max u3 u2, u1} (TrivSqZeroExt.{u2, u3} R M) ι (TrivSqZeroExt.addCommMonoid.{u2, u3} R M _inst_1 _inst_2) s (fun (i : ι) => TrivSqZeroExt.inr.{u2, u3} R M (AddMonoid.toZero.{u2} R (AddCommMonoid.toAddMonoid.{u2} R _inst_1)) (f i)))
+Case conversion may be inaccurate. Consider using '#align triv_sq_zero_ext.inr_sum TrivSqZeroExt.inr_sumₓ'. -/
 theorem inr_sum {ι} [AddCommMonoid R] [AddCommMonoid M] (s : Finset ι) (f : ι → M) :
     (inr (∑ i in s, f i) : tsze R M) = ∑ i in s, inr (f i) :=
   (LinearMap.inr ℕ _ _).map_sum
@@ -382,11 +522,23 @@ theorem inr_sum {ι} [AddCommMonoid R] [AddCommMonoid M] (s : Finset ι) (f : ι
 
 end
 
+/- warning: triv_sq_zero_ext.inl_fst_add_inr_snd_eq -> TrivSqZeroExt.inl_fst_add_inr_snd_eq is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : AddZeroClass.{u1} R] [_inst_2 : AddZeroClass.{u2} M] (x : TrivSqZeroExt.{u1, u2} R M), Eq.{succ (max u1 u2)} (TrivSqZeroExt.{u1, u2} R M) (HAdd.hAdd.{max u1 u2, max u1 u2, max u1 u2} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.{u1, u2} R M) (instHAdd.{max u1 u2} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.hasAdd.{u1, u2} R M (AddZeroClass.toHasAdd.{u1} R _inst_1) (AddZeroClass.toHasAdd.{u2} M _inst_2))) (TrivSqZeroExt.inl.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M _inst_2) (TrivSqZeroExt.fst.{u1, u2} R M x)) (TrivSqZeroExt.inr.{u1, u2} R M (AddZeroClass.toHasZero.{u1} R _inst_1) (TrivSqZeroExt.snd.{u1, u2} R M x))) x
+but is expected to have type
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : AddZeroClass.{u1} R] [_inst_2 : AddZeroClass.{u2} M] (x : TrivSqZeroExt.{u1, u2} R M), Eq.{max (succ u1) (succ u2)} (TrivSqZeroExt.{u1, u2} R M) (HAdd.hAdd.{max u1 u2, max u2 u1, max u1 u2} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.{u1, u2} R M) (instHAdd.{max u1 u2} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.add.{u1, u2} R M (AddZeroClass.toAdd.{u1} R _inst_1) (AddZeroClass.toAdd.{u2} M _inst_2))) (TrivSqZeroExt.inl.{u1, u2} R M (AddZeroClass.toZero.{u2} M _inst_2) (TrivSqZeroExt.fst.{u1, u2} R M x)) (TrivSqZeroExt.inr.{u1, u2} R M (AddZeroClass.toZero.{u1} R _inst_1) (TrivSqZeroExt.snd.{u1, u2} R M x))) x
+Case conversion may be inaccurate. Consider using '#align triv_sq_zero_ext.inl_fst_add_inr_snd_eq TrivSqZeroExt.inl_fst_add_inr_snd_eqₓ'. -/
 theorem inl_fst_add_inr_snd_eq [AddZeroClass R] [AddZeroClass M] (x : tsze R M) :
     inl x.fst + inr x.snd = x :=
   ext (add_zero x.1) (zero_add x.2)
 #align triv_sq_zero_ext.inl_fst_add_inr_snd_eq TrivSqZeroExt.inl_fst_add_inr_snd_eq
 
+/- warning: triv_sq_zero_ext.ind -> TrivSqZeroExt.ind is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : AddZeroClass.{u1} R] [_inst_2 : AddZeroClass.{u2} M] {P : (TrivSqZeroExt.{u1, u2} R M) -> Prop}, (forall (r : R) (m : M), P (HAdd.hAdd.{max u1 u2, max u1 u2, max u1 u2} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.{u1, u2} R M) (instHAdd.{max u1 u2} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.hasAdd.{u1, u2} R M (AddZeroClass.toHasAdd.{u1} R _inst_1) (AddZeroClass.toHasAdd.{u2} M _inst_2))) (TrivSqZeroExt.inl.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M _inst_2) r) (TrivSqZeroExt.inr.{u1, u2} R M (AddZeroClass.toHasZero.{u1} R _inst_1) m))) -> (forall (x : TrivSqZeroExt.{u1, u2} R M), P x)
+but is expected to have type
+  forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : AddZeroClass.{u2} R] [_inst_2 : AddZeroClass.{u1} M] {P : (TrivSqZeroExt.{u2, u1} R M) -> Prop}, (forall (r : R) (m : M), P (HAdd.hAdd.{max u1 u2, max u1 u2, max u2 u1} (TrivSqZeroExt.{u2, u1} R M) (TrivSqZeroExt.{u2, u1} R M) (TrivSqZeroExt.{u2, u1} R M) (instHAdd.{max u1 u2} (TrivSqZeroExt.{u2, u1} R M) (TrivSqZeroExt.add.{u2, u1} R M (AddZeroClass.toAdd.{u2} R _inst_1) (AddZeroClass.toAdd.{u1} M _inst_2))) (TrivSqZeroExt.inl.{u2, u1} R M (AddZeroClass.toZero.{u1} M _inst_2) r) (TrivSqZeroExt.inr.{u2, u1} R M (AddZeroClass.toZero.{u2} R _inst_1) m))) -> (forall (x : TrivSqZeroExt.{u2, u1} R M), P x)
+Case conversion may be inaccurate. Consider using '#align triv_sq_zero_ext.ind TrivSqZeroExt.indₓ'. -/
 /-- To show a property hold on all `triv_sq_zero_ext R M` it suffices to show it holds
 on terms of the form `inl r + inr m`.
 
@@ -396,6 +548,12 @@ theorem ind {R M} [AddZeroClass R] [AddZeroClass M] {P : TrivSqZeroExt R M → P
   inl_fst_add_inr_snd_eq x ▸ h x.1 x.2
 #align triv_sq_zero_ext.ind TrivSqZeroExt.ind
 
+/- warning: triv_sq_zero_ext.linear_map_ext -> TrivSqZeroExt.linearMap_ext is a dubious translation:
+lean 3 declaration is
+  forall {S : Type.{u3}} {R : Type.{u1}} {M : Type.{u2}} {N : Type.{u4}} [_inst_1 : Semiring.{u3} S] [_inst_2 : AddCommMonoid.{u1} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_4 : AddCommMonoid.{u4} N] [_inst_5 : Module.{u3, u1} S R _inst_1 _inst_2] [_inst_6 : Module.{u3, u2} S M _inst_1 _inst_3] [_inst_7 : Module.{u3, u4} S N _inst_1 _inst_4] {{f : LinearMap.{u3, u3, max u1 u2, u4} S S _inst_1 _inst_1 (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_1)) (TrivSqZeroExt.{u1, u2} R M) N (TrivSqZeroExt.addCommMonoid.{u1, u2} R M _inst_2 _inst_3) _inst_4 (TrivSqZeroExt.module.{u1, u2, u3} S R M _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) _inst_7}} {{g : LinearMap.{u3, u3, max u1 u2, u4} S S _inst_1 _inst_1 (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_1)) (TrivSqZeroExt.{u1, u2} R M) N (TrivSqZeroExt.addCommMonoid.{u1, u2} R M _inst_2 _inst_3) _inst_4 (TrivSqZeroExt.module.{u1, u2, u3} S R M _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) _inst_7}}, (forall (r : R), Eq.{succ u4} N (coeFn.{max (succ (max u1 u2)) (succ u4), max (succ (max u1 u2)) (succ u4)} (LinearMap.{u3, u3, max u1 u2, u4} S S _inst_1 _inst_1 (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_1)) (TrivSqZeroExt.{u1, u2} R M) N (TrivSqZeroExt.addCommMonoid.{u1, u2} R M _inst_2 _inst_3) _inst_4 (TrivSqZeroExt.module.{u1, u2, u3} S R M _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (fun (_x : LinearMap.{u3, u3, max u1 u2, u4} S S _inst_1 _inst_1 (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_1)) (TrivSqZeroExt.{u1, u2} R M) N (TrivSqZeroExt.addCommMonoid.{u1, u2} R M _inst_2 _inst_3) _inst_4 (TrivSqZeroExt.module.{u1, u2, u3} S R M _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) => (TrivSqZeroExt.{u1, u2} R M) -> N) (LinearMap.hasCoeToFun.{u3, u3, max u1 u2, u4} S S (TrivSqZeroExt.{u1, u2} R M) N _inst_1 _inst_1 (TrivSqZeroExt.addCommMonoid.{u1, u2} R M _inst_2 _inst_3) _inst_4 (TrivSqZeroExt.module.{u1, u2, u3} S R M _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) _inst_7 (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_1))) f (TrivSqZeroExt.inl.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) r)) (coeFn.{max (succ (max u1 u2)) (succ u4), max (succ (max u1 u2)) (succ u4)} (LinearMap.{u3, u3, max u1 u2, u4} S S _inst_1 _inst_1 (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_1)) (TrivSqZeroExt.{u1, u2} R M) N (TrivSqZeroExt.addCommMonoid.{u1, u2} R M _inst_2 _inst_3) _inst_4 (TrivSqZeroExt.module.{u1, u2, u3} S R M _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (fun (_x : LinearMap.{u3, u3, max u1 u2, u4} S S _inst_1 _inst_1 (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_1)) (TrivSqZeroExt.{u1, u2} R M) N (TrivSqZeroExt.addCommMonoid.{u1, u2} R M _inst_2 _inst_3) _inst_4 (TrivSqZeroExt.module.{u1, u2, u3} S R M _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) => (TrivSqZeroExt.{u1, u2} R M) -> N) (LinearMap.hasCoeToFun.{u3, u3, max u1 u2, u4} S S (TrivSqZeroExt.{u1, u2} R M) N _inst_1 _inst_1 (TrivSqZeroExt.addCommMonoid.{u1, u2} R M _inst_2 _inst_3) _inst_4 (TrivSqZeroExt.module.{u1, u2, u3} S R M _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) _inst_7 (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_1))) g (TrivSqZeroExt.inl.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) r))) -> (forall (m : M), Eq.{succ u4} N (coeFn.{max (succ (max u1 u2)) (succ u4), max (succ (max u1 u2)) (succ u4)} (LinearMap.{u3, u3, max u1 u2, u4} S S _inst_1 _inst_1 (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_1)) (TrivSqZeroExt.{u1, u2} R M) N (TrivSqZeroExt.addCommMonoid.{u1, u2} R M _inst_2 _inst_3) _inst_4 (TrivSqZeroExt.module.{u1, u2, u3} S R M _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (fun (_x : LinearMap.{u3, u3, max u1 u2, u4} S S _inst_1 _inst_1 (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_1)) (TrivSqZeroExt.{u1, u2} R M) N (TrivSqZeroExt.addCommMonoid.{u1, u2} R M _inst_2 _inst_3) _inst_4 (TrivSqZeroExt.module.{u1, u2, u3} S R M _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) => (TrivSqZeroExt.{u1, u2} R M) -> N) (LinearMap.hasCoeToFun.{u3, u3, max u1 u2, u4} S S (TrivSqZeroExt.{u1, u2} R M) N _inst_1 _inst_1 (TrivSqZeroExt.addCommMonoid.{u1, u2} R M _inst_2 _inst_3) _inst_4 (TrivSqZeroExt.module.{u1, u2, u3} S R M _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) _inst_7 (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_1))) f (TrivSqZeroExt.inr.{u1, u2} R M (AddZeroClass.toHasZero.{u1} R (AddMonoid.toAddZeroClass.{u1} R (AddCommMonoid.toAddMonoid.{u1} R _inst_2))) m)) (coeFn.{max (succ (max u1 u2)) (succ u4), max (succ (max u1 u2)) (succ u4)} (LinearMap.{u3, u3, max u1 u2, u4} S S _inst_1 _inst_1 (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_1)) (TrivSqZeroExt.{u1, u2} R M) N (TrivSqZeroExt.addCommMonoid.{u1, u2} R M _inst_2 _inst_3) _inst_4 (TrivSqZeroExt.module.{u1, u2, u3} S R M _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (fun (_x : LinearMap.{u3, u3, max u1 u2, u4} S S _inst_1 _inst_1 (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_1)) (TrivSqZeroExt.{u1, u2} R M) N (TrivSqZeroExt.addCommMonoid.{u1, u2} R M _inst_2 _inst_3) _inst_4 (TrivSqZeroExt.module.{u1, u2, u3} S R M _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) => (TrivSqZeroExt.{u1, u2} R M) -> N) (LinearMap.hasCoeToFun.{u3, u3, max u1 u2, u4} S S (TrivSqZeroExt.{u1, u2} R M) N _inst_1 _inst_1 (TrivSqZeroExt.addCommMonoid.{u1, u2} R M _inst_2 _inst_3) _inst_4 (TrivSqZeroExt.module.{u1, u2, u3} S R M _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) _inst_7 (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_1))) g (TrivSqZeroExt.inr.{u1, u2} R M (AddZeroClass.toHasZero.{u1} R (AddMonoid.toAddZeroClass.{u1} R (AddCommMonoid.toAddMonoid.{u1} R _inst_2))) m))) -> (Eq.{max (succ (max u1 u2)) (succ u4)} (LinearMap.{u3, u3, max u1 u2, u4} S S _inst_1 _inst_1 (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_1)) (TrivSqZeroExt.{u1, u2} R M) N (TrivSqZeroExt.addCommMonoid.{u1, u2} R M _inst_2 _inst_3) _inst_4 (TrivSqZeroExt.module.{u1, u2, u3} S R M _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) f g)
+but is expected to have type
+  forall {S : Type.{u1}} {R : Type.{u3}} {M : Type.{u4}} {N : Type.{u2}} [_inst_1 : Semiring.{u1} S] [_inst_2 : AddCommMonoid.{u3} R] [_inst_3 : AddCommMonoid.{u4} M] [_inst_4 : AddCommMonoid.{u2} N] [_inst_5 : Module.{u1, u3} S R _inst_1 _inst_2] [_inst_6 : Module.{u1, u4} S M _inst_1 _inst_3] [_inst_7 : Module.{u1, u2} S N _inst_1 _inst_4] {{f : LinearMap.{u1, u1, max u4 u3, u2} S S _inst_1 _inst_1 (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_1)) (TrivSqZeroExt.{u3, u4} R M) N (TrivSqZeroExt.addCommMonoid.{u3, u4} R M _inst_2 _inst_3) _inst_4 (TrivSqZeroExt.module.{u3, u4, u1} S R M _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) _inst_7}} {{g : LinearMap.{u1, u1, max u4 u3, u2} S S _inst_1 _inst_1 (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_1)) (TrivSqZeroExt.{u3, u4} R M) N (TrivSqZeroExt.addCommMonoid.{u3, u4} R M _inst_2 _inst_3) _inst_4 (TrivSqZeroExt.module.{u3, u4, u1} S R M _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) _inst_7}}, (forall (r : R), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : TrivSqZeroExt.{u3, u4} R M) => N) (TrivSqZeroExt.inl.{u3, u4} R M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3)) r)) (FunLike.coe.{max (max (succ u3) (succ u4)) (succ u2), max (succ u3) (succ u4), succ u2} (LinearMap.{u1, u1, max u4 u3, u2} S S _inst_1 _inst_1 (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_1)) (TrivSqZeroExt.{u3, u4} R M) N (TrivSqZeroExt.addCommMonoid.{u3, u4} R M _inst_2 _inst_3) _inst_4 (TrivSqZeroExt.module.{u3, u4, u1} S R M _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TrivSqZeroExt.{u3, u4} R M) (fun (_x : TrivSqZeroExt.{u3, u4} R M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : TrivSqZeroExt.{u3, u4} R M) => N) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, max u3 u4, u2} S S (TrivSqZeroExt.{u3, u4} R M) N _inst_1 _inst_1 (TrivSqZeroExt.addCommMonoid.{u3, u4} R M _inst_2 _inst_3) _inst_4 (TrivSqZeroExt.module.{u3, u4, u1} S R M _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) _inst_7 (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_1))) f (TrivSqZeroExt.inl.{u3, u4} R M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3)) r)) (FunLike.coe.{max (max (succ u3) (succ u4)) (succ u2), max (succ u3) (succ u4), succ u2} (LinearMap.{u1, u1, max u4 u3, u2} S S _inst_1 _inst_1 (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_1)) (TrivSqZeroExt.{u3, u4} R M) N (TrivSqZeroExt.addCommMonoid.{u3, u4} R M _inst_2 _inst_3) _inst_4 (TrivSqZeroExt.module.{u3, u4, u1} S R M _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TrivSqZeroExt.{u3, u4} R M) (fun (_x : TrivSqZeroExt.{u3, u4} R M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : TrivSqZeroExt.{u3, u4} R M) => N) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, max u3 u4, u2} S S (TrivSqZeroExt.{u3, u4} R M) N _inst_1 _inst_1 (TrivSqZeroExt.addCommMonoid.{u3, u4} R M _inst_2 _inst_3) _inst_4 (TrivSqZeroExt.module.{u3, u4, u1} S R M _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) _inst_7 (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_1))) g (TrivSqZeroExt.inl.{u3, u4} R M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3)) r))) -> (forall (m : M), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : TrivSqZeroExt.{u3, u4} R M) => N) (TrivSqZeroExt.inr.{u3, u4} R M (AddMonoid.toZero.{u3} R (AddCommMonoid.toAddMonoid.{u3} R _inst_2)) m)) (FunLike.coe.{max (max (succ u3) (succ u4)) (succ u2), max (succ u3) (succ u4), succ u2} (LinearMap.{u1, u1, max u4 u3, u2} S S _inst_1 _inst_1 (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_1)) (TrivSqZeroExt.{u3, u4} R M) N (TrivSqZeroExt.addCommMonoid.{u3, u4} R M _inst_2 _inst_3) _inst_4 (TrivSqZeroExt.module.{u3, u4, u1} S R M _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TrivSqZeroExt.{u3, u4} R M) (fun (_x : TrivSqZeroExt.{u3, u4} R M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : TrivSqZeroExt.{u3, u4} R M) => N) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, max u3 u4, u2} S S (TrivSqZeroExt.{u3, u4} R M) N _inst_1 _inst_1 (TrivSqZeroExt.addCommMonoid.{u3, u4} R M _inst_2 _inst_3) _inst_4 (TrivSqZeroExt.module.{u3, u4, u1} S R M _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) _inst_7 (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_1))) f (TrivSqZeroExt.inr.{u3, u4} R M (AddMonoid.toZero.{u3} R (AddCommMonoid.toAddMonoid.{u3} R _inst_2)) m)) (FunLike.coe.{max (max (succ u3) (succ u4)) (succ u2), max (succ u3) (succ u4), succ u2} (LinearMap.{u1, u1, max u4 u3, u2} S S _inst_1 _inst_1 (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_1)) (TrivSqZeroExt.{u3, u4} R M) N (TrivSqZeroExt.addCommMonoid.{u3, u4} R M _inst_2 _inst_3) _inst_4 (TrivSqZeroExt.module.{u3, u4, u1} S R M _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TrivSqZeroExt.{u3, u4} R M) (fun (_x : TrivSqZeroExt.{u3, u4} R M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : TrivSqZeroExt.{u3, u4} R M) => N) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, max u3 u4, u2} S S (TrivSqZeroExt.{u3, u4} R M) N _inst_1 _inst_1 (TrivSqZeroExt.addCommMonoid.{u3, u4} R M _inst_2 _inst_3) _inst_4 (TrivSqZeroExt.module.{u3, u4, u1} S R M _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) _inst_7 (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_1))) g (TrivSqZeroExt.inr.{u3, u4} R M (AddMonoid.toZero.{u3} R (AddCommMonoid.toAddMonoid.{u3} R _inst_2)) m))) -> (Eq.{max (max (succ u3) (succ u4)) (succ u2)} (LinearMap.{u1, u1, max u4 u3, u2} S S _inst_1 _inst_1 (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_1)) (TrivSqZeroExt.{u3, u4} R M) N (TrivSqZeroExt.addCommMonoid.{u3, u4} R M _inst_2 _inst_3) _inst_4 (TrivSqZeroExt.module.{u3, u4, u1} S R M _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) f g)
+Case conversion may be inaccurate. Consider using '#align triv_sq_zero_ext.linear_map_ext TrivSqZeroExt.linearMap_extₓ'. -/
 /-- This cannot be marked `@[ext]` as it ends up being used instead of `linear_map.prod_ext` when
 working with `R × M`. -/
 theorem linearMap_ext {N} [Semiring S] [AddCommMonoid R] [AddCommMonoid M] [AddCommMonoid N]
@@ -406,17 +564,21 @@ theorem linearMap_ext {N} [Semiring S] [AddCommMonoid R] [AddCommMonoid M] [AddC
 
 variable (R M)
 
+#print TrivSqZeroExt.inrHom /-
 /-- The canonical `R`-linear inclusion `M → triv_sq_zero_ext R M`. -/
 @[simps apply]
 def inrHom [Semiring R] [AddCommMonoid M] [Module R M] : M →ₗ[R] tsze R M :=
   { LinearMap.inr R R M with toFun := inr }
 #align triv_sq_zero_ext.inr_hom TrivSqZeroExt.inrHom
+-/
 
+#print TrivSqZeroExt.sndHom /-
 /-- The canonical `R`-linear projection `triv_sq_zero_ext R M → M`. -/
 @[simps apply]
 def sndHom [Semiring R] [AddCommMonoid M] [Module R M] : tsze R M →ₗ[R] M :=
   { LinearMap.snd _ _ _ with toFun := snd }
 #align triv_sq_zero_ext.snd_hom TrivSqZeroExt.sndHom
+-/
 
 end Additive
 
@@ -433,43 +595,65 @@ instance [One R] [Zero M] : One (tsze R M) :=
 instance [Mul R] [Add M] [SMul R M] [SMul Rᵐᵒᵖ M] : Mul (tsze R M) :=
   ⟨fun x y => (x.1 * y.1, x.1 • y.2 + op y.1 • x.2)⟩
 
+#print TrivSqZeroExt.fst_one /-
 @[simp]
 theorem fst_one [One R] [Zero M] : (1 : tsze R M).fst = 1 :=
   rfl
 #align triv_sq_zero_ext.fst_one TrivSqZeroExt.fst_one
+-/
 
+#print TrivSqZeroExt.snd_one /-
 @[simp]
 theorem snd_one [One R] [Zero M] : (1 : tsze R M).snd = 0 :=
   rfl
 #align triv_sq_zero_ext.snd_one TrivSqZeroExt.snd_one
+-/
 
+#print TrivSqZeroExt.fst_mul /-
 @[simp]
 theorem fst_mul [Mul R] [Add M] [SMul R M] [SMul Rᵐᵒᵖ M] (x₁ x₂ : tsze R M) :
     (x₁ * x₂).fst = x₁.fst * x₂.fst :=
   rfl
 #align triv_sq_zero_ext.fst_mul TrivSqZeroExt.fst_mul
+-/
 
+#print TrivSqZeroExt.snd_mul /-
 @[simp]
 theorem snd_mul [Mul R] [Add M] [SMul R M] [SMul Rᵐᵒᵖ M] (x₁ x₂ : tsze R M) :
     (x₁ * x₂).snd = x₁.fst • x₂.snd + op x₂.fst • x₁.snd :=
   rfl
 #align triv_sq_zero_ext.snd_mul TrivSqZeroExt.snd_mul
+-/
 
 section
 
 variable (M)
 
+#print TrivSqZeroExt.inl_one /-
 @[simp]
 theorem inl_one [One R] [Zero M] : (inl 1 : tsze R M) = 1 :=
   rfl
 #align triv_sq_zero_ext.inl_one TrivSqZeroExt.inl_one
+-/
 
+/- warning: triv_sq_zero_ext.inl_mul -> TrivSqZeroExt.inl_mul is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} (M : Type.{u2}) [_inst_1 : Monoid.{u1} R] [_inst_2 : AddMonoid.{u2} M] [_inst_3 : DistribMulAction.{u1, u2} R M _inst_1 _inst_2] [_inst_4 : DistribMulAction.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.monoid.{u1} R _inst_1) _inst_2] (r₁ : R) (r₂ : R), Eq.{max (succ u1) (succ u2)} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.inl.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_2)) (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (MulOneClass.toHasMul.{u1} R (Monoid.toMulOneClass.{u1} R _inst_1))) r₁ r₂)) (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.{u1, u2} R M) (instHMul.{max u1 u2} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.hasMul.{u1, u2} R M (MulOneClass.toHasMul.{u1} R (Monoid.toMulOneClass.{u1} R _inst_1)) (AddZeroClass.toHasAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_2)) (SMulZeroClass.toHasSmul.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_2)) (DistribSMul.toSmulZeroClass.{u1, u2} R M (AddMonoid.toAddZeroClass.{u2} M _inst_2) (DistribMulAction.toDistribSMul.{u1, u2} R M _inst_1 _inst_2 _inst_3))) (SMulZeroClass.toHasSmul.{u1, u2} (MulOpposite.{u1} R) M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_2)) (DistribSMul.toSmulZeroClass.{u1, u2} (MulOpposite.{u1} R) M (AddMonoid.toAddZeroClass.{u2} M _inst_2) (DistribMulAction.toDistribSMul.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.monoid.{u1} R _inst_1) _inst_2 _inst_4))))) (TrivSqZeroExt.inl.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_2)) r₁) (TrivSqZeroExt.inl.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_2)) r₂))
+but is expected to have type
+  forall {R : Type.{u1}} (M : Type.{u2}) [_inst_1 : Monoid.{u1} R] [_inst_2 : AddMonoid.{u2} M] [_inst_3 : DistribMulAction.{u1, u2} R M _inst_1 _inst_2] [_inst_4 : DistribMulAction.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.instMonoidMulOpposite.{u1} R _inst_1) _inst_2] (r₁ : R) (r₂ : R), Eq.{max (succ u1) (succ u2)} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.inl.{u1, u2} R M (AddMonoid.toZero.{u2} M _inst_2) (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (MulOneClass.toMul.{u1} R (Monoid.toMulOneClass.{u1} R _inst_1))) r₁ r₂)) (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.{u1, u2} R M) (instHMul.{max u1 u2} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.mul.{u1, u2} R M (MulOneClass.toMul.{u1} R (Monoid.toMulOneClass.{u1} R _inst_1)) (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_2)) (SMulZeroClass.toSMul.{u1, u2} R M (AddMonoid.toZero.{u2} M _inst_2) (DistribSMul.toSMulZeroClass.{u1, u2} R M (AddMonoid.toAddZeroClass.{u2} M _inst_2) (DistribMulAction.toDistribSMul.{u1, u2} R M _inst_1 _inst_2 _inst_3))) (SMulZeroClass.toSMul.{u1, u2} (MulOpposite.{u1} R) M (AddMonoid.toZero.{u2} M _inst_2) (DistribSMul.toSMulZeroClass.{u1, u2} (MulOpposite.{u1} R) M (AddMonoid.toAddZeroClass.{u2} M _inst_2) (DistribMulAction.toDistribSMul.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.instMonoidMulOpposite.{u1} R _inst_1) _inst_2 _inst_4))))) (TrivSqZeroExt.inl.{u1, u2} R M (AddMonoid.toZero.{u2} M _inst_2) r₁) (TrivSqZeroExt.inl.{u1, u2} R M (AddMonoid.toZero.{u2} M _inst_2) r₂))
+Case conversion may be inaccurate. Consider using '#align triv_sq_zero_ext.inl_mul TrivSqZeroExt.inl_mulₓ'. -/
 @[simp]
 theorem inl_mul [Monoid R] [AddMonoid M] [DistribMulAction R M] [DistribMulAction Rᵐᵒᵖ M]
     (r₁ r₂ : R) : (inl (r₁ * r₂) : tsze R M) = inl r₁ * inl r₂ :=
   ext rfl <| show (0 : M) = r₁ • 0 + op r₂ • 0 by rw [smul_zero, zero_add, smul_zero]
 #align triv_sq_zero_ext.inl_mul TrivSqZeroExt.inl_mul
 
+/- warning: triv_sq_zero_ext.inl_mul_inl -> TrivSqZeroExt.inl_mul_inl is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} (M : Type.{u2}) [_inst_1 : Monoid.{u1} R] [_inst_2 : AddMonoid.{u2} M] [_inst_3 : DistribMulAction.{u1, u2} R M _inst_1 _inst_2] [_inst_4 : DistribMulAction.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.monoid.{u1} R _inst_1) _inst_2] (r₁ : R) (r₂ : R), Eq.{max (succ u1) (succ u2)} (TrivSqZeroExt.{u1, u2} R M) (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.{u1, u2} R M) (instHMul.{max u1 u2} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.hasMul.{u1, u2} R M (MulOneClass.toHasMul.{u1} R (Monoid.toMulOneClass.{u1} R _inst_1)) (AddZeroClass.toHasAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_2)) (SMulZeroClass.toHasSmul.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_2)) (DistribSMul.toSmulZeroClass.{u1, u2} R M (AddMonoid.toAddZeroClass.{u2} M _inst_2) (DistribMulAction.toDistribSMul.{u1, u2} R M _inst_1 _inst_2 _inst_3))) (SMulZeroClass.toHasSmul.{u1, u2} (MulOpposite.{u1} R) M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_2)) (DistribSMul.toSmulZeroClass.{u1, u2} (MulOpposite.{u1} R) M (AddMonoid.toAddZeroClass.{u2} M _inst_2) (DistribMulAction.toDistribSMul.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.monoid.{u1} R _inst_1) _inst_2 _inst_4))))) (TrivSqZeroExt.inl.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_2)) r₁) (TrivSqZeroExt.inl.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_2)) r₂)) (TrivSqZeroExt.inl.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_2)) (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (MulOneClass.toHasMul.{u1} R (Monoid.toMulOneClass.{u1} R _inst_1))) r₁ r₂))
+but is expected to have type
+  forall {R : Type.{u1}} (M : Type.{u2}) [_inst_1 : Monoid.{u1} R] [_inst_2 : AddMonoid.{u2} M] [_inst_3 : DistribMulAction.{u1, u2} R M _inst_1 _inst_2] [_inst_4 : DistribMulAction.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.instMonoidMulOpposite.{u1} R _inst_1) _inst_2] (r₁ : R) (r₂ : R), Eq.{max (succ u1) (succ u2)} (TrivSqZeroExt.{u1, u2} R M) (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.{u1, u2} R M) (instHMul.{max u1 u2} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.mul.{u1, u2} R M (MulOneClass.toMul.{u1} R (Monoid.toMulOneClass.{u1} R _inst_1)) (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_2)) (SMulZeroClass.toSMul.{u1, u2} R M (AddMonoid.toZero.{u2} M _inst_2) (DistribSMul.toSMulZeroClass.{u1, u2} R M (AddMonoid.toAddZeroClass.{u2} M _inst_2) (DistribMulAction.toDistribSMul.{u1, u2} R M _inst_1 _inst_2 _inst_3))) (SMulZeroClass.toSMul.{u1, u2} (MulOpposite.{u1} R) M (AddMonoid.toZero.{u2} M _inst_2) (DistribSMul.toSMulZeroClass.{u1, u2} (MulOpposite.{u1} R) M (AddMonoid.toAddZeroClass.{u2} M _inst_2) (DistribMulAction.toDistribSMul.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.instMonoidMulOpposite.{u1} R _inst_1) _inst_2 _inst_4))))) (TrivSqZeroExt.inl.{u1, u2} R M (AddMonoid.toZero.{u2} M _inst_2) r₁) (TrivSqZeroExt.inl.{u1, u2} R M (AddMonoid.toZero.{u2} M _inst_2) r₂)) (TrivSqZeroExt.inl.{u1, u2} R M (AddMonoid.toZero.{u2} M _inst_2) (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (MulOneClass.toMul.{u1} R (Monoid.toMulOneClass.{u1} R _inst_1))) r₁ r₂))
+Case conversion may be inaccurate. Consider using '#align triv_sq_zero_ext.inl_mul_inl TrivSqZeroExt.inl_mul_inlₓ'. -/
 theorem inl_mul_inl [Monoid R] [AddMonoid M] [DistribMulAction R M] [DistribMulAction Rᵐᵒᵖ M]
     (r₁ r₂ : R) : (inl r₁ * inl r₂ : tsze R M) = inl (r₁ * r₂) :=
   (inl_mul M r₁ r₂).symm
@@ -481,6 +665,12 @@ section
 
 variable (R)
 
+/- warning: triv_sq_zero_ext.inr_mul_inr -> TrivSqZeroExt.inr_mul_inr 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] [_inst_4 : Module.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.semiring.{u1} R _inst_1) _inst_2] (m₁ : M) (m₂ : M), Eq.{max (succ u1) (succ u2)} (TrivSqZeroExt.{u1, u2} R M) (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.{u1, u2} R M) (instHMul.{max u1 u2} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.hasMul.{u1, u2} R M (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (AddZeroClass.toHasAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (SMulZeroClass.toHasSmul.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} R M (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} R M _inst_1 _inst_2 _inst_3)))) (SMulZeroClass.toHasSmul.{u1, u2} (MulOpposite.{u1} R) M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} (MulOpposite.{u1} R) M (MulZeroClass.toHasZero.{u1} (MulOpposite.{u1} R) (MulZeroOneClass.toMulZeroClass.{u1} (MulOpposite.{u1} R) (MonoidWithZero.toMulZeroOneClass.{u1} (MulOpposite.{u1} R) (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R) M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.semiring.{u1} R _inst_1) _inst_2 _inst_4)))))) (TrivSqZeroExt.inr.{u1, u2} R M (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) m₁) (TrivSqZeroExt.inr.{u1, u2} R M (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) m₂)) (OfNat.ofNat.{max u1 u2} (TrivSqZeroExt.{u1, u2} R M) 0 (OfNat.mk.{max u1 u2} (TrivSqZeroExt.{u1, u2} R M) 0 (Zero.zero.{max u1 u2} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.hasZero.{u1, u2} R M (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (AddZeroClass.toHasZero.{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] [_inst_4 : Module.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1) _inst_2] (m₁ : M) (m₂ : M), Eq.{max (succ u1) (succ u2)} (TrivSqZeroExt.{u1, u2} R M) (HMul.hMul.{max u2 u1, max u2 u1, max u1 u2} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.{u1, u2} R M) (instHMul.{max u2 u1} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.mul.{u1, u2} R M (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (SMulZeroClass.toSMul.{u1, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R M (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (Module.toMulActionWithZero.{u1, u2} R M _inst_1 _inst_2 _inst_3)))) (SMulZeroClass.toSMul.{u1, u2} (MulOpposite.{u1} R) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.instZeroMulOpposite.{u1} R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.instMonoidWithZeroMulOpposite.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1) _inst_2 _inst_4)))))) (TrivSqZeroExt.inr.{u1, u2} R M (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) m₁) (TrivSqZeroExt.inr.{u1, u2} R M (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) m₂)) (OfNat.ofNat.{max u1 u2} (TrivSqZeroExt.{u1, u2} R M) 0 (Zero.toOfNat0.{max u1 u2} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.zero.{u1, u2} R M (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)))))
+Case conversion may be inaccurate. Consider using '#align triv_sq_zero_ext.inr_mul_inr TrivSqZeroExt.inr_mul_inrₓ'. -/
 @[simp]
 theorem inr_mul_inr [Semiring R] [AddCommMonoid M] [Module R M] [Module Rᵐᵒᵖ M] (m₁ m₂ : M) :
     (inr m₁ * inr m₂ : tsze R M) = 0 :=
@@ -490,11 +680,23 @@ theorem inr_mul_inr [Semiring R] [AddCommMonoid M] [Module R M] [Module Rᵐᵒ
 
 end
 
+/- warning: triv_sq_zero_ext.inl_mul_inr -> TrivSqZeroExt.inl_mul_inr 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] [_inst_4 : Module.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.semiring.{u1} R _inst_1) _inst_2] (r : R) (m : M), Eq.{max (succ u1) (succ u2)} (TrivSqZeroExt.{u1, u2} R M) (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.{u1, u2} R M) (instHMul.{max u1 u2} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.hasMul.{u1, u2} R M (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (AddZeroClass.toHasAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (SMulZeroClass.toHasSmul.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} R M (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} R M _inst_1 _inst_2 _inst_3)))) (SMulZeroClass.toHasSmul.{u1, u2} (MulOpposite.{u1} R) M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} (MulOpposite.{u1} R) M (MulZeroClass.toHasZero.{u1} (MulOpposite.{u1} R) (MulZeroOneClass.toMulZeroClass.{u1} (MulOpposite.{u1} R) (MonoidWithZero.toMulZeroOneClass.{u1} (MulOpposite.{u1} R) (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R) M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.semiring.{u1} R _inst_1) _inst_2 _inst_4)))))) (TrivSqZeroExt.inl.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) r) (TrivSqZeroExt.inr.{u1, u2} R M (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) m)) (TrivSqZeroExt.inr.{u1, u2} R M (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (SMul.smul.{u1, u2} R M (SMulZeroClass.toHasSmul.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} R M (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} R M _inst_1 _inst_2 _inst_3)))) r 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] [_inst_4 : Module.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1) _inst_2] (r : R) (m : M), Eq.{max (succ u1) (succ u2)} (TrivSqZeroExt.{u1, u2} R M) (HMul.hMul.{max u1 u2, max u2 u1, max u1 u2} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.{u1, u2} R M) (instHMul.{max u1 u2} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.mul.{u1, u2} R M (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (SMulZeroClass.toSMul.{u1, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R M (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (Module.toMulActionWithZero.{u1, u2} R M _inst_1 _inst_2 _inst_3)))) (SMulZeroClass.toSMul.{u1, u2} (MulOpposite.{u1} R) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.instZeroMulOpposite.{u1} R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.instMonoidWithZeroMulOpposite.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1) _inst_2 _inst_4)))))) (TrivSqZeroExt.inl.{u1, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) r) (TrivSqZeroExt.inr.{u1, u2} R M (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) m)) (TrivSqZeroExt.inr.{u1, u2} R M (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (HSMul.hSMul.{u1, u2, u2} R M M (instHSMul.{u1, u2} R M (SMulZeroClass.toSMul.{u1, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R M (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (Module.toMulActionWithZero.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) r m))
+Case conversion may be inaccurate. Consider using '#align triv_sq_zero_ext.inl_mul_inr TrivSqZeroExt.inl_mul_inrₓ'. -/
 theorem inl_mul_inr [Semiring R] [AddCommMonoid M] [Module R M] [Module Rᵐᵒᵖ M] (r : R) (m : M) :
     (inl r * inr m : tsze R M) = inr (r • m) :=
   ext (MulZeroClass.mul_zero r) <| show r • m + (0 : Rᵐᵒᵖ) • 0 = r • m by rw [smul_zero, add_zero]
 #align triv_sq_zero_ext.inl_mul_inr TrivSqZeroExt.inl_mul_inr
 
+/- warning: triv_sq_zero_ext.inr_mul_inl -> TrivSqZeroExt.inr_mul_inl 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] [_inst_4 : Module.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.semiring.{u1} R _inst_1) _inst_2] (r : R) (m : M), Eq.{max (succ u1) (succ u2)} (TrivSqZeroExt.{u1, u2} R M) (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.{u1, u2} R M) (instHMul.{max u1 u2} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.hasMul.{u1, u2} R M (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (AddZeroClass.toHasAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (SMulZeroClass.toHasSmul.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} R M (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} R M _inst_1 _inst_2 _inst_3)))) (SMulZeroClass.toHasSmul.{u1, u2} (MulOpposite.{u1} R) M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} (MulOpposite.{u1} R) M (MulZeroClass.toHasZero.{u1} (MulOpposite.{u1} R) (MulZeroOneClass.toMulZeroClass.{u1} (MulOpposite.{u1} R) (MonoidWithZero.toMulZeroOneClass.{u1} (MulOpposite.{u1} R) (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R) M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.semiring.{u1} R _inst_1) _inst_2 _inst_4)))))) (TrivSqZeroExt.inr.{u1, u2} R M (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) m) (TrivSqZeroExt.inl.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) r)) (TrivSqZeroExt.inr.{u1, u2} R M (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (SMul.smul.{u1, u2} (MulOpposite.{u1} R) M (SMulZeroClass.toHasSmul.{u1, u2} (MulOpposite.{u1} R) M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} (MulOpposite.{u1} R) M (MulZeroClass.toHasZero.{u1} (MulOpposite.{u1} R) (MulZeroOneClass.toMulZeroClass.{u1} (MulOpposite.{u1} R) (MonoidWithZero.toMulZeroOneClass.{u1} (MulOpposite.{u1} R) (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R) M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.semiring.{u1} R _inst_1) _inst_2 _inst_4)))) (MulOpposite.op.{u1} R r) 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] [_inst_4 : Module.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1) _inst_2] (r : R) (m : M), Eq.{max (succ u1) (succ u2)} (TrivSqZeroExt.{u1, u2} R M) (HMul.hMul.{max u2 u1, max u1 u2, max u1 u2} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.{u1, u2} R M) (instHMul.{max u2 u1} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.mul.{u1, u2} R M (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (SMulZeroClass.toSMul.{u1, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R M (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (Module.toMulActionWithZero.{u1, u2} R M _inst_1 _inst_2 _inst_3)))) (SMulZeroClass.toSMul.{u1, u2} (MulOpposite.{u1} R) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.instZeroMulOpposite.{u1} R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.instMonoidWithZeroMulOpposite.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1) _inst_2 _inst_4)))))) (TrivSqZeroExt.inr.{u1, u2} R M (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) m) (TrivSqZeroExt.inl.{u1, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) r)) (TrivSqZeroExt.inr.{u1, u2} R M (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (HSMul.hSMul.{u1, u2, u2} (MulOpposite.{u1} R) M M (instHSMul.{u1, u2} (MulOpposite.{u1} R) M (SMulZeroClass.toSMul.{u1, u2} (MulOpposite.{u1} R) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.instZeroMulOpposite.{u1} R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.instMonoidWithZeroMulOpposite.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1) _inst_2 _inst_4))))) (MulOpposite.op.{u1} R r) m))
+Case conversion may be inaccurate. Consider using '#align triv_sq_zero_ext.inr_mul_inl TrivSqZeroExt.inr_mul_inlₓ'. -/
 theorem inr_mul_inl [Semiring R] [AddCommMonoid M] [Module R M] [Module Rᵐᵒᵖ M] (r : R) (m : M) :
     (inr m * inl r : tsze R M) = inr (op r • m) :=
   ext (MulZeroClass.zero_mul r) <|
@@ -519,16 +721,30 @@ instance [AddMonoidWithOne R] [AddMonoid M] : AddMonoidWithOne (tsze R M) :=
     natCast_zero := by simp [Nat.cast]
     natCast_succ := fun _ => by ext <;> simp [Nat.cast] }
 
+#print TrivSqZeroExt.fst_nat_cast /-
 @[simp]
 theorem fst_nat_cast [AddMonoidWithOne R] [AddMonoid M] (n : ℕ) : (n : tsze R M).fst = n :=
   rfl
 #align triv_sq_zero_ext.fst_nat_cast TrivSqZeroExt.fst_nat_cast
+-/
 
+/- warning: triv_sq_zero_ext.snd_nat_cast -> TrivSqZeroExt.snd_nat_cast is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : AddMonoidWithOne.{u1} R] [_inst_2 : AddMonoid.{u2} M] (n : Nat), Eq.{succ u2} M (TrivSqZeroExt.snd.{u1, u2} R M ((fun (a : Type) (b : Sort.{max (succ u1) (succ u2)}) [self : HasLiftT.{1, max (succ u1) (succ u2)} a b] => self.0) Nat (TrivSqZeroExt.{u1, u2} R M) (HasLiftT.mk.{1, max (succ u1) (succ u2)} Nat (TrivSqZeroExt.{u1, u2} R M) (CoeTCₓ.coe.{1, max (succ u1) (succ u2)} Nat (TrivSqZeroExt.{u1, u2} R M) (Nat.castCoe.{max u1 u2} (TrivSqZeroExt.{u1, u2} R M) (AddMonoidWithOne.toNatCast.{max u1 u2} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.addMonoidWithOne.{u1, u2} R M _inst_1 _inst_2))))) n)) (OfNat.ofNat.{u2} M 0 (OfNat.mk.{u2} M 0 (Zero.zero.{u2} M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_2)))))
+but is expected to have type
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : AddMonoidWithOne.{u1} R] [_inst_2 : AddMonoid.{u2} M] (n : Nat), Eq.{succ u2} M (TrivSqZeroExt.snd.{u1, u2} R M (Nat.cast.{max u1 u2} (TrivSqZeroExt.{u1, u2} R M) (AddMonoidWithOne.toNatCast.{max u1 u2} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.addMonoidWithOne.{u1, u2} R M _inst_1 _inst_2)) n)) (OfNat.ofNat.{u2} M 0 (Zero.toOfNat0.{u2} M (AddMonoid.toZero.{u2} M _inst_2)))
+Case conversion may be inaccurate. Consider using '#align triv_sq_zero_ext.snd_nat_cast TrivSqZeroExt.snd_nat_castₓ'. -/
 @[simp]
 theorem snd_nat_cast [AddMonoidWithOne R] [AddMonoid M] (n : ℕ) : (n : tsze R M).snd = 0 :=
   rfl
 #align triv_sq_zero_ext.snd_nat_cast TrivSqZeroExt.snd_nat_cast
 
+/- warning: triv_sq_zero_ext.inl_nat_cast -> TrivSqZeroExt.inl_nat_cast is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : AddMonoidWithOne.{u1} R] [_inst_2 : AddMonoid.{u2} M] (n : Nat), Eq.{max (succ u1) (succ u2)} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.inl.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_2)) ((fun (a : Type) (b : Type.{u1}) [self : HasLiftT.{1, succ u1} a b] => self.0) Nat R (HasLiftT.mk.{1, succ u1} Nat R (CoeTCₓ.coe.{1, succ u1} Nat R (Nat.castCoe.{u1} R (AddMonoidWithOne.toNatCast.{u1} R _inst_1)))) n)) ((fun (a : Type) (b : Sort.{max (succ u1) (succ u2)}) [self : HasLiftT.{1, max (succ u1) (succ u2)} a b] => self.0) Nat (TrivSqZeroExt.{u1, u2} R M) (HasLiftT.mk.{1, max (succ u1) (succ u2)} Nat (TrivSqZeroExt.{u1, u2} R M) (CoeTCₓ.coe.{1, max (succ u1) (succ u2)} Nat (TrivSqZeroExt.{u1, u2} R M) (Nat.castCoe.{max u1 u2} (TrivSqZeroExt.{u1, u2} R M) (AddMonoidWithOne.toNatCast.{max u1 u2} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.addMonoidWithOne.{u1, u2} R M _inst_1 _inst_2))))) n)
+but is expected to have type
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : AddMonoidWithOne.{u1} R] [_inst_2 : AddMonoid.{u2} M] (n : Nat), Eq.{max (succ u1) (succ u2)} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.inl.{u1, u2} R M (AddMonoid.toZero.{u2} M _inst_2) (Nat.cast.{u1} R (AddMonoidWithOne.toNatCast.{u1} R _inst_1) n)) (Nat.cast.{max u1 u2} (TrivSqZeroExt.{u1, u2} R M) (AddMonoidWithOne.toNatCast.{max u1 u2} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.addMonoidWithOne.{u1, u2} R M _inst_1 _inst_2)) n)
+Case conversion may be inaccurate. Consider using '#align triv_sq_zero_ext.inl_nat_cast TrivSqZeroExt.inl_nat_castₓ'. -/
 @[simp]
 theorem inl_nat_cast [AddMonoidWithOne R] [AddMonoid M] (n : ℕ) : (inl n : tsze R M) = n :=
   rfl
@@ -541,16 +757,34 @@ instance [AddGroupWithOne R] [AddGroup M] : AddGroupWithOne (tsze R M) :=
     intCast_ofNat := fun n => ext (Int.cast_ofNat _) rfl
     intCast_negSucc := fun n => ext (Int.cast_negSucc _) neg_zero.symm }
 
+/- warning: triv_sq_zero_ext.fst_int_cast -> TrivSqZeroExt.fst_int_cast is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : AddGroupWithOne.{u1} R] [_inst_2 : AddGroup.{u2} M] (z : Int), Eq.{succ u1} R (TrivSqZeroExt.fst.{u1, u2} R M ((fun (a : Type) (b : Sort.{max (succ u1) (succ u2)}) [self : HasLiftT.{1, max (succ u1) (succ u2)} a b] => self.0) Int (TrivSqZeroExt.{u1, u2} R M) (HasLiftT.mk.{1, max (succ u1) (succ u2)} Int (TrivSqZeroExt.{u1, u2} R M) (CoeTCₓ.coe.{1, max (succ u1) (succ u2)} Int (TrivSqZeroExt.{u1, u2} R M) (Int.castCoe.{max u1 u2} (TrivSqZeroExt.{u1, u2} R M) (AddGroupWithOne.toHasIntCast.{max u1 u2} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.addGroupWithOne.{u1, u2} R M _inst_1 _inst_2))))) z)) ((fun (a : Type) (b : Type.{u1}) [self : HasLiftT.{1, succ u1} a b] => self.0) Int R (HasLiftT.mk.{1, succ u1} Int R (CoeTCₓ.coe.{1, succ u1} Int R (Int.castCoe.{u1} R (AddGroupWithOne.toHasIntCast.{u1} R _inst_1)))) z)
+but is expected to have type
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : AddGroupWithOne.{u1} R] [_inst_2 : AddGroup.{u2} M] (z : Int), Eq.{succ u1} R (TrivSqZeroExt.fst.{u1, u2} R M (Int.cast.{max u1 u2} (TrivSqZeroExt.{u1, u2} R M) (AddGroupWithOne.toIntCast.{max u1 u2} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.addGroupWithOne.{u1, u2} R M _inst_1 _inst_2)) z)) (Int.cast.{u1} R (AddGroupWithOne.toIntCast.{u1} R _inst_1) z)
+Case conversion may be inaccurate. Consider using '#align triv_sq_zero_ext.fst_int_cast TrivSqZeroExt.fst_int_castₓ'. -/
 @[simp]
 theorem fst_int_cast [AddGroupWithOne R] [AddGroup M] (z : ℤ) : (z : tsze R M).fst = z :=
   rfl
 #align triv_sq_zero_ext.fst_int_cast TrivSqZeroExt.fst_int_cast
 
+/- warning: triv_sq_zero_ext.snd_int_cast -> TrivSqZeroExt.snd_int_cast is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : AddGroupWithOne.{u1} R] [_inst_2 : AddGroup.{u2} M] (z : Int), Eq.{succ u2} M (TrivSqZeroExt.snd.{u1, u2} R M ((fun (a : Type) (b : Sort.{max (succ u1) (succ u2)}) [self : HasLiftT.{1, max (succ u1) (succ u2)} a b] => self.0) Int (TrivSqZeroExt.{u1, u2} R M) (HasLiftT.mk.{1, max (succ u1) (succ u2)} Int (TrivSqZeroExt.{u1, u2} R M) (CoeTCₓ.coe.{1, max (succ u1) (succ u2)} Int (TrivSqZeroExt.{u1, u2} R M) (Int.castCoe.{max u1 u2} (TrivSqZeroExt.{u1, u2} R M) (AddGroupWithOne.toHasIntCast.{max u1 u2} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.addGroupWithOne.{u1, u2} R M _inst_1 _inst_2))))) z)) (OfNat.ofNat.{u2} M 0 (OfNat.mk.{u2} M 0 (Zero.zero.{u2} M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M _inst_2)))))))
+but is expected to have type
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : AddGroupWithOne.{u1} R] [_inst_2 : AddGroup.{u2} M] (z : Int), Eq.{succ u2} M (TrivSqZeroExt.snd.{u1, u2} R M (Int.cast.{max u1 u2} (TrivSqZeroExt.{u1, u2} R M) (AddGroupWithOne.toIntCast.{max u1 u2} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.addGroupWithOne.{u1, u2} R M _inst_1 _inst_2)) z)) (OfNat.ofNat.{u2} M 0 (Zero.toOfNat0.{u2} M (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (AddGroup.toSubtractionMonoid.{u2} M _inst_2))))))
+Case conversion may be inaccurate. Consider using '#align triv_sq_zero_ext.snd_int_cast TrivSqZeroExt.snd_int_castₓ'. -/
 @[simp]
 theorem snd_int_cast [AddGroupWithOne R] [AddGroup M] (z : ℤ) : (z : tsze R M).snd = 0 :=
   rfl
 #align triv_sq_zero_ext.snd_int_cast TrivSqZeroExt.snd_int_cast
 
+/- warning: triv_sq_zero_ext.inl_int_cast -> TrivSqZeroExt.inl_int_cast is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : AddGroupWithOne.{u1} R] [_inst_2 : AddGroup.{u2} M] (z : Int), Eq.{max (succ u1) (succ u2)} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.inl.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M _inst_2)))) ((fun (a : Type) (b : Type.{u1}) [self : HasLiftT.{1, succ u1} a b] => self.0) Int R (HasLiftT.mk.{1, succ u1} Int R (CoeTCₓ.coe.{1, succ u1} Int R (Int.castCoe.{u1} R (AddGroupWithOne.toHasIntCast.{u1} R _inst_1)))) z)) ((fun (a : Type) (b : Sort.{max (succ u1) (succ u2)}) [self : HasLiftT.{1, max (succ u1) (succ u2)} a b] => self.0) Int (TrivSqZeroExt.{u1, u2} R M) (HasLiftT.mk.{1, max (succ u1) (succ u2)} Int (TrivSqZeroExt.{u1, u2} R M) (CoeTCₓ.coe.{1, max (succ u1) (succ u2)} Int (TrivSqZeroExt.{u1, u2} R M) (Int.castCoe.{max u1 u2} (TrivSqZeroExt.{u1, u2} R M) (AddGroupWithOne.toHasIntCast.{max u1 u2} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.addGroupWithOne.{u1, u2} R M _inst_1 _inst_2))))) z)
+but is expected to have type
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : AddGroupWithOne.{u1} R] [_inst_2 : AddGroup.{u2} M] (z : Int), Eq.{max (succ u1) (succ u2)} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.inl.{u1, u2} R M (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (AddGroup.toSubtractionMonoid.{u2} M _inst_2)))) (Int.cast.{u1} R (AddGroupWithOne.toIntCast.{u1} R _inst_1) z)) (Int.cast.{max u1 u2} (TrivSqZeroExt.{u1, u2} R M) (AddGroupWithOne.toIntCast.{max u1 u2} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.addGroupWithOne.{u1, u2} R M _inst_1 _inst_2)) z)
+Case conversion may be inaccurate. Consider using '#align triv_sq_zero_ext.inl_int_cast TrivSqZeroExt.inl_int_castₓ'. -/
 @[simp]
 theorem inl_int_cast [AddGroupWithOne R] [AddGroup M] (z : ℤ) : (inl z : tsze R M) = z :=
   rfl
@@ -596,18 +830,36 @@ instance [Monoid R] [AddMonoid M] [DistribMulAction R M] [DistribMulAction Rᵐ
   ⟨fun x n =>
     ⟨x.fst ^ n, ((List.range n).map fun i => x.fst ^ (n.pred - i) • op (x.fst ^ i) • x.snd).Sum⟩⟩
 
+/- warning: triv_sq_zero_ext.fst_pow -> TrivSqZeroExt.fst_pow is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Monoid.{u1} R] [_inst_2 : AddMonoid.{u2} M] [_inst_3 : DistribMulAction.{u1, u2} R M _inst_1 _inst_2] [_inst_4 : DistribMulAction.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.monoid.{u1} R _inst_1) _inst_2] (x : TrivSqZeroExt.{u1, u2} R M) (n : Nat), Eq.{succ u1} R (TrivSqZeroExt.fst.{u1, u2} R M (HPow.hPow.{max u1 u2, 0, max u1 u2} (TrivSqZeroExt.{u1, u2} R M) Nat (TrivSqZeroExt.{u1, u2} R M) (instHPow.{max u1 u2, 0} (TrivSqZeroExt.{u1, u2} R M) Nat (TrivSqZeroExt.Nat.hasPow.{u1, u2} R M _inst_1 _inst_2 _inst_3 _inst_4)) x n)) (HPow.hPow.{u1, 0, u1} R Nat R (instHPow.{u1, 0} R Nat (Monoid.Pow.{u1} R _inst_1)) (TrivSqZeroExt.fst.{u1, u2} R M x) n)
+but is expected to have type
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Monoid.{u1} R] [_inst_2 : AddMonoid.{u2} M] [_inst_3 : DistribMulAction.{u1, u2} R M _inst_1 _inst_2] [_inst_4 : DistribMulAction.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.instMonoidMulOpposite.{u1} R _inst_1) _inst_2] (x : TrivSqZeroExt.{u1, u2} R M) (n : Nat), Eq.{succ u1} R (TrivSqZeroExt.fst.{u1, u2} R M (HPow.hPow.{max u1 u2, 0, max u1 u2} (TrivSqZeroExt.{u1, u2} R M) Nat (TrivSqZeroExt.{u1, u2} R M) (instHPow.{max u1 u2, 0} (TrivSqZeroExt.{u1, u2} R M) Nat (TrivSqZeroExt.instPowTrivSqZeroExtNat.{u1, u2} R M _inst_1 _inst_2 _inst_3 _inst_4)) x n)) (HPow.hPow.{u1, 0, u1} R Nat R (instHPow.{u1, 0} R Nat (Monoid.Pow.{u1} R _inst_1)) (TrivSqZeroExt.fst.{u1, u2} R M x) n)
+Case conversion may be inaccurate. Consider using '#align triv_sq_zero_ext.fst_pow TrivSqZeroExt.fst_powₓ'. -/
 @[simp]
 theorem fst_pow [Monoid R] [AddMonoid M] [DistribMulAction R M] [DistribMulAction Rᵐᵒᵖ M]
     (x : tsze R M) (n : ℕ) : fst (x ^ n) = x.fst ^ n :=
   rfl
 #align triv_sq_zero_ext.fst_pow TrivSqZeroExt.fst_pow
 
+/- warning: triv_sq_zero_ext.snd_pow_eq_sum -> TrivSqZeroExt.snd_pow_eq_sum is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Monoid.{u1} R] [_inst_2 : AddMonoid.{u2} M] [_inst_3 : DistribMulAction.{u1, u2} R M _inst_1 _inst_2] [_inst_4 : DistribMulAction.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.monoid.{u1} R _inst_1) _inst_2] (x : TrivSqZeroExt.{u1, u2} R M) (n : Nat), Eq.{succ u2} M (TrivSqZeroExt.snd.{u1, u2} R M (HPow.hPow.{max u1 u2, 0, max u1 u2} (TrivSqZeroExt.{u1, u2} R M) Nat (TrivSqZeroExt.{u1, u2} R M) (instHPow.{max u1 u2, 0} (TrivSqZeroExt.{u1, u2} R M) Nat (TrivSqZeroExt.Nat.hasPow.{u1, u2} R M _inst_1 _inst_2 _inst_3 _inst_4)) x n)) (List.sum.{u2} M (AddZeroClass.toHasAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_2)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_2)) (List.map.{0, u2} Nat M (fun (i : Nat) => SMul.smul.{u1, u2} R M (SMulZeroClass.toHasSmul.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_2)) (DistribSMul.toSmulZeroClass.{u1, u2} R M (AddMonoid.toAddZeroClass.{u2} M _inst_2) (DistribMulAction.toDistribSMul.{u1, u2} R M _inst_1 _inst_2 _inst_3))) (HPow.hPow.{u1, 0, u1} R Nat R (instHPow.{u1, 0} R Nat (Monoid.Pow.{u1} R _inst_1)) (TrivSqZeroExt.fst.{u1, u2} R M x) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat Nat.hasSub) (Nat.pred n) i)) (SMul.smul.{u1, u2} (MulOpposite.{u1} R) M (SMulZeroClass.toHasSmul.{u1, u2} (MulOpposite.{u1} R) M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_2)) (DistribSMul.toSmulZeroClass.{u1, u2} (MulOpposite.{u1} R) M (AddMonoid.toAddZeroClass.{u2} M _inst_2) (DistribMulAction.toDistribSMul.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.monoid.{u1} R _inst_1) _inst_2 _inst_4))) (MulOpposite.op.{u1} R (HPow.hPow.{u1, 0, u1} R Nat R (instHPow.{u1, 0} R Nat (Monoid.Pow.{u1} R _inst_1)) (TrivSqZeroExt.fst.{u1, u2} R M x) i)) (TrivSqZeroExt.snd.{u1, u2} R M x))) (List.range n)))
+but is expected to have type
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Monoid.{u1} R] [_inst_2 : AddMonoid.{u2} M] [_inst_3 : DistribMulAction.{u1, u2} R M _inst_1 _inst_2] [_inst_4 : DistribMulAction.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.instMonoidMulOpposite.{u1} R _inst_1) _inst_2] (x : TrivSqZeroExt.{u1, u2} R M) (n : Nat), Eq.{succ u2} M (TrivSqZeroExt.snd.{u1, u2} R M (HPow.hPow.{max u1 u2, 0, max u1 u2} (TrivSqZeroExt.{u1, u2} R M) Nat (TrivSqZeroExt.{u1, u2} R M) (instHPow.{max u1 u2, 0} (TrivSqZeroExt.{u1, u2} R M) Nat (TrivSqZeroExt.instPowTrivSqZeroExtNat.{u1, u2} R M _inst_1 _inst_2 _inst_3 _inst_4)) x n)) (List.sum.{u2} M (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_2)) (AddMonoid.toZero.{u2} M _inst_2) (List.map.{0, u2} Nat M (fun (i : Nat) => HSMul.hSMul.{u1, u2, u2} R M M (instHSMul.{u1, u2} R M (SMulZeroClass.toSMul.{u1, u2} R M (AddMonoid.toZero.{u2} M _inst_2) (DistribSMul.toSMulZeroClass.{u1, u2} R M (AddMonoid.toAddZeroClass.{u2} M _inst_2) (DistribMulAction.toDistribSMul.{u1, u2} R M _inst_1 _inst_2 _inst_3)))) (HPow.hPow.{u1, 0, u1} R Nat R (instHPow.{u1, 0} R Nat (Monoid.Pow.{u1} R _inst_1)) (TrivSqZeroExt.fst.{u1, u2} R M x) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) (Nat.pred n) i)) (HSMul.hSMul.{u1, u2, u2} (MulOpposite.{u1} R) M M (instHSMul.{u1, u2} (MulOpposite.{u1} R) M (SMulZeroClass.toSMul.{u1, u2} (MulOpposite.{u1} R) M (AddMonoid.toZero.{u2} M _inst_2) (DistribSMul.toSMulZeroClass.{u1, u2} (MulOpposite.{u1} R) M (AddMonoid.toAddZeroClass.{u2} M _inst_2) (DistribMulAction.toDistribSMul.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.instMonoidMulOpposite.{u1} R _inst_1) _inst_2 _inst_4)))) (MulOpposite.op.{u1} R (HPow.hPow.{u1, 0, u1} R Nat R (instHPow.{u1, 0} R Nat (Monoid.Pow.{u1} R _inst_1)) (TrivSqZeroExt.fst.{u1, u2} R M x) i)) (TrivSqZeroExt.snd.{u1, u2} R M x))) (List.range n)))
+Case conversion may be inaccurate. Consider using '#align triv_sq_zero_ext.snd_pow_eq_sum TrivSqZeroExt.snd_pow_eq_sumₓ'. -/
 theorem snd_pow_eq_sum [Monoid R] [AddMonoid M] [DistribMulAction R M] [DistribMulAction Rᵐᵒᵖ M]
     (x : tsze R M) (n : ℕ) :
     snd (x ^ n) = ((List.range n).map fun i => x.fst ^ (n.pred - i) • op (x.fst ^ i) • x.snd).Sum :=
   rfl
 #align triv_sq_zero_ext.snd_pow_eq_sum TrivSqZeroExt.snd_pow_eq_sum
 
+/- warning: triv_sq_zero_ext.snd_pow_of_smul_comm -> TrivSqZeroExt.snd_pow_of_smul_comm is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Monoid.{u1} R] [_inst_2 : AddMonoid.{u2} M] [_inst_3 : DistribMulAction.{u1, u2} R M _inst_1 _inst_2] [_inst_4 : DistribMulAction.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.monoid.{u1} R _inst_1) _inst_2] [_inst_5 : SMulCommClass.{u1, u1, u2} R (MulOpposite.{u1} R) M (SMulZeroClass.toHasSmul.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_2)) (DistribSMul.toSmulZeroClass.{u1, u2} R M (AddMonoid.toAddZeroClass.{u2} M _inst_2) (DistribMulAction.toDistribSMul.{u1, u2} R M _inst_1 _inst_2 _inst_3))) (SMulZeroClass.toHasSmul.{u1, u2} (MulOpposite.{u1} R) M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_2)) (DistribSMul.toSmulZeroClass.{u1, u2} (MulOpposite.{u1} R) M (AddMonoid.toAddZeroClass.{u2} M _inst_2) (DistribMulAction.toDistribSMul.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.monoid.{u1} R _inst_1) _inst_2 _inst_4)))] (x : TrivSqZeroExt.{u1, u2} R M) (n : Nat), (Eq.{succ u2} M (SMul.smul.{u1, u2} (MulOpposite.{u1} R) M (SMulZeroClass.toHasSmul.{u1, u2} (MulOpposite.{u1} R) M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_2)) (DistribSMul.toSmulZeroClass.{u1, u2} (MulOpposite.{u1} R) M (AddMonoid.toAddZeroClass.{u2} M _inst_2) (DistribMulAction.toDistribSMul.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.monoid.{u1} R _inst_1) _inst_2 _inst_4))) (MulOpposite.op.{u1} R (TrivSqZeroExt.fst.{u1, u2} R M x)) (TrivSqZeroExt.snd.{u1, u2} R M x)) (SMul.smul.{u1, u2} R M (SMulZeroClass.toHasSmul.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_2)) (DistribSMul.toSmulZeroClass.{u1, u2} R M (AddMonoid.toAddZeroClass.{u2} M _inst_2) (DistribMulAction.toDistribSMul.{u1, u2} R M _inst_1 _inst_2 _inst_3))) (TrivSqZeroExt.fst.{u1, u2} R M x) (TrivSqZeroExt.snd.{u1, u2} R M x))) -> (Eq.{succ u2} M (TrivSqZeroExt.snd.{u1, u2} R M (HPow.hPow.{max u1 u2, 0, max u1 u2} (TrivSqZeroExt.{u1, u2} R M) Nat (TrivSqZeroExt.{u1, u2} R M) (instHPow.{max u1 u2, 0} (TrivSqZeroExt.{u1, u2} R M) Nat (TrivSqZeroExt.Nat.hasPow.{u1, u2} R M _inst_1 _inst_2 _inst_3 _inst_4)) x n)) (SMul.smul.{0, u2} Nat M (AddMonoid.SMul.{u2} M _inst_2) n (SMul.smul.{u1, u2} R M (SMulZeroClass.toHasSmul.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_2)) (DistribSMul.toSmulZeroClass.{u1, u2} R M (AddMonoid.toAddZeroClass.{u2} M _inst_2) (DistribMulAction.toDistribSMul.{u1, u2} R M _inst_1 _inst_2 _inst_3))) (HPow.hPow.{u1, 0, u1} R Nat R (instHPow.{u1, 0} R Nat (Monoid.Pow.{u1} R _inst_1)) (TrivSqZeroExt.fst.{u1, u2} R M x) (Nat.pred n)) (TrivSqZeroExt.snd.{u1, u2} R M x))))
+but is expected to have type
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Monoid.{u1} R] [_inst_2 : AddMonoid.{u2} M] [_inst_3 : DistribMulAction.{u1, u2} R M _inst_1 _inst_2] [_inst_4 : DistribMulAction.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.instMonoidMulOpposite.{u1} R _inst_1) _inst_2] [_inst_5 : SMulCommClass.{u1, u1, u2} R (MulOpposite.{u1} R) M (SMulZeroClass.toSMul.{u1, u2} R M (AddMonoid.toZero.{u2} M _inst_2) (DistribSMul.toSMulZeroClass.{u1, u2} R M (AddMonoid.toAddZeroClass.{u2} M _inst_2) (DistribMulAction.toDistribSMul.{u1, u2} R M _inst_1 _inst_2 _inst_3))) (SMulZeroClass.toSMul.{u1, u2} (MulOpposite.{u1} R) M (AddMonoid.toZero.{u2} M _inst_2) (DistribSMul.toSMulZeroClass.{u1, u2} (MulOpposite.{u1} R) M (AddMonoid.toAddZeroClass.{u2} M _inst_2) (DistribMulAction.toDistribSMul.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.instMonoidMulOpposite.{u1} R _inst_1) _inst_2 _inst_4)))] (x : TrivSqZeroExt.{u1, u2} R M) (n : Nat), (Eq.{succ u2} M (HSMul.hSMul.{u1, u2, u2} (MulOpposite.{u1} R) M M (instHSMul.{u1, u2} (MulOpposite.{u1} R) M (SMulZeroClass.toSMul.{u1, u2} (MulOpposite.{u1} R) M (AddMonoid.toZero.{u2} M _inst_2) (DistribSMul.toSMulZeroClass.{u1, u2} (MulOpposite.{u1} R) M (AddMonoid.toAddZeroClass.{u2} M _inst_2) (DistribMulAction.toDistribSMul.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.instMonoidMulOpposite.{u1} R _inst_1) _inst_2 _inst_4)))) (MulOpposite.op.{u1} R (TrivSqZeroExt.fst.{u1, u2} R M x)) (TrivSqZeroExt.snd.{u1, u2} R M x)) (HSMul.hSMul.{u1, u2, u2} R M M (instHSMul.{u1, u2} R M (SMulZeroClass.toSMul.{u1, u2} R M (AddMonoid.toZero.{u2} M _inst_2) (DistribSMul.toSMulZeroClass.{u1, u2} R M (AddMonoid.toAddZeroClass.{u2} M _inst_2) (DistribMulAction.toDistribSMul.{u1, u2} R M _inst_1 _inst_2 _inst_3)))) (TrivSqZeroExt.fst.{u1, u2} R M x) (TrivSqZeroExt.snd.{u1, u2} R M x))) -> (Eq.{succ u2} M (TrivSqZeroExt.snd.{u1, u2} R M (HPow.hPow.{max u1 u2, 0, max u1 u2} (TrivSqZeroExt.{u1, u2} R M) Nat (TrivSqZeroExt.{u1, u2} R M) (instHPow.{max u1 u2, 0} (TrivSqZeroExt.{u1, u2} R M) Nat (TrivSqZeroExt.instPowTrivSqZeroExtNat.{u1, u2} R M _inst_1 _inst_2 _inst_3 _inst_4)) x n)) (HSMul.hSMul.{0, u2, u2} Nat M M (instHSMul.{0, u2} Nat M (AddMonoid.SMul.{u2} M _inst_2)) n (HSMul.hSMul.{u1, u2, u2} R M M (instHSMul.{u1, u2} R M (SMulZeroClass.toSMul.{u1, u2} R M (AddMonoid.toZero.{u2} M _inst_2) (DistribSMul.toSMulZeroClass.{u1, u2} R M (AddMonoid.toAddZeroClass.{u2} M _inst_2) (DistribMulAction.toDistribSMul.{u1, u2} R M _inst_1 _inst_2 _inst_3)))) (HPow.hPow.{u1, 0, u1} R Nat R (instHPow.{u1, 0} R Nat (Monoid.Pow.{u1} R _inst_1)) (TrivSqZeroExt.fst.{u1, u2} R M x) (Nat.pred n)) (TrivSqZeroExt.snd.{u1, u2} R M x))))
+Case conversion may be inaccurate. Consider using '#align triv_sq_zero_ext.snd_pow_of_smul_comm TrivSqZeroExt.snd_pow_of_smul_commₓ'. -/
 theorem snd_pow_of_smul_comm [Monoid R] [AddMonoid M] [DistribMulAction R M]
     [DistribMulAction Rᵐᵒᵖ M] [SMulCommClass R Rᵐᵒᵖ M] (x : tsze R M) (n : ℕ)
     (h : op x.fst • x.snd = x.fst • x.snd) : snd (x ^ n) = n • x.fst ^ n.pred • x.snd :=
@@ -632,12 +884,24 @@ theorem snd_pow_of_smul_comm [Monoid R] [AddMonoid M] [DistribMulAction R M]
   · rw [List.length_map, List.length_range]
 #align triv_sq_zero_ext.snd_pow_of_smul_comm TrivSqZeroExt.snd_pow_of_smul_comm
 
+/- warning: triv_sq_zero_ext.snd_pow -> TrivSqZeroExt.snd_pow is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommMonoid.{u1} R] [_inst_2 : AddMonoid.{u2} M] [_inst_3 : DistribMulAction.{u1, u2} R M (CommMonoid.toMonoid.{u1} R _inst_1) _inst_2] [_inst_4 : DistribMulAction.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.monoid.{u1} R (CommMonoid.toMonoid.{u1} R _inst_1)) _inst_2] [_inst_5 : IsCentralScalar.{u1, u2} R M (SMulZeroClass.toHasSmul.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_2)) (DistribSMul.toSmulZeroClass.{u1, u2} R M (AddMonoid.toAddZeroClass.{u2} M _inst_2) (DistribMulAction.toDistribSMul.{u1, u2} R M (CommMonoid.toMonoid.{u1} R _inst_1) _inst_2 _inst_3))) (SMulZeroClass.toHasSmul.{u1, u2} (MulOpposite.{u1} R) M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_2)) (DistribSMul.toSmulZeroClass.{u1, u2} (MulOpposite.{u1} R) M (AddMonoid.toAddZeroClass.{u2} M _inst_2) (DistribMulAction.toDistribSMul.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.monoid.{u1} R (CommMonoid.toMonoid.{u1} R _inst_1)) _inst_2 _inst_4)))] (x : TrivSqZeroExt.{u1, u2} R M) (n : Nat), Eq.{succ u2} M (TrivSqZeroExt.snd.{u1, u2} R M (HPow.hPow.{max u1 u2, 0, max u1 u2} (TrivSqZeroExt.{u1, u2} R M) Nat (TrivSqZeroExt.{u1, u2} R M) (instHPow.{max u1 u2, 0} (TrivSqZeroExt.{u1, u2} R M) Nat (TrivSqZeroExt.Nat.hasPow.{u1, u2} R M (CommMonoid.toMonoid.{u1} R _inst_1) _inst_2 _inst_3 _inst_4)) x n)) (SMul.smul.{0, u2} Nat M (AddMonoid.SMul.{u2} M _inst_2) n (SMul.smul.{u1, u2} R M (SMulZeroClass.toHasSmul.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_2)) (DistribSMul.toSmulZeroClass.{u1, u2} R M (AddMonoid.toAddZeroClass.{u2} M _inst_2) (DistribMulAction.toDistribSMul.{u1, u2} R M (CommMonoid.toMonoid.{u1} R _inst_1) _inst_2 _inst_3))) (HPow.hPow.{u1, 0, u1} R Nat R (instHPow.{u1, 0} R Nat (Monoid.Pow.{u1} R (CommMonoid.toMonoid.{u1} R _inst_1))) (TrivSqZeroExt.fst.{u1, u2} R M x) (Nat.pred n)) (TrivSqZeroExt.snd.{u1, u2} R M x)))
+but is expected to have type
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommMonoid.{u1} R] [_inst_2 : AddMonoid.{u2} M] [_inst_3 : DistribMulAction.{u1, u2} R M (CommMonoid.toMonoid.{u1} R _inst_1) _inst_2] [_inst_4 : DistribMulAction.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.instMonoidMulOpposite.{u1} R (CommMonoid.toMonoid.{u1} R _inst_1)) _inst_2] [_inst_5 : IsCentralScalar.{u1, u2} R M (SMulZeroClass.toSMul.{u1, u2} R M (AddMonoid.toZero.{u2} M _inst_2) (DistribSMul.toSMulZeroClass.{u1, u2} R M (AddMonoid.toAddZeroClass.{u2} M _inst_2) (DistribMulAction.toDistribSMul.{u1, u2} R M (CommMonoid.toMonoid.{u1} R _inst_1) _inst_2 _inst_3))) (SMulZeroClass.toSMul.{u1, u2} (MulOpposite.{u1} R) M (AddMonoid.toZero.{u2} M _inst_2) (DistribSMul.toSMulZeroClass.{u1, u2} (MulOpposite.{u1} R) M (AddMonoid.toAddZeroClass.{u2} M _inst_2) (DistribMulAction.toDistribSMul.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.instMonoidMulOpposite.{u1} R (CommMonoid.toMonoid.{u1} R _inst_1)) _inst_2 _inst_4)))] (x : TrivSqZeroExt.{u1, u2} R M) (n : Nat), Eq.{succ u2} M (TrivSqZeroExt.snd.{u1, u2} R M (HPow.hPow.{max u1 u2, 0, max u1 u2} (TrivSqZeroExt.{u1, u2} R M) Nat (TrivSqZeroExt.{u1, u2} R M) (instHPow.{max u1 u2, 0} (TrivSqZeroExt.{u1, u2} R M) Nat (TrivSqZeroExt.instPowTrivSqZeroExtNat.{u1, u2} R M (CommMonoid.toMonoid.{u1} R _inst_1) _inst_2 _inst_3 _inst_4)) x n)) (HSMul.hSMul.{0, u2, u2} Nat M M (instHSMul.{0, u2} Nat M (AddMonoid.SMul.{u2} M _inst_2)) n (HSMul.hSMul.{u1, u2, u2} R M M (instHSMul.{u1, u2} R M (SMulZeroClass.toSMul.{u1, u2} R M (AddMonoid.toZero.{u2} M _inst_2) (DistribSMul.toSMulZeroClass.{u1, u2} R M (AddMonoid.toAddZeroClass.{u2} M _inst_2) (DistribMulAction.toDistribSMul.{u1, u2} R M (CommMonoid.toMonoid.{u1} R _inst_1) _inst_2 _inst_3)))) (HPow.hPow.{u1, 0, u1} R Nat R (instHPow.{u1, 0} R Nat (Monoid.Pow.{u1} R (CommMonoid.toMonoid.{u1} R _inst_1))) (TrivSqZeroExt.fst.{u1, u2} R M x) (Nat.pred n)) (TrivSqZeroExt.snd.{u1, u2} R M x)))
+Case conversion may be inaccurate. Consider using '#align triv_sq_zero_ext.snd_pow TrivSqZeroExt.snd_powₓ'. -/
 @[simp]
 theorem snd_pow [CommMonoid R] [AddMonoid M] [DistribMulAction R M] [DistribMulAction Rᵐᵒᵖ M]
     [IsCentralScalar R M] (x : tsze R M) (n : ℕ) : snd (x ^ n) = n • x.fst ^ n.pred • x.snd :=
   snd_pow_of_smul_comm _ _ (op_smul_eq_smul _ _)
 #align triv_sq_zero_ext.snd_pow TrivSqZeroExt.snd_pow
 
+/- warning: triv_sq_zero_ext.inl_pow -> TrivSqZeroExt.inl_pow is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Monoid.{u1} R] [_inst_2 : AddMonoid.{u2} M] [_inst_3 : DistribMulAction.{u1, u2} R M _inst_1 _inst_2] [_inst_4 : DistribMulAction.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.monoid.{u1} R _inst_1) _inst_2] (r : R) (n : Nat), Eq.{max (succ u1) (succ u2)} (TrivSqZeroExt.{u1, u2} R M) (HPow.hPow.{max u1 u2, 0, max u1 u2} (TrivSqZeroExt.{u1, u2} R M) Nat (TrivSqZeroExt.{u1, u2} R M) (instHPow.{max u1 u2, 0} (TrivSqZeroExt.{u1, u2} R M) Nat (TrivSqZeroExt.Nat.hasPow.{u1, u2} R M _inst_1 _inst_2 _inst_3 _inst_4)) (TrivSqZeroExt.inl.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_2)) r) n) (TrivSqZeroExt.inl.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_2)) (HPow.hPow.{u1, 0, u1} R Nat R (instHPow.{u1, 0} R Nat (Monoid.Pow.{u1} R _inst_1)) r n))
+but is expected to have type
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Monoid.{u1} R] [_inst_2 : AddMonoid.{u2} M] [_inst_3 : DistribMulAction.{u1, u2} R M _inst_1 _inst_2] [_inst_4 : DistribMulAction.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.instMonoidMulOpposite.{u1} R _inst_1) _inst_2] (r : R) (n : Nat), Eq.{max (succ u1) (succ u2)} (TrivSqZeroExt.{u1, u2} R M) (HPow.hPow.{max u1 u2, 0, max u1 u2} (TrivSqZeroExt.{u1, u2} R M) Nat (TrivSqZeroExt.{u1, u2} R M) (instHPow.{max u1 u2, 0} (TrivSqZeroExt.{u1, u2} R M) Nat (TrivSqZeroExt.instPowTrivSqZeroExtNat.{u1, u2} R M _inst_1 _inst_2 _inst_3 _inst_4)) (TrivSqZeroExt.inl.{u1, u2} R M (AddMonoid.toZero.{u2} M _inst_2) r) n) (TrivSqZeroExt.inl.{u1, u2} R M (AddMonoid.toZero.{u2} M _inst_2) (HPow.hPow.{u1, 0, u1} R Nat R (instHPow.{u1, 0} R Nat (Monoid.Pow.{u1} R _inst_1)) r n))
+Case conversion may be inaccurate. Consider using '#align triv_sq_zero_ext.inl_pow TrivSqZeroExt.inl_powₓ'. -/
 @[simp]
 theorem inl_pow [Monoid R] [AddMonoid M] [DistribMulAction R M] [DistribMulAction Rᵐᵒᵖ M] (r : R)
     (n : ℕ) : (inl r ^ n : tsze R M) = inl (r ^ n) :=
@@ -672,6 +936,12 @@ instance [Monoid R] [AddMonoid M] [DistribMulAction R M] [DistribMulAction Rᵐ
           rw [List.mem_range, Nat.lt_succ_iff] at hi
           rw [Nat.sub_add_comm hi]) }
 
+/- warning: triv_sq_zero_ext.fst_list_prod -> TrivSqZeroExt.fst_list_prod is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Monoid.{u1} R] [_inst_2 : AddMonoid.{u2} M] [_inst_3 : DistribMulAction.{u1, u2} R M _inst_1 _inst_2] [_inst_4 : DistribMulAction.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.monoid.{u1} R _inst_1) _inst_2] [_inst_5 : SMulCommClass.{u1, u1, u2} R (MulOpposite.{u1} R) M (SMulZeroClass.toHasSmul.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_2)) (DistribSMul.toSmulZeroClass.{u1, u2} R M (AddMonoid.toAddZeroClass.{u2} M _inst_2) (DistribMulAction.toDistribSMul.{u1, u2} R M _inst_1 _inst_2 _inst_3))) (SMulZeroClass.toHasSmul.{u1, u2} (MulOpposite.{u1} R) M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_2)) (DistribSMul.toSmulZeroClass.{u1, u2} (MulOpposite.{u1} R) M (AddMonoid.toAddZeroClass.{u2} M _inst_2) (DistribMulAction.toDistribSMul.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.monoid.{u1} R _inst_1) _inst_2 _inst_4)))] (l : List.{max u1 u2} (TrivSqZeroExt.{u1, u2} R M)), Eq.{succ u1} R (TrivSqZeroExt.fst.{u1, u2} R M (List.prod.{max u1 u2} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.hasMul.{u1, u2} R M (MulOneClass.toHasMul.{u1} R (Monoid.toMulOneClass.{u1} R _inst_1)) (AddZeroClass.toHasAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_2)) (SMulZeroClass.toHasSmul.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_2)) (DistribSMul.toSmulZeroClass.{u1, u2} R M (AddMonoid.toAddZeroClass.{u2} M _inst_2) (DistribMulAction.toDistribSMul.{u1, u2} R M _inst_1 _inst_2 _inst_3))) (SMulZeroClass.toHasSmul.{u1, u2} (MulOpposite.{u1} R) M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_2)) (DistribSMul.toSmulZeroClass.{u1, u2} (MulOpposite.{u1} R) M (AddMonoid.toAddZeroClass.{u2} M _inst_2) (DistribMulAction.toDistribSMul.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.monoid.{u1} R _inst_1) _inst_2 _inst_4)))) (TrivSqZeroExt.hasOne.{u1, u2} R M (MulOneClass.toHasOne.{u1} R (Monoid.toMulOneClass.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_2))) l)) (List.prod.{u1} R (MulOneClass.toHasMul.{u1} R (Monoid.toMulOneClass.{u1} R _inst_1)) (MulOneClass.toHasOne.{u1} R (Monoid.toMulOneClass.{u1} R _inst_1)) (List.map.{max u1 u2, u1} (TrivSqZeroExt.{u1, u2} R M) R (TrivSqZeroExt.fst.{u1, u2} R M) l))
+but is expected to have type
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Monoid.{u1} R] [_inst_2 : AddMonoid.{u2} M] [_inst_3 : DistribMulAction.{u1, u2} R M _inst_1 _inst_2] [_inst_4 : DistribMulAction.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.instMonoidMulOpposite.{u1} R _inst_1) _inst_2] [_inst_5 : SMulCommClass.{u1, u1, u2} R (MulOpposite.{u1} R) M (SMulZeroClass.toSMul.{u1, u2} R M (AddMonoid.toZero.{u2} M _inst_2) (DistribSMul.toSMulZeroClass.{u1, u2} R M (AddMonoid.toAddZeroClass.{u2} M _inst_2) (DistribMulAction.toDistribSMul.{u1, u2} R M _inst_1 _inst_2 _inst_3))) (SMulZeroClass.toSMul.{u1, u2} (MulOpposite.{u1} R) M (AddMonoid.toZero.{u2} M _inst_2) (DistribSMul.toSMulZeroClass.{u1, u2} (MulOpposite.{u1} R) M (AddMonoid.toAddZeroClass.{u2} M _inst_2) (DistribMulAction.toDistribSMul.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.instMonoidMulOpposite.{u1} R _inst_1) _inst_2 _inst_4)))] (l : List.{max u2 u1} (TrivSqZeroExt.{u1, u2} R M)), Eq.{succ u1} R (TrivSqZeroExt.fst.{u1, u2} R M (List.prod.{max u1 u2} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.mul.{u1, u2} R M (MulOneClass.toMul.{u1} R (Monoid.toMulOneClass.{u1} R _inst_1)) (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_2)) (SMulZeroClass.toSMul.{u1, u2} R M (AddMonoid.toZero.{u2} M _inst_2) (DistribSMul.toSMulZeroClass.{u1, u2} R M (AddMonoid.toAddZeroClass.{u2} M _inst_2) (DistribMulAction.toDistribSMul.{u1, u2} R M _inst_1 _inst_2 _inst_3))) (SMulZeroClass.toSMul.{u1, u2} (MulOpposite.{u1} R) M (AddMonoid.toZero.{u2} M _inst_2) (DistribSMul.toSMulZeroClass.{u1, u2} (MulOpposite.{u1} R) M (AddMonoid.toAddZeroClass.{u2} M _inst_2) (DistribMulAction.toDistribSMul.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.instMonoidMulOpposite.{u1} R _inst_1) _inst_2 _inst_4)))) (TrivSqZeroExt.one.{u1, u2} R M (Monoid.toOne.{u1} R _inst_1) (AddMonoid.toZero.{u2} M _inst_2)) l)) (List.prod.{u1} R (MulOneClass.toMul.{u1} R (Monoid.toMulOneClass.{u1} R _inst_1)) (Monoid.toOne.{u1} R _inst_1) (List.map.{max u2 u1, u1} (TrivSqZeroExt.{u1, u2} R M) R (TrivSqZeroExt.fst.{u1, u2} R M) l))
+Case conversion may be inaccurate. Consider using '#align triv_sq_zero_ext.fst_list_prod TrivSqZeroExt.fst_list_prodₓ'. -/
 theorem fst_list_prod [Monoid R] [AddMonoid M] [DistribMulAction R M] [DistribMulAction Rᵐᵒᵖ M]
     [SMulCommClass R Rᵐᵒᵖ M] (l : List (tsze R M)) : l.Prod.fst = (l.map fst).Prod :=
   map_list_prod (⟨fst, fst_one, fst_mul⟩ : tsze R M →* R) _
@@ -681,6 +951,12 @@ instance [Semiring R] [AddCommMonoid M] [Module R M] [Module Rᵐᵒᵖ M] [SMul
     Semiring (tsze R M) :=
   { TrivSqZeroExt.monoid, TrivSqZeroExt.nonAssocSemiring with }
 
+/- warning: triv_sq_zero_ext.snd_list_prod -> TrivSqZeroExt.snd_list_prod 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] [_inst_4 : Module.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.semiring.{u1} R _inst_1) _inst_2] [_inst_5 : SMulCommClass.{u1, u1, u2} R (MulOpposite.{u1} R) M (SMulZeroClass.toHasSmul.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} R M (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} R M _inst_1 _inst_2 _inst_3)))) (SMulZeroClass.toHasSmul.{u1, u2} (MulOpposite.{u1} R) M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} (MulOpposite.{u1} R) M (MulZeroClass.toHasZero.{u1} (MulOpposite.{u1} R) (MulZeroOneClass.toMulZeroClass.{u1} (MulOpposite.{u1} R) (MonoidWithZero.toMulZeroOneClass.{u1} (MulOpposite.{u1} R) (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R) M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.semiring.{u1} R _inst_1) _inst_2 _inst_4))))] (l : List.{max u1 u2} (TrivSqZeroExt.{u1, u2} R M)), Eq.{succ u2} M (TrivSqZeroExt.snd.{u1, u2} R M (List.prod.{max u1 u2} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.hasMul.{u1, u2} R M (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (AddZeroClass.toHasAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (SMulZeroClass.toHasSmul.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} R M (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} R M _inst_1 _inst_2 _inst_3)))) (SMulZeroClass.toHasSmul.{u1, u2} (MulOpposite.{u1} R) M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} (MulOpposite.{u1} R) M (MulZeroClass.toHasZero.{u1} (MulOpposite.{u1} R) (MulZeroOneClass.toMulZeroClass.{u1} (MulOpposite.{u1} R) (MonoidWithZero.toMulZeroOneClass.{u1} (MulOpposite.{u1} R) (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R) M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.semiring.{u1} R _inst_1) _inst_2 _inst_4))))) (TrivSqZeroExt.hasOne.{u1, u2} R M (AddMonoidWithOne.toOne.{u1} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} R (NonAssocSemiring.toAddCommMonoidWithOne.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)))) l)) (List.sum.{u2} M (AddZeroClass.toHasAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (List.map.{max u1 u2, u2} (Prod.{0, max u1 u2} Nat (TrivSqZeroExt.{u1, u2} R M)) M (fun (x : Prod.{0, max u1 u2} Nat (TrivSqZeroExt.{u1, u2} R M)) => SMul.smul.{u1, u2} R M (SMulZeroClass.toHasSmul.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} R M (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} R M _inst_1 _inst_2 _inst_3)))) (List.prod.{u1} R (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (AddMonoidWithOne.toOne.{u1} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} R (NonAssocSemiring.toAddCommMonoidWithOne.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (List.take.{u1} R (Prod.fst.{0, max u1 u2} Nat (TrivSqZeroExt.{u1, u2} R M) x) (List.map.{max u1 u2, u1} (TrivSqZeroExt.{u1, u2} R M) R (TrivSqZeroExt.fst.{u1, u2} R M) l))) (SMul.smul.{u1, u2} (MulOpposite.{u1} R) M (SMulZeroClass.toHasSmul.{u1, u2} (MulOpposite.{u1} R) M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} (MulOpposite.{u1} R) M (MulZeroClass.toHasZero.{u1} (MulOpposite.{u1} R) (MulZeroOneClass.toMulZeroClass.{u1} (MulOpposite.{u1} R) (MonoidWithZero.toMulZeroOneClass.{u1} (MulOpposite.{u1} R) (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R) M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.semiring.{u1} R _inst_1) _inst_2 _inst_4)))) (MulOpposite.op.{u1} R (List.prod.{u1} R (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (AddMonoidWithOne.toOne.{u1} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} R (NonAssocSemiring.toAddCommMonoidWithOne.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (List.drop.{u1} R (Nat.succ (Prod.fst.{0, max u1 u2} Nat (TrivSqZeroExt.{u1, u2} R M) x)) (List.map.{max u1 u2, u1} (TrivSqZeroExt.{u1, u2} R M) R (TrivSqZeroExt.fst.{u1, u2} R M) l)))) (TrivSqZeroExt.snd.{u1, u2} R M (Prod.snd.{0, max u1 u2} Nat (TrivSqZeroExt.{u1, u2} R M) x)))) (List.enum.{max u1 u2} (TrivSqZeroExt.{u1, u2} R M) l)))
+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] [_inst_4 : Module.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1) _inst_2] [_inst_5 : SMulCommClass.{u1, u1, u2} R (MulOpposite.{u1} R) M (SMulZeroClass.toSMul.{u1, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R M (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (Module.toMulActionWithZero.{u1, u2} R M _inst_1 _inst_2 _inst_3)))) (SMulZeroClass.toSMul.{u1, u2} (MulOpposite.{u1} R) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.instZeroMulOpposite.{u1} R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.instMonoidWithZeroMulOpposite.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1) _inst_2 _inst_4))))] (l : List.{max u2 u1} (TrivSqZeroExt.{u1, u2} R M)), Eq.{succ u2} M (TrivSqZeroExt.snd.{u1, u2} R M (List.prod.{max u1 u2} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.mul.{u1, u2} R M (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (SMulZeroClass.toSMul.{u1, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R M (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (Module.toMulActionWithZero.{u1, u2} R M _inst_1 _inst_2 _inst_3)))) (SMulZeroClass.toSMul.{u1, u2} (MulOpposite.{u1} R) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.instZeroMulOpposite.{u1} R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.instMonoidWithZeroMulOpposite.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1) _inst_2 _inst_4))))) (TrivSqZeroExt.one.{u1, u2} R M (Semiring.toOne.{u1} R _inst_1) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) l)) (List.sum.{u2} M (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (List.map.{max u1 u2, u2} (Prod.{0, max u2 u1} Nat (TrivSqZeroExt.{u1, u2} R M)) M (fun (x : Prod.{0, max u2 u1} Nat (TrivSqZeroExt.{u1, u2} R M)) => HSMul.hSMul.{u1, u2, u2} R M M (instHSMul.{u1, u2} R M (SMulZeroClass.toSMul.{u1, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R M (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (Module.toMulActionWithZero.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (List.prod.{u1} R (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toOne.{u1} R _inst_1) (List.take.{u1} R (Prod.fst.{0, max u1 u2} Nat (TrivSqZeroExt.{u1, u2} R M) x) (List.map.{max u2 u1, u1} (TrivSqZeroExt.{u1, u2} R M) R (TrivSqZeroExt.fst.{u1, u2} R M) l))) (HSMul.hSMul.{u1, u2, u2} (MulOpposite.{u1} R) M M (instHSMul.{u1, u2} (MulOpposite.{u1} R) M (SMulZeroClass.toSMul.{u1, u2} (MulOpposite.{u1} R) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.instZeroMulOpposite.{u1} R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.instMonoidWithZeroMulOpposite.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1) _inst_2 _inst_4))))) (MulOpposite.op.{u1} R (List.prod.{u1} R (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toOne.{u1} R _inst_1) (List.drop.{u1} R (Nat.succ (Prod.fst.{0, max u1 u2} Nat (TrivSqZeroExt.{u1, u2} R M) x)) (List.map.{max u2 u1, u1} (TrivSqZeroExt.{u1, u2} R M) R (TrivSqZeroExt.fst.{u1, u2} R M) l)))) (TrivSqZeroExt.snd.{u1, u2} R M (Prod.snd.{0, max u1 u2} Nat (TrivSqZeroExt.{u1, u2} R M) x)))) (List.enum.{max u1 u2} (TrivSqZeroExt.{u1, u2} R M) l)))
+Case conversion may be inaccurate. Consider using '#align triv_sq_zero_ext.snd_list_prod TrivSqZeroExt.snd_list_prodₓ'. -/
 /-- The second element of a product $\prod_{i=0}^n (r_i + m_i)$ is a sum of terms of the form
 $r_0\cdots r_{i-1}m_ir_{i+1}\cdots r_n$. -/
 theorem snd_list_prod [Semiring R] [AddCommMonoid M] [Module R M] [Module Rᵐᵒᵖ M]
@@ -720,6 +996,12 @@ instance [CommRing R] [AddCommGroup M] [Module R M] [Module Rᵐᵒᵖ M] [IsCen
 
 variable (R M)
 
+/- warning: triv_sq_zero_ext.inl_hom -> TrivSqZeroExt.inlHom 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] [_inst_4 : Module.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.semiring.{u1} R _inst_1) _inst_2], RingHom.{u1, max u1 u2} R (TrivSqZeroExt.{u1, u2} R M) (Semiring.toNonAssocSemiring.{u1} R _inst_1) (TrivSqZeroExt.nonAssocSemiring.{u1, u2} R M _inst_1 _inst_2 _inst_3 _inst_4)
+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] [_inst_4 : Module.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1) _inst_2], RingHom.{u1, max u2 u1} R (TrivSqZeroExt.{u1, u2} R M) (Semiring.toNonAssocSemiring.{u1} R _inst_1) (TrivSqZeroExt.nonAssocSemiring.{u1, u2} R M _inst_1 _inst_2 _inst_3 _inst_4)
+Case conversion may be inaccurate. Consider using '#align triv_sq_zero_ext.inl_hom TrivSqZeroExt.inlHomₓ'. -/
 /-- The canonical inclusion of rings `R → triv_sq_zero_ext R M`. -/
 @[simps apply]
 def inlHom [Semiring R] [AddCommMonoid M] [Module R M] [Module Rᵐᵒᵖ M] : R →+* tsze R M
@@ -747,6 +1029,12 @@ variable [IsScalarTower S R M] [IsScalarTower S Rᵐᵒᵖ M]
 
 variable [Module R' M] [Module R'ᵐᵒᵖ M] [IsCentralScalar R' M] [IsScalarTower S R' M]
 
+/- warning: triv_sq_zero_ext.algebra' -> TrivSqZeroExt.algebra' is a dubious translation:
+lean 3 declaration is
+  forall (S : Type.{u3}) (R : Type.{u1}) (M : Type.{u2}) [_inst_1 : CommSemiring.{u3} S] [_inst_2 : Semiring.{u1} R] [_inst_4 : AddCommMonoid.{u2} M] [_inst_5 : Algebra.{u3, u1} S R _inst_1 _inst_2] [_inst_7 : Module.{u3, u2} S M (CommSemiring.toSemiring.{u3} S _inst_1) _inst_4] [_inst_8 : Module.{u1, u2} R M _inst_2 _inst_4] [_inst_9 : Module.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.semiring.{u1} R _inst_2) _inst_4] [_inst_10 : SMulCommClass.{u1, u1, u2} R (MulOpposite.{u1} R) M (SMulZeroClass.toHasSmul.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} R M (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_2)))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R _inst_2) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R M _inst_2 _inst_4 _inst_8)))) (SMulZeroClass.toHasSmul.{u1, u2} (MulOpposite.{u1} R) M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} (MulOpposite.{u1} R) M (MulZeroClass.toHasZero.{u1} (MulOpposite.{u1} R) (MulZeroOneClass.toMulZeroClass.{u1} (MulOpposite.{u1} R) (MonoidWithZero.toMulZeroOneClass.{u1} (MulOpposite.{u1} R) (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_2))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R) M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_2)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.semiring.{u1} R _inst_2) _inst_4 _inst_9))))] [_inst_11 : IsScalarTower.{u3, u1, u2} S R M (SMulZeroClass.toHasSmul.{u3, u1} S R (AddZeroClass.toHasZero.{u1} R (AddMonoid.toAddZeroClass.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)))))) (SMulWithZero.toSmulZeroClass.{u3, u1} S R (MulZeroClass.toHasZero.{u3} S (MulZeroOneClass.toMulZeroClass.{u3} S (MonoidWithZero.toMulZeroOneClass.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S _inst_1))))) (AddZeroClass.toHasZero.{u1} R (AddMonoid.toAddZeroClass.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)))))) (MulActionWithZero.toSMulWithZero.{u3, u1} S R (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S _inst_1)) (AddZeroClass.toHasZero.{u1} R (AddMonoid.toAddZeroClass.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)))))) (Module.toMulActionWithZero.{u3, u1} S R (CommSemiring.toSemiring.{u3} S _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Algebra.toModule.{u3, u1} S R _inst_1 _inst_2 _inst_5))))) (SMulZeroClass.toHasSmul.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} R M (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_2)))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R _inst_2) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R M _inst_2 _inst_4 _inst_8)))) (SMulZeroClass.toHasSmul.{u3, u2} S M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u3, u2} S M (MulZeroClass.toHasZero.{u3} S (MulZeroOneClass.toMulZeroClass.{u3} S (MonoidWithZero.toMulZeroOneClass.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S _inst_1))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u3, u2} S M (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S _inst_1)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u3, u2} S M (CommSemiring.toSemiring.{u3} S _inst_1) _inst_4 _inst_7))))] [_inst_12 : IsScalarTower.{u3, u1, u2} S (MulOpposite.{u1} R) M (MulOpposite.hasSmul.{u1, u3} R S (SMulZeroClass.toHasSmul.{u3, u1} S R (AddZeroClass.toHasZero.{u1} R (AddMonoid.toAddZeroClass.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)))))) (SMulWithZero.toSmulZeroClass.{u3, u1} S R (MulZeroClass.toHasZero.{u3} S (MulZeroOneClass.toMulZeroClass.{u3} S (MonoidWithZero.toMulZeroOneClass.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S _inst_1))))) (AddZeroClass.toHasZero.{u1} R (AddMonoid.toAddZeroClass.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)))))) (MulActionWithZero.toSMulWithZero.{u3, u1} S R (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S _inst_1)) (AddZeroClass.toHasZero.{u1} R (AddMonoid.toAddZeroClass.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)))))) (Module.toMulActionWithZero.{u3, u1} S R (CommSemiring.toSemiring.{u3} S _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Algebra.toModule.{u3, u1} S R _inst_1 _inst_2 _inst_5)))))) (SMulZeroClass.toHasSmul.{u1, u2} (MulOpposite.{u1} R) M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} (MulOpposite.{u1} R) M (MulZeroClass.toHasZero.{u1} (MulOpposite.{u1} R) (MulZeroOneClass.toMulZeroClass.{u1} (MulOpposite.{u1} R) (MonoidWithZero.toMulZeroOneClass.{u1} (MulOpposite.{u1} R) (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_2))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R) M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_2)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.semiring.{u1} R _inst_2) _inst_4 _inst_9)))) (SMulZeroClass.toHasSmul.{u3, u2} S M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u3, u2} S M (MulZeroClass.toHasZero.{u3} S (MulZeroOneClass.toMulZeroClass.{u3} S (MonoidWithZero.toMulZeroOneClass.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S _inst_1))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u3, u2} S M (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S _inst_1)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u3, u2} S M (CommSemiring.toSemiring.{u3} S _inst_1) _inst_4 _inst_7))))], Algebra.{u3, max u1 u2} S (TrivSqZeroExt.{u1, u2} R M) _inst_1 (TrivSqZeroExt.semiring.{u1, u2} R M _inst_2 _inst_4 _inst_8 _inst_9 _inst_10)
+but is expected to have type
+  forall (S : Type.{u3}) (R : Type.{u1}) (M : Type.{u2}) [_inst_1 : CommSemiring.{u3} S] [_inst_2 : Semiring.{u1} R] [_inst_4 : AddCommMonoid.{u2} M] [_inst_5 : Algebra.{u3, u1} S R _inst_1 _inst_2] [_inst_7 : Module.{u3, u2} S M (CommSemiring.toSemiring.{u3} S _inst_1) _inst_4] [_inst_8 : Module.{u1, u2} R M _inst_2 _inst_4] [_inst_9 : Module.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.instSemiringMulOpposite.{u1} R _inst_2) _inst_4] [_inst_10 : SMulCommClass.{u1, u1, u2} R (MulOpposite.{u1} R) M (SMulZeroClass.toSMul.{u1, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} R M (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_2)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R _inst_2) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R M _inst_2 _inst_4 _inst_8)))) (SMulZeroClass.toSMul.{u1, u2} (MulOpposite.{u1} R) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.instZeroMulOpposite.{u1} R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_2))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.instMonoidWithZeroMulOpposite.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_2)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.instSemiringMulOpposite.{u1} R _inst_2) _inst_4 _inst_9))))] [_inst_11 : IsScalarTower.{u3, u1, u2} S R M (Algebra.toSMul.{u3, u1} S R _inst_1 _inst_2 _inst_5) (SMulZeroClass.toSMul.{u1, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} R M (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_2)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R _inst_2) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R M _inst_2 _inst_4 _inst_8)))) (SMulZeroClass.toSMul.{u3, u2} S M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u3, u2} S M (CommMonoidWithZero.toZero.{u3} S (CommSemiring.toCommMonoidWithZero.{u3} S _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u3, u2} S M (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u3, u2} S M (CommSemiring.toSemiring.{u3} S _inst_1) _inst_4 _inst_7))))] [_inst_12 : IsScalarTower.{u3, u1, u2} S (MulOpposite.{u1} R) M (MulOpposite.instSMulMulOpposite.{u1, u3} R S (Algebra.toSMul.{u3, u1} S R _inst_1 _inst_2 _inst_5)) (SMulZeroClass.toSMul.{u1, u2} (MulOpposite.{u1} R) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.instZeroMulOpposite.{u1} R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_2))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.instMonoidWithZeroMulOpposite.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_2)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.instSemiringMulOpposite.{u1} R _inst_2) _inst_4 _inst_9)))) (SMulZeroClass.toSMul.{u3, u2} S M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u3, u2} S M (CommMonoidWithZero.toZero.{u3} S (CommSemiring.toCommMonoidWithZero.{u3} S _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u3, u2} S M (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u3, u2} S M (CommSemiring.toSemiring.{u3} S _inst_1) _inst_4 _inst_7))))], Algebra.{u3, max u2 u1} S (TrivSqZeroExt.{u1, u2} R M) _inst_1 (TrivSqZeroExt.semiring.{u1, u2} R M _inst_2 _inst_4 _inst_8 _inst_9 _inst_10)
+Case conversion may be inaccurate. Consider using '#align triv_sq_zero_ext.algebra' TrivSqZeroExt.algebra'ₓ'. -/
 instance algebra' : Algebra S (tsze R M) :=
   {
     (TrivSqZeroExt.inlHom R M).comp
@@ -769,18 +1057,42 @@ instance algebra' : Algebra S (tsze R M) :=
 instance : Algebra R' (tsze R' M) :=
   TrivSqZeroExt.algebra' _ _ _
 
+/- warning: triv_sq_zero_ext.algebra_map_eq_inl -> TrivSqZeroExt.algebraMap_eq_inl is a dubious translation:
+lean 3 declaration is
+  forall (R' : Type.{u1}) (M : Type.{u2}) [_inst_3 : CommSemiring.{u1} R'] [_inst_4 : AddCommMonoid.{u2} M] [_inst_13 : Module.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4] [_inst_14 : Module.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4] [_inst_15 : IsCentralScalar.{u1, u2} R' M (SMulZeroClass.toHasSmul.{u1, u2} R' M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} R' M (MulZeroClass.toHasZero.{u1} R' (MulZeroOneClass.toMulZeroClass.{u1} R' (MonoidWithZero.toMulZeroOneClass.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toHasSmul.{u1, u2} (MulOpposite.{u1} R') M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MulZeroClass.toHasZero.{u1} (MulOpposite.{u1} R') (MulZeroOneClass.toMulZeroClass.{u1} (MulOpposite.{u1} R') (MonoidWithZero.toMulZeroOneClass.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14))))], Eq.{max (succ u1) (succ (max u1 u2))} (R' -> (TrivSqZeroExt.{u1, u2} R' M)) (coeFn.{max (succ u1) (succ (max u1 u2)), max (succ u1) (succ (max u1 u2))} (RingHom.{u1, max u1 u2} R' (TrivSqZeroExt.{u1, u2} R' M) (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (Semiring.toNonAssocSemiring.{max u1 u2} (TrivSqZeroExt.{u1, u2} R' M) (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u1, u1, u2} R' _inst_3 (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (MulOpposite.algebra.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u1, u1, u2} R' R' M (SMulZeroClass.toHasSmul.{u1, u2} R' M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} R' M (MulZeroClass.toHasZero.{u1} R' (MulZeroOneClass.toMulZeroClass.{u1} R' (MonoidWithZero.toMulZeroOneClass.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (Mul.toSMul.{u1} R' (Distrib.toHasMul.{u1} R' (NonUnitalNonAssocSemiring.toDistrib.{u1} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (MulAction.toHasSmul.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13))) (SMulZeroClass.toHasSmul.{u1, u2} (MulOpposite.{u1} R') M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MulZeroClass.toHasZero.{u1} (MulOpposite.{u1} R') (MulZeroOneClass.toMulZeroClass.{u1} (MulOpposite.{u1} R') (MonoidWithZero.toMulZeroOneClass.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))))))) (fun (_x : RingHom.{u1, max u1 u2} R' (TrivSqZeroExt.{u1, u2} R' M) (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (Semiring.toNonAssocSemiring.{max u1 u2} (TrivSqZeroExt.{u1, u2} R' M) (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u1, u1, u2} R' _inst_3 (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (MulOpposite.algebra.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u1, u1, u2} R' R' M (SMulZeroClass.toHasSmul.{u1, u2} R' M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} R' M (MulZeroClass.toHasZero.{u1} R' (MulZeroOneClass.toMulZeroClass.{u1} R' (MonoidWithZero.toMulZeroOneClass.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (Mul.toSMul.{u1} R' (Distrib.toHasMul.{u1} R' (NonUnitalNonAssocSemiring.toDistrib.{u1} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (MulAction.toHasSmul.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13))) (SMulZeroClass.toHasSmul.{u1, u2} (MulOpposite.{u1} R') M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MulZeroClass.toHasZero.{u1} (MulOpposite.{u1} R') (MulZeroOneClass.toMulZeroClass.{u1} (MulOpposite.{u1} R') (MonoidWithZero.toMulZeroOneClass.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))))))) => R' -> (TrivSqZeroExt.{u1, u2} R' M)) (RingHom.hasCoeToFun.{u1, max u1 u2} R' (TrivSqZeroExt.{u1, u2} R' M) (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (Semiring.toNonAssocSemiring.{max u1 u2} (TrivSqZeroExt.{u1, u2} R' M) (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u1, u1, u2} R' _inst_3 (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (MulOpposite.algebra.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u1, u1, u2} R' R' M (SMulZeroClass.toHasSmul.{u1, u2} R' M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} R' M (MulZeroClass.toHasZero.{u1} R' (MulZeroOneClass.toMulZeroClass.{u1} R' (MonoidWithZero.toMulZeroOneClass.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (Mul.toSMul.{u1} R' (Distrib.toHasMul.{u1} R' (NonUnitalNonAssocSemiring.toDistrib.{u1} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (MulAction.toHasSmul.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13))) (SMulZeroClass.toHasSmul.{u1, u2} (MulOpposite.{u1} R') M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MulZeroClass.toHasZero.{u1} (MulOpposite.{u1} R') (MulZeroOneClass.toMulZeroClass.{u1} (MulOpposite.{u1} R') (MonoidWithZero.toMulZeroOneClass.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))))))) (algebraMap.{u1, max u1 u2} R' (TrivSqZeroExt.{u1, u2} R' M) _inst_3 (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u1, u1, u2} R' _inst_3 (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (MulOpposite.algebra.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u1, u1, u2} R' R' M (SMulZeroClass.toHasSmul.{u1, u2} R' M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} R' M (MulZeroClass.toHasZero.{u1} R' (MulZeroOneClass.toMulZeroClass.{u1} R' (MonoidWithZero.toMulZeroOneClass.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (Mul.toSMul.{u1} R' (Distrib.toHasMul.{u1} R' (NonUnitalNonAssocSemiring.toDistrib.{u1} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (MulAction.toHasSmul.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13))) (SMulZeroClass.toHasSmul.{u1, u2} (MulOpposite.{u1} R') M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MulZeroClass.toHasZero.{u1} (MulOpposite.{u1} R') (MulZeroOneClass.toMulZeroClass.{u1} (MulOpposite.{u1} R') (MonoidWithZero.toMulZeroOneClass.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))))) (TrivSqZeroExt.algebra.{u1, u2} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15))) (TrivSqZeroExt.inl.{u1, u2} R' M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))))
+but is expected to have type
+  forall (R' : Type.{u1}) (M : Type.{u2}) [_inst_3 : CommSemiring.{u1} R'] [_inst_4 : AddCommMonoid.{u2} M] [_inst_13 : Module.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4] [_inst_14 : Module.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.instSemiringMulOpposite.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4] [_inst_15 : IsCentralScalar.{u1, u2} R' M (SMulZeroClass.toSMul.{u1, u2} R' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u1, u2} (MulOpposite.{u1} R') M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.instZeroMulOpposite.{u1} R' (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.instMonoidWithZeroMulOpposite.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.instSemiringMulOpposite.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14))))], Eq.{max (succ u1) (succ u2)} (forall (ᾰ : R'), (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R') => TrivSqZeroExt.{u1, u2} R' M) ᾰ) (FunLike.coe.{max (succ u1) (succ u2), succ u1, max (succ u1) (succ u2)} (RingHom.{u1, max u2 u1} R' (TrivSqZeroExt.{u1, u2} R' M) (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (Semiring.toNonAssocSemiring.{max u2 u1} (TrivSqZeroExt.{u1, u2} R' M) (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u1, u1, u2} R' _inst_3 (MulOpposite.{u1} R') (MulOpposite.instSemiringMulOpposite.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeInstSemiringMulOpposite.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u1, u1, u2} R' R' M (SMulZeroClass.toSMul.{u1, u2} R' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) (SMulZeroClass.toSMul.{u1, u2} R' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u1, u2} (MulOpposite.{u1} R') M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MonoidWithZero.toZero.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.instSemiringMulOpposite.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.instSemiringMulOpposite.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.instSemiringMulOpposite.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))))))) R' (fun (_x : R') => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R') => TrivSqZeroExt.{u1, u2} R' M) _x) (MulHomClass.toFunLike.{max u1 u2, u1, max u1 u2} (RingHom.{u1, max u2 u1} R' (TrivSqZeroExt.{u1, u2} R' M) (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (Semiring.toNonAssocSemiring.{max u2 u1} (TrivSqZeroExt.{u1, u2} R' M) (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u1, u1, u2} R' _inst_3 (MulOpposite.{u1} R') (MulOpposite.instSemiringMulOpposite.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeInstSemiringMulOpposite.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u1, u1, u2} R' R' M (SMulZeroClass.toSMul.{u1, u2} R' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) (SMulZeroClass.toSMul.{u1, u2} R' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u1, u2} (MulOpposite.{u1} R') M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MonoidWithZero.toZero.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.instSemiringMulOpposite.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.instSemiringMulOpposite.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.instSemiringMulOpposite.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))))))) R' (TrivSqZeroExt.{u1, u2} R' M) (NonUnitalNonAssocSemiring.toMul.{u1} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))) (NonUnitalNonAssocSemiring.toMul.{max u1 u2} (TrivSqZeroExt.{u1, u2} R' M) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (TrivSqZeroExt.{u1, u2} R' M) (Semiring.toNonAssocSemiring.{max u2 u1} (TrivSqZeroExt.{u1, u2} R' M) (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u1, u1, u2} R' _inst_3 (MulOpposite.{u1} R') (MulOpposite.instSemiringMulOpposite.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeInstSemiringMulOpposite.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u1, u1, u2} R' R' M (SMulZeroClass.toSMul.{u1, u2} R' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) (SMulZeroClass.toSMul.{u1, u2} R' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u1, u2} (MulOpposite.{u1} R') M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MonoidWithZero.toZero.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.instSemiringMulOpposite.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.instSemiringMulOpposite.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.instSemiringMulOpposite.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13))))))))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, u1, max u1 u2} (RingHom.{u1, max u2 u1} R' (TrivSqZeroExt.{u1, u2} R' M) (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (Semiring.toNonAssocSemiring.{max u2 u1} (TrivSqZeroExt.{u1, u2} R' M) (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u1, u1, u2} R' _inst_3 (MulOpposite.{u1} R') (MulOpposite.instSemiringMulOpposite.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeInstSemiringMulOpposite.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u1, u1, u2} R' R' M (SMulZeroClass.toSMul.{u1, u2} R' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) (SMulZeroClass.toSMul.{u1, u2} R' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u1, u2} (MulOpposite.{u1} R') M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MonoidWithZero.toZero.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.instSemiringMulOpposite.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.instSemiringMulOpposite.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.instSemiringMulOpposite.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))))))) R' (TrivSqZeroExt.{u1, u2} R' M) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (TrivSqZeroExt.{u1, u2} R' M) (Semiring.toNonAssocSemiring.{max u2 u1} (TrivSqZeroExt.{u1, u2} R' M) (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u1, u1, u2} R' _inst_3 (MulOpposite.{u1} R') (MulOpposite.instSemiringMulOpposite.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeInstSemiringMulOpposite.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u1, u1, u2} R' R' M (SMulZeroClass.toSMul.{u1, u2} R' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) (SMulZeroClass.toSMul.{u1, u2} R' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u1, u2} (MulOpposite.{u1} R') M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MonoidWithZero.toZero.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.instSemiringMulOpposite.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.instSemiringMulOpposite.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.instSemiringMulOpposite.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))))))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, u1, max u1 u2} (RingHom.{u1, max u2 u1} R' (TrivSqZeroExt.{u1, u2} R' M) (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (Semiring.toNonAssocSemiring.{max u2 u1} (TrivSqZeroExt.{u1, u2} R' M) (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u1, u1, u2} R' _inst_3 (MulOpposite.{u1} R') (MulOpposite.instSemiringMulOpposite.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeInstSemiringMulOpposite.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u1, u1, u2} R' R' M (SMulZeroClass.toSMul.{u1, u2} R' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) (SMulZeroClass.toSMul.{u1, u2} R' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u1, u2} (MulOpposite.{u1} R') M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MonoidWithZero.toZero.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.instSemiringMulOpposite.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.instSemiringMulOpposite.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.instSemiringMulOpposite.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))))))) R' (TrivSqZeroExt.{u1, u2} R' M) (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (Semiring.toNonAssocSemiring.{max u2 u1} (TrivSqZeroExt.{u1, u2} R' M) (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u1, u1, u2} R' _inst_3 (MulOpposite.{u1} R') (MulOpposite.instSemiringMulOpposite.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeInstSemiringMulOpposite.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u1, u1, u2} R' R' M (SMulZeroClass.toSMul.{u1, u2} R' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) (SMulZeroClass.toSMul.{u1, u2} R' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u1, u2} (MulOpposite.{u1} R') M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MonoidWithZero.toZero.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.instSemiringMulOpposite.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.instSemiringMulOpposite.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.instSemiringMulOpposite.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13))))))) (RingHom.instRingHomClassRingHom.{u1, max u1 u2} R' (TrivSqZeroExt.{u1, u2} R' M) (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (Semiring.toNonAssocSemiring.{max u2 u1} (TrivSqZeroExt.{u1, u2} R' M) (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u1, u1, u2} R' _inst_3 (MulOpposite.{u1} R') (MulOpposite.instSemiringMulOpposite.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeInstSemiringMulOpposite.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u1, u1, u2} R' R' M (SMulZeroClass.toSMul.{u1, u2} R' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) (SMulZeroClass.toSMul.{u1, u2} R' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u1, u2} (MulOpposite.{u1} R') M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MonoidWithZero.toZero.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.instSemiringMulOpposite.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.instSemiringMulOpposite.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.instSemiringMulOpposite.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13))))))))))) (algebraMap.{u1, max u2 u1} R' (TrivSqZeroExt.{u1, u2} R' M) _inst_3 (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u1, u1, u2} R' _inst_3 (MulOpposite.{u1} R') (MulOpposite.instSemiringMulOpposite.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeInstSemiringMulOpposite.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u1, u1, u2} R' R' M (SMulZeroClass.toSMul.{u1, u2} R' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) (SMulZeroClass.toSMul.{u1, u2} R' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u1, u2} (MulOpposite.{u1} R') M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MonoidWithZero.toZero.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.instSemiringMulOpposite.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.instSemiringMulOpposite.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.instSemiringMulOpposite.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))))) (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeInstSemiringMulOppositeInstAlgebraMulOppositeInstSemiringMulOppositeIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u1, u2} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15))) (TrivSqZeroExt.inl.{u1, u2} R' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)))
+Case conversion may be inaccurate. Consider using '#align triv_sq_zero_ext.algebra_map_eq_inl TrivSqZeroExt.algebraMap_eq_inlₓ'. -/
 theorem algebraMap_eq_inl : ⇑(algebraMap R' (tsze R' M)) = inl :=
   rfl
 #align triv_sq_zero_ext.algebra_map_eq_inl TrivSqZeroExt.algebraMap_eq_inl
 
+/- warning: triv_sq_zero_ext.algebra_map_eq_inl_hom -> TrivSqZeroExt.algebraMap_eq_inlHom is a dubious translation:
+lean 3 declaration is
+  forall (R' : Type.{u1}) (M : Type.{u2}) [_inst_3 : CommSemiring.{u1} R'] [_inst_4 : AddCommMonoid.{u2} M] [_inst_13 : Module.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4] [_inst_14 : Module.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4] [_inst_15 : IsCentralScalar.{u1, u2} R' M (SMulZeroClass.toHasSmul.{u1, u2} R' M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} R' M (MulZeroClass.toHasZero.{u1} R' (MulZeroOneClass.toMulZeroClass.{u1} R' (MonoidWithZero.toMulZeroOneClass.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toHasSmul.{u1, u2} (MulOpposite.{u1} R') M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MulZeroClass.toHasZero.{u1} (MulOpposite.{u1} R') (MulZeroOneClass.toMulZeroClass.{u1} (MulOpposite.{u1} R') (MonoidWithZero.toMulZeroOneClass.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14))))], Eq.{max (succ u1) (succ (max u1 u2))} (RingHom.{u1, max u1 u2} R' (TrivSqZeroExt.{u1, u2} R' M) (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (Semiring.toNonAssocSemiring.{max u1 u2} (TrivSqZeroExt.{u1, u2} R' M) (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u1, u1, u2} R' _inst_3 (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (MulOpposite.algebra.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u1, u1, u2} R' R' M (SMulZeroClass.toHasSmul.{u1, u2} R' M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} R' M (MulZeroClass.toHasZero.{u1} R' (MulZeroOneClass.toMulZeroClass.{u1} R' (MonoidWithZero.toMulZeroOneClass.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (Mul.toSMul.{u1} R' (Distrib.toHasMul.{u1} R' (NonUnitalNonAssocSemiring.toDistrib.{u1} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (MulAction.toHasSmul.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13))) (SMulZeroClass.toHasSmul.{u1, u2} (MulOpposite.{u1} R') M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MulZeroClass.toHasZero.{u1} (MulOpposite.{u1} R') (MulZeroOneClass.toMulZeroClass.{u1} (MulOpposite.{u1} R') (MonoidWithZero.toMulZeroOneClass.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))))))) (algebraMap.{u1, max u1 u2} R' (TrivSqZeroExt.{u1, u2} R' M) _inst_3 (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u1, u1, u2} R' _inst_3 (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (MulOpposite.algebra.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u1, u1, u2} R' R' M (SMulZeroClass.toHasSmul.{u1, u2} R' M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} R' M (MulZeroClass.toHasZero.{u1} R' (MulZeroOneClass.toMulZeroClass.{u1} R' (MonoidWithZero.toMulZeroOneClass.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (Mul.toSMul.{u1} R' (Distrib.toHasMul.{u1} R' (NonUnitalNonAssocSemiring.toDistrib.{u1} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (MulAction.toHasSmul.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13))) (SMulZeroClass.toHasSmul.{u1, u2} (MulOpposite.{u1} R') M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MulZeroClass.toHasZero.{u1} (MulOpposite.{u1} R') (MulZeroOneClass.toMulZeroClass.{u1} (MulOpposite.{u1} R') (MonoidWithZero.toMulZeroOneClass.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))))) (TrivSqZeroExt.algebra.{u1, u2} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15)) (TrivSqZeroExt.inlHom.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14)
+but is expected to have type
+  forall (R' : Type.{u1}) (M : Type.{u2}) [_inst_3 : CommSemiring.{u1} R'] [_inst_4 : AddCommMonoid.{u2} M] [_inst_13 : Module.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4] [_inst_14 : Module.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.instSemiringMulOpposite.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4] [_inst_15 : IsCentralScalar.{u1, u2} R' M (SMulZeroClass.toSMul.{u1, u2} R' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u1, u2} (MulOpposite.{u1} R') M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.instZeroMulOpposite.{u1} R' (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.instMonoidWithZeroMulOpposite.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.instSemiringMulOpposite.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14))))], Eq.{max (succ u1) (succ u2)} (RingHom.{u1, max u2 u1} R' (TrivSqZeroExt.{u1, u2} R' M) (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (Semiring.toNonAssocSemiring.{max u2 u1} (TrivSqZeroExt.{u1, u2} R' M) (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u1, u1, u2} R' _inst_3 (MulOpposite.{u1} R') (MulOpposite.instSemiringMulOpposite.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeInstSemiringMulOpposite.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u1, u1, u2} R' R' M (SMulZeroClass.toSMul.{u1, u2} R' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) (SMulZeroClass.toSMul.{u1, u2} R' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u1, u2} (MulOpposite.{u1} R') M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MonoidWithZero.toZero.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.instSemiringMulOpposite.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.instSemiringMulOpposite.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.instSemiringMulOpposite.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))))))) (algebraMap.{u1, max u2 u1} R' (TrivSqZeroExt.{u1, u2} R' M) _inst_3 (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u1, u1, u2} R' _inst_3 (MulOpposite.{u1} R') (MulOpposite.instSemiringMulOpposite.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeInstSemiringMulOpposite.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u1, u1, u2} R' R' M (SMulZeroClass.toSMul.{u1, u2} R' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) (SMulZeroClass.toSMul.{u1, u2} R' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u1, u2} (MulOpposite.{u1} R') M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MonoidWithZero.toZero.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.instSemiringMulOpposite.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.instSemiringMulOpposite.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.instSemiringMulOpposite.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))))) (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeInstSemiringMulOppositeInstAlgebraMulOppositeInstSemiringMulOppositeIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u1, u2} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15)) (TrivSqZeroExt.inlHom.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14)
+Case conversion may be inaccurate. Consider using '#align triv_sq_zero_ext.algebra_map_eq_inl_hom TrivSqZeroExt.algebraMap_eq_inlHomₓ'. -/
 theorem algebraMap_eq_inlHom : algebraMap R' (tsze R' M) = inlHom R' M :=
   rfl
 #align triv_sq_zero_ext.algebra_map_eq_inl_hom TrivSqZeroExt.algebraMap_eq_inlHom
 
+/- warning: triv_sq_zero_ext.algebra_map_eq_inl' -> TrivSqZeroExt.algebraMap_eq_inl' is a dubious translation:
+lean 3 declaration is
+  forall (S : Type.{u3}) (R : Type.{u1}) (M : Type.{u2}) [_inst_1 : CommSemiring.{u3} S] [_inst_2 : Semiring.{u1} R] [_inst_4 : AddCommMonoid.{u2} M] [_inst_5 : Algebra.{u3, u1} S R _inst_1 _inst_2] [_inst_7 : Module.{u3, u2} S M (CommSemiring.toSemiring.{u3} S _inst_1) _inst_4] [_inst_8 : Module.{u1, u2} R M _inst_2 _inst_4] [_inst_9 : Module.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.semiring.{u1} R _inst_2) _inst_4] [_inst_10 : SMulCommClass.{u1, u1, u2} R (MulOpposite.{u1} R) M (SMulZeroClass.toHasSmul.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} R M (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_2)))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R _inst_2) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R M _inst_2 _inst_4 _inst_8)))) (SMulZeroClass.toHasSmul.{u1, u2} (MulOpposite.{u1} R) M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} (MulOpposite.{u1} R) M (MulZeroClass.toHasZero.{u1} (MulOpposite.{u1} R) (MulZeroOneClass.toMulZeroClass.{u1} (MulOpposite.{u1} R) (MonoidWithZero.toMulZeroOneClass.{u1} (MulOpposite.{u1} R) (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_2))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R) M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_2)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.semiring.{u1} R _inst_2) _inst_4 _inst_9))))] [_inst_11 : IsScalarTower.{u3, u1, u2} S R M (SMulZeroClass.toHasSmul.{u3, u1} S R (AddZeroClass.toHasZero.{u1} R (AddMonoid.toAddZeroClass.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)))))) (SMulWithZero.toSmulZeroClass.{u3, u1} S R (MulZeroClass.toHasZero.{u3} S (MulZeroOneClass.toMulZeroClass.{u3} S (MonoidWithZero.toMulZeroOneClass.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S _inst_1))))) (AddZeroClass.toHasZero.{u1} R (AddMonoid.toAddZeroClass.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)))))) (MulActionWithZero.toSMulWithZero.{u3, u1} S R (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S _inst_1)) (AddZeroClass.toHasZero.{u1} R (AddMonoid.toAddZeroClass.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)))))) (Module.toMulActionWithZero.{u3, u1} S R (CommSemiring.toSemiring.{u3} S _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Algebra.toModule.{u3, u1} S R _inst_1 _inst_2 _inst_5))))) (SMulZeroClass.toHasSmul.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} R M (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_2)))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R _inst_2) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R M _inst_2 _inst_4 _inst_8)))) (SMulZeroClass.toHasSmul.{u3, u2} S M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u3, u2} S M (MulZeroClass.toHasZero.{u3} S (MulZeroOneClass.toMulZeroClass.{u3} S (MonoidWithZero.toMulZeroOneClass.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S _inst_1))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u3, u2} S M (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S _inst_1)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u3, u2} S M (CommSemiring.toSemiring.{u3} S _inst_1) _inst_4 _inst_7))))] [_inst_12 : IsScalarTower.{u3, u1, u2} S (MulOpposite.{u1} R) M (MulOpposite.hasSmul.{u1, u3} R S (SMulZeroClass.toHasSmul.{u3, u1} S R (AddZeroClass.toHasZero.{u1} R (AddMonoid.toAddZeroClass.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)))))) (SMulWithZero.toSmulZeroClass.{u3, u1} S R (MulZeroClass.toHasZero.{u3} S (MulZeroOneClass.toMulZeroClass.{u3} S (MonoidWithZero.toMulZeroOneClass.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S _inst_1))))) (AddZeroClass.toHasZero.{u1} R (AddMonoid.toAddZeroClass.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)))))) (MulActionWithZero.toSMulWithZero.{u3, u1} S R (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S _inst_1)) (AddZeroClass.toHasZero.{u1} R (AddMonoid.toAddZeroClass.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)))))) (Module.toMulActionWithZero.{u3, u1} S R (CommSemiring.toSemiring.{u3} S _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Algebra.toModule.{u3, u1} S R _inst_1 _inst_2 _inst_5)))))) (SMulZeroClass.toHasSmul.{u1, u2} (MulOpposite.{u1} R) M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} (MulOpposite.{u1} R) M (MulZeroClass.toHasZero.{u1} (MulOpposite.{u1} R) (MulZeroOneClass.toMulZeroClass.{u1} (MulOpposite.{u1} R) (MonoidWithZero.toMulZeroOneClass.{u1} (MulOpposite.{u1} R) (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_2))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R) M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_2)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.semiring.{u1} R _inst_2) _inst_4 _inst_9)))) (SMulZeroClass.toHasSmul.{u3, u2} S M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u3, u2} S M (MulZeroClass.toHasZero.{u3} S (MulZeroOneClass.toMulZeroClass.{u3} S (MonoidWithZero.toMulZeroOneClass.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S _inst_1))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u3, u2} S M (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S _inst_1)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u3, u2} S M (CommSemiring.toSemiring.{u3} S _inst_1) _inst_4 _inst_7))))] (s : S), Eq.{max (succ u1) (succ u2)} (TrivSqZeroExt.{u1, u2} R M) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ u3) (succ (max u1 u2))} (RingHom.{u3, max u1 u2} S (TrivSqZeroExt.{u1, u2} R M) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_1)) (Semiring.toNonAssocSemiring.{max u1 u2} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.semiring.{u1, u2} R M _inst_2 _inst_4 _inst_8 _inst_9 _inst_10))) (fun (_x : RingHom.{u3, max u1 u2} S (TrivSqZeroExt.{u1, u2} R M) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_1)) (Semiring.toNonAssocSemiring.{max u1 u2} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.semiring.{u1, u2} R M _inst_2 _inst_4 _inst_8 _inst_9 _inst_10))) => S -> (TrivSqZeroExt.{u1, u2} R M)) (RingHom.hasCoeToFun.{u3, max u1 u2} S (TrivSqZeroExt.{u1, u2} R M) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_1)) (Semiring.toNonAssocSemiring.{max u1 u2} (TrivSqZeroExt.{u1, u2} R M) (TrivSqZeroExt.semiring.{u1, u2} R M _inst_2 _inst_4 _inst_8 _inst_9 _inst_10))) (algebraMap.{u3, max u1 u2} S (TrivSqZeroExt.{u1, u2} R M) _inst_1 (TrivSqZeroExt.semiring.{u1, u2} R M _inst_2 _inst_4 _inst_8 _inst_9 _inst_10) (TrivSqZeroExt.algebra'.{u1, u2, u3} S R M _inst_1 _inst_2 _inst_4 _inst_5 _inst_7 _inst_8 _inst_9 _inst_10 _inst_11 _inst_12)) s) (TrivSqZeroExt.inl.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (coeFn.{max (succ u3) (succ u1), max (succ u3) (succ u1)} (RingHom.{u3, u1} S R (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_1)) (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (fun (_x : RingHom.{u3, u1} S R (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_1)) (Semiring.toNonAssocSemiring.{u1} R _inst_2)) => S -> R) (RingHom.hasCoeToFun.{u3, u1} S R (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_1)) (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (algebraMap.{u3, u1} S R _inst_1 _inst_2 _inst_5) s))
+but is expected to have type
+  forall (S : Type.{u1}) (R : Type.{u2}) (M : Type.{u3}) [_inst_1 : CommSemiring.{u1} S] [_inst_2 : Semiring.{u2} R] [_inst_4 : AddCommMonoid.{u3} M] [_inst_5 : Algebra.{u1, u2} S R _inst_1 _inst_2] [_inst_7 : Module.{u1, u3} S M (CommSemiring.toSemiring.{u1} S _inst_1) _inst_4] [_inst_8 : Module.{u2, u3} R M _inst_2 _inst_4] [_inst_9 : Module.{u2, u3} (MulOpposite.{u2} R) M (MulOpposite.instSemiringMulOpposite.{u2} R _inst_2) _inst_4] [_inst_10 : SMulCommClass.{u2, u2, u3} R (MulOpposite.{u2} R) M (SMulZeroClass.toSMul.{u2, u3} R M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R M (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_2)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R M (Semiring.toMonoidWithZero.{u2} R _inst_2) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R M _inst_2 _inst_4 _inst_8)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R) M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R) M (MulOpposite.instZeroMulOpposite.{u2} R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_2))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R) M (MulOpposite.instMonoidWithZeroMulOpposite.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_2)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R) M (MulOpposite.instSemiringMulOpposite.{u2} R _inst_2) _inst_4 _inst_9))))] [_inst_11 : IsScalarTower.{u1, u2, u3} S R M (Algebra.toSMul.{u1, u2} S R _inst_1 _inst_2 _inst_5) (SMulZeroClass.toSMul.{u2, u3} R M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R M (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_2)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R M (Semiring.toMonoidWithZero.{u2} R _inst_2) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R M _inst_2 _inst_4 _inst_8)))) (SMulZeroClass.toSMul.{u1, u3} S M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u3} S M (CommMonoidWithZero.toZero.{u1} S (CommSemiring.toCommMonoidWithZero.{u1} S _inst_1)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u3} S M (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_1)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u1, u3} S M (CommSemiring.toSemiring.{u1} S _inst_1) _inst_4 _inst_7))))] [_inst_12 : IsScalarTower.{u1, u2, u3} S (MulOpposite.{u2} R) M (MulOpposite.instSMulMulOpposite.{u2, u1} R S (Algebra.toSMul.{u1, u2} S R _inst_1 _inst_2 _inst_5)) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R) M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R) M (MulOpposite.instZeroMulOpposite.{u2} R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_2))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R) M (MulOpposite.instMonoidWithZeroMulOpposite.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_2)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R) M (MulOpposite.instSemiringMulOpposite.{u2} R _inst_2) _inst_4 _inst_9)))) (SMulZeroClass.toSMul.{u1, u3} S M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u3} S M (CommMonoidWithZero.toZero.{u1} S (CommSemiring.toCommMonoidWithZero.{u1} S _inst_1)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u3} S M (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_1)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u1, u3} S M (CommSemiring.toSemiring.{u1} S _inst_1) _inst_4 _inst_7))))] (s : S), Eq.{max (succ u2) (succ u3)} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : S) => TrivSqZeroExt.{u2, u3} R M) s) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), succ u1, max (succ u2) (succ u3)} (RingHom.{u1, max u3 u2} S (TrivSqZeroExt.{u2, u3} R M) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_1)) (Semiring.toNonAssocSemiring.{max u3 u2} (TrivSqZeroExt.{u2, u3} R M) (TrivSqZeroExt.semiring.{u2, u3} R M _inst_2 _inst_4 _inst_8 _inst_9 _inst_10))) S (fun (_x : S) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : S) => TrivSqZeroExt.{u2, u3} R M) _x) (MulHomClass.toFunLike.{max (max u2 u3) u1, u1, max u2 u3} (RingHom.{u1, max u3 u2} S (TrivSqZeroExt.{u2, u3} R M) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_1)) (Semiring.toNonAssocSemiring.{max u3 u2} (TrivSqZeroExt.{u2, u3} R M) (TrivSqZeroExt.semiring.{u2, u3} R M _inst_2 _inst_4 _inst_8 _inst_9 _inst_10))) S (TrivSqZeroExt.{u2, u3} R M) (NonUnitalNonAssocSemiring.toMul.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{max u2 u3} (TrivSqZeroExt.{u2, u3} R M) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R M) (Semiring.toNonAssocSemiring.{max u3 u2} (TrivSqZeroExt.{u2, u3} R M) (TrivSqZeroExt.semiring.{u2, u3} R M _inst_2 _inst_4 _inst_8 _inst_9 _inst_10)))) (NonUnitalRingHomClass.toMulHomClass.{max (max u2 u3) u1, u1, max u2 u3} (RingHom.{u1, max u3 u2} S (TrivSqZeroExt.{u2, u3} R M) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_1)) (Semiring.toNonAssocSemiring.{max u3 u2} (TrivSqZeroExt.{u2, u3} R M) (TrivSqZeroExt.semiring.{u2, u3} R M _inst_2 _inst_4 _inst_8 _inst_9 _inst_10))) S (TrivSqZeroExt.{u2, u3} R M) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R M) (Semiring.toNonAssocSemiring.{max u3 u2} (TrivSqZeroExt.{u2, u3} R M) (TrivSqZeroExt.semiring.{u2, u3} R M _inst_2 _inst_4 _inst_8 _inst_9 _inst_10))) (RingHomClass.toNonUnitalRingHomClass.{max (max u2 u3) u1, u1, max u2 u3} (RingHom.{u1, max u3 u2} S (TrivSqZeroExt.{u2, u3} R M) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_1)) (Semiring.toNonAssocSemiring.{max u3 u2} (TrivSqZeroExt.{u2, u3} R M) (TrivSqZeroExt.semiring.{u2, u3} R M _inst_2 _inst_4 _inst_8 _inst_9 _inst_10))) S (TrivSqZeroExt.{u2, u3} R M) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_1)) (Semiring.toNonAssocSemiring.{max u3 u2} (TrivSqZeroExt.{u2, u3} R M) (TrivSqZeroExt.semiring.{u2, u3} R M _inst_2 _inst_4 _inst_8 _inst_9 _inst_10)) (RingHom.instRingHomClassRingHom.{u1, max u2 u3} S (TrivSqZeroExt.{u2, u3} R M) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_1)) (Semiring.toNonAssocSemiring.{max u3 u2} (TrivSqZeroExt.{u2, u3} R M) (TrivSqZeroExt.semiring.{u2, u3} R M _inst_2 _inst_4 _inst_8 _inst_9 _inst_10)))))) (algebraMap.{u1, max u3 u2} S (TrivSqZeroExt.{u2, u3} R M) _inst_1 (TrivSqZeroExt.semiring.{u2, u3} R M _inst_2 _inst_4 _inst_8 _inst_9 _inst_10) (TrivSqZeroExt.algebra'.{u2, u3, u1} S R M _inst_1 _inst_2 _inst_4 _inst_5 _inst_7 _inst_8 _inst_9 _inst_10 _inst_11 _inst_12)) s) (TrivSqZeroExt.inl.{u2, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : S) => R) s) M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (RingHom.{u1, u2} S R (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_1)) (Semiring.toNonAssocSemiring.{u2} R _inst_2)) S (fun (_x : S) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : S) => R) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (RingHom.{u1, u2} S R (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_1)) (Semiring.toNonAssocSemiring.{u2} R _inst_2)) S R (NonUnitalNonAssocSemiring.toMul.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u1, u1, u2} (RingHom.{u1, u2} S R (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_1)) (Semiring.toNonAssocSemiring.{u2} R _inst_2)) S R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{max u2 u1, u1, u2} (RingHom.{u1, u2} S R (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_1)) (Semiring.toNonAssocSemiring.{u2} R _inst_2)) S R (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_1)) (Semiring.toNonAssocSemiring.{u2} R _inst_2) (RingHom.instRingHomClassRingHom.{u1, u2} S R (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_1)) (Semiring.toNonAssocSemiring.{u2} R _inst_2))))) (algebraMap.{u1, u2} S R _inst_1 _inst_2 _inst_5) s))
+Case conversion may be inaccurate. Consider using '#align triv_sq_zero_ext.algebra_map_eq_inl' TrivSqZeroExt.algebraMap_eq_inl'ₓ'. -/
 theorem algebraMap_eq_inl' (s : S) : algebraMap S (tsze R M) s = inl (algebraMap S R s) :=
   rfl
 #align triv_sq_zero_ext.algebra_map_eq_inl' TrivSqZeroExt.algebraMap_eq_inl'
 
+/- warning: triv_sq_zero_ext.fst_hom -> TrivSqZeroExt.fstHom is a dubious translation:
+lean 3 declaration is
+  forall (S : Type.{u3}) (R : Type.{u1}) (M : Type.{u2}) [_inst_1 : CommSemiring.{u3} S] [_inst_2 : Semiring.{u1} R] [_inst_4 : AddCommMonoid.{u2} M] [_inst_5 : Algebra.{u3, u1} S R _inst_1 _inst_2] [_inst_7 : Module.{u3, u2} S M (CommSemiring.toSemiring.{u3} S _inst_1) _inst_4] [_inst_8 : Module.{u1, u2} R M _inst_2 _inst_4] [_inst_9 : Module.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.semiring.{u1} R _inst_2) _inst_4] [_inst_10 : SMulCommClass.{u1, u1, u2} R (MulOpposite.{u1} R) M (SMulZeroClass.toHasSmul.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} R M (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_2)))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R _inst_2) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R M _inst_2 _inst_4 _inst_8)))) (SMulZeroClass.toHasSmul.{u1, u2} (MulOpposite.{u1} R) M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} (MulOpposite.{u1} R) M (MulZeroClass.toHasZero.{u1} (MulOpposite.{u1} R) (MulZeroOneClass.toMulZeroClass.{u1} (MulOpposite.{u1} R) (MonoidWithZero.toMulZeroOneClass.{u1} (MulOpposite.{u1} R) (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_2))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R) M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_2)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.semiring.{u1} R _inst_2) _inst_4 _inst_9))))] [_inst_11 : IsScalarTower.{u3, u1, u2} S R M (SMulZeroClass.toHasSmul.{u3, u1} S R (AddZeroClass.toHasZero.{u1} R (AddMonoid.toAddZeroClass.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)))))) (SMulWithZero.toSmulZeroClass.{u3, u1} S R (MulZeroClass.toHasZero.{u3} S (MulZeroOneClass.toMulZeroClass.{u3} S (MonoidWithZero.toMulZeroOneClass.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S _inst_1))))) (AddZeroClass.toHasZero.{u1} R (AddMonoid.toAddZeroClass.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)))))) (MulActionWithZero.toSMulWithZero.{u3, u1} S R (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S _inst_1)) (AddZeroClass.toHasZero.{u1} R (AddMonoid.toAddZeroClass.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)))))) (Module.toMulActionWithZero.{u3, u1} S R (CommSemiring.toSemiring.{u3} S _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Algebra.toModule.{u3, u1} S R _inst_1 _inst_2 _inst_5))))) (SMulZeroClass.toHasSmul.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} R M (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_2)))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R _inst_2) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R M _inst_2 _inst_4 _inst_8)))) (SMulZeroClass.toHasSmul.{u3, u2} S M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u3, u2} S M (MulZeroClass.toHasZero.{u3} S (MulZeroOneClass.toMulZeroClass.{u3} S (MonoidWithZero.toMulZeroOneClass.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S _inst_1))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u3, u2} S M (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S _inst_1)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u3, u2} S M (CommSemiring.toSemiring.{u3} S _inst_1) _inst_4 _inst_7))))] [_inst_12 : IsScalarTower.{u3, u1, u2} S (MulOpposite.{u1} R) M (MulOpposite.hasSmul.{u1, u3} R S (SMulZeroClass.toHasSmul.{u3, u1} S R (AddZeroClass.toHasZero.{u1} R (AddMonoid.toAddZeroClass.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)))))) (SMulWithZero.toSmulZeroClass.{u3, u1} S R (MulZeroClass.toHasZero.{u3} S (MulZeroOneClass.toMulZeroClass.{u3} S (MonoidWithZero.toMulZeroOneClass.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S _inst_1))))) (AddZeroClass.toHasZero.{u1} R (AddMonoid.toAddZeroClass.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)))))) (MulActionWithZero.toSMulWithZero.{u3, u1} S R (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S _inst_1)) (AddZeroClass.toHasZero.{u1} R (AddMonoid.toAddZeroClass.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)))))) (Module.toMulActionWithZero.{u3, u1} S R (CommSemiring.toSemiring.{u3} S _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Algebra.toModule.{u3, u1} S R _inst_1 _inst_2 _inst_5)))))) (SMulZeroClass.toHasSmul.{u1, u2} (MulOpposite.{u1} R) M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} (MulOpposite.{u1} R) M (MulZeroClass.toHasZero.{u1} (MulOpposite.{u1} R) (MulZeroOneClass.toMulZeroClass.{u1} (MulOpposite.{u1} R) (MonoidWithZero.toMulZeroOneClass.{u1} (MulOpposite.{u1} R) (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_2))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R) M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_2)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.semiring.{u1} R _inst_2) _inst_4 _inst_9)))) (SMulZeroClass.toHasSmul.{u3, u2} S M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u3, u2} S M (MulZeroClass.toHasZero.{u3} S (MulZeroOneClass.toMulZeroClass.{u3} S (MonoidWithZero.toMulZeroOneClass.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S _inst_1))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u3, u2} S M (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S _inst_1)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u3, u2} S M (CommSemiring.toSemiring.{u3} S _inst_1) _inst_4 _inst_7))))], AlgHom.{u3, max u1 u2, u1} S (TrivSqZeroExt.{u1, u2} R M) R _inst_1 (TrivSqZeroExt.semiring.{u1, u2} R M _inst_2 _inst_4 _inst_8 _inst_9 _inst_10) _inst_2 (TrivSqZeroExt.algebra'.{u1, u2, u3} S R M _inst_1 _inst_2 _inst_4 _inst_5 _inst_7 _inst_8 _inst_9 _inst_10 _inst_11 _inst_12) _inst_5
+but is expected to have type
+  forall (S : Type.{u3}) (R : Type.{u1}) (M : Type.{u2}) [_inst_1 : CommSemiring.{u3} S] [_inst_2 : Semiring.{u1} R] [_inst_4 : AddCommMonoid.{u2} M] [_inst_5 : Algebra.{u3, u1} S R _inst_1 _inst_2] [_inst_7 : Module.{u3, u2} S M (CommSemiring.toSemiring.{u3} S _inst_1) _inst_4] [_inst_8 : Module.{u1, u2} R M _inst_2 _inst_4] [_inst_9 : Module.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.instSemiringMulOpposite.{u1} R _inst_2) _inst_4] [_inst_10 : SMulCommClass.{u1, u1, u2} R (MulOpposite.{u1} R) M (SMulZeroClass.toSMul.{u1, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} R M (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_2)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R _inst_2) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R M _inst_2 _inst_4 _inst_8)))) (SMulZeroClass.toSMul.{u1, u2} (MulOpposite.{u1} R) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.instZeroMulOpposite.{u1} R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_2))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.instMonoidWithZeroMulOpposite.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_2)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.instSemiringMulOpposite.{u1} R _inst_2) _inst_4 _inst_9))))] [_inst_11 : IsScalarTower.{u3, u1, u2} S R M (Algebra.toSMul.{u3, u1} S R _inst_1 _inst_2 _inst_5) (SMulZeroClass.toSMul.{u1, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} R M (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_2)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R _inst_2) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R M _inst_2 _inst_4 _inst_8)))) (SMulZeroClass.toSMul.{u3, u2} S M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u3, u2} S M (CommMonoidWithZero.toZero.{u3} S (CommSemiring.toCommMonoidWithZero.{u3} S _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u3, u2} S M (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u3, u2} S M (CommSemiring.toSemiring.{u3} S _inst_1) _inst_4 _inst_7))))] [_inst_12 : IsScalarTower.{u3, u1, u2} S (MulOpposite.{u1} R) M (MulOpposite.instSMulMulOpposite.{u1, u3} R S (Algebra.toSMul.{u3, u1} S R _inst_1 _inst_2 _inst_5)) (SMulZeroClass.toSMul.{u1, u2} (MulOpposite.{u1} R) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.instZeroMulOpposite.{u1} R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_2))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.instMonoidWithZeroMulOpposite.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_2)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R) M (MulOpposite.instSemiringMulOpposite.{u1} R _inst_2) _inst_4 _inst_9)))) (SMulZeroClass.toSMul.{u3, u2} S M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u3, u2} S M (CommMonoidWithZero.toZero.{u3} S (CommSemiring.toCommMonoidWithZero.{u3} S _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u3, u2} S M (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u3, u2} S M (CommSemiring.toSemiring.{u3} S _inst_1) _inst_4 _inst_7))))], AlgHom.{u3, max u2 u1, u1} S (TrivSqZeroExt.{u1, u2} R M) R _inst_1 (TrivSqZeroExt.semiring.{u1, u2} R M _inst_2 _inst_4 _inst_8 _inst_9 _inst_10) _inst_2 (TrivSqZeroExt.algebra'.{u1, u2, u3} S R M _inst_1 _inst_2 _inst_4 _inst_5 _inst_7 _inst_8 _inst_9 _inst_10 _inst_11 _inst_12) _inst_5
+Case conversion may be inaccurate. Consider using '#align triv_sq_zero_ext.fst_hom TrivSqZeroExt.fstHomₓ'. -/
 /-- The canonical `R`-algebra projection `triv_sq_zero_ext R M → R`. -/
 @[simps]
 def fstHom : tsze R M →ₐ[S] R where
@@ -794,12 +1106,24 @@ def fstHom : tsze R M →ₐ[S] R where
 
 variable {R R' S M}
 
+/- warning: triv_sq_zero_ext.alg_hom_ext -> TrivSqZeroExt.algHom_ext is a dubious translation:
+lean 3 declaration is
+  forall {R' : Type.{u1}} {M : Type.{u2}} [_inst_3 : CommSemiring.{u1} R'] [_inst_4 : AddCommMonoid.{u2} M] [_inst_13 : Module.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4] [_inst_14 : Module.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4] [_inst_15 : IsCentralScalar.{u1, u2} R' M (SMulZeroClass.toHasSmul.{u1, u2} R' M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} R' M (MulZeroClass.toHasZero.{u1} R' (MulZeroOneClass.toMulZeroClass.{u1} R' (MonoidWithZero.toMulZeroOneClass.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toHasSmul.{u1, u2} (MulOpposite.{u1} R') M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MulZeroClass.toHasZero.{u1} (MulOpposite.{u1} R') (MulZeroOneClass.toMulZeroClass.{u1} (MulOpposite.{u1} R') (MonoidWithZero.toMulZeroOneClass.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14))))] {A : Type.{u3}} [_inst_17 : Semiring.{u3} A] [_inst_18 : Algebra.{u1, u3} R' A _inst_3 _inst_17] {{f : AlgHom.{u1, max u1 u2, u3} R' (TrivSqZeroExt.{u1, u2} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u1, u1, u2} R' _inst_3 (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (MulOpposite.algebra.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u1, u1, u2} R' R' M (SMulZeroClass.toHasSmul.{u1, u2} R' M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} R' M (MulZeroClass.toHasZero.{u1} R' (MulZeroOneClass.toMulZeroClass.{u1} R' (MonoidWithZero.toMulZeroOneClass.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (Mul.toSMul.{u1} R' (Distrib.toHasMul.{u1} R' (NonUnitalNonAssocSemiring.toDistrib.{u1} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (MulAction.toHasSmul.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13))) (SMulZeroClass.toHasSmul.{u1, u2} (MulOpposite.{u1} R') M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MulZeroClass.toHasZero.{u1} (MulOpposite.{u1} R') (MulZeroOneClass.toMulZeroClass.{u1} (MulOpposite.{u1} R') (MonoidWithZero.toMulZeroOneClass.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.algebra.{u1, u2} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18}} {{g : AlgHom.{u1, max u1 u2, u3} R' (TrivSqZeroExt.{u1, u2} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u1, u1, u2} R' _inst_3 (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (MulOpposite.algebra.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u1, u1, u2} R' R' M (SMulZeroClass.toHasSmul.{u1, u2} R' M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} R' M (MulZeroClass.toHasZero.{u1} R' (MulZeroOneClass.toMulZeroClass.{u1} R' (MonoidWithZero.toMulZeroOneClass.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (Mul.toSMul.{u1} R' (Distrib.toHasMul.{u1} R' (NonUnitalNonAssocSemiring.toDistrib.{u1} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (MulAction.toHasSmul.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13))) (SMulZeroClass.toHasSmul.{u1, u2} (MulOpposite.{u1} R') M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MulZeroClass.toHasZero.{u1} (MulOpposite.{u1} R') (MulZeroOneClass.toMulZeroClass.{u1} (MulOpposite.{u1} R') (MonoidWithZero.toMulZeroOneClass.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.algebra.{u1, u2} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18}}, (forall (m : M), Eq.{succ u3} A (coeFn.{max (succ (max u1 u2)) (succ u3), max (succ (max u1 u2)) (succ u3)} (AlgHom.{u1, max u1 u2, u3} R' (TrivSqZeroExt.{u1, u2} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u1, u1, u2} R' _inst_3 (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (MulOpposite.algebra.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u1, u1, u2} R' R' M (SMulZeroClass.toHasSmul.{u1, u2} R' M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} R' M (MulZeroClass.toHasZero.{u1} R' (MulZeroOneClass.toMulZeroClass.{u1} R' (MonoidWithZero.toMulZeroOneClass.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (Mul.toSMul.{u1} R' (Distrib.toHasMul.{u1} R' (NonUnitalNonAssocSemiring.toDistrib.{u1} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (MulAction.toHasSmul.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13))) (SMulZeroClass.toHasSmul.{u1, u2} (MulOpposite.{u1} R') M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MulZeroClass.toHasZero.{u1} (MulOpposite.{u1} R') (MulZeroOneClass.toMulZeroClass.{u1} (MulOpposite.{u1} R') (MonoidWithZero.toMulZeroOneClass.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.algebra.{u1, u2} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18) (fun (_x : AlgHom.{u1, max u1 u2, u3} R' (TrivSqZeroExt.{u1, u2} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u1, u1, u2} R' _inst_3 (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (MulOpposite.algebra.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u1, u1, u2} R' R' M (SMulZeroClass.toHasSmul.{u1, u2} R' M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} R' M (MulZeroClass.toHasZero.{u1} R' (MulZeroOneClass.toMulZeroClass.{u1} R' (MonoidWithZero.toMulZeroOneClass.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (Mul.toSMul.{u1} R' (Distrib.toHasMul.{u1} R' (NonUnitalNonAssocSemiring.toDistrib.{u1} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (MulAction.toHasSmul.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13))) (SMulZeroClass.toHasSmul.{u1, u2} (MulOpposite.{u1} R') M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MulZeroClass.toHasZero.{u1} (MulOpposite.{u1} R') (MulZeroOneClass.toMulZeroClass.{u1} (MulOpposite.{u1} R') (MonoidWithZero.toMulZeroOneClass.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.algebra.{u1, u2} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18) => (TrivSqZeroExt.{u1, u2} R' M) -> A) ([anonymous].{u1, max u1 u2, u3} R' (TrivSqZeroExt.{u1, u2} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u1, u1, u2} R' _inst_3 (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (MulOpposite.algebra.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u1, u1, u2} R' R' M (SMulZeroClass.toHasSmul.{u1, u2} R' M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} R' M (MulZeroClass.toHasZero.{u1} R' (MulZeroOneClass.toMulZeroClass.{u1} R' (MonoidWithZero.toMulZeroOneClass.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (Mul.toSMul.{u1} R' (Distrib.toHasMul.{u1} R' (NonUnitalNonAssocSemiring.toDistrib.{u1} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (MulAction.toHasSmul.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13))) (SMulZeroClass.toHasSmul.{u1, u2} (MulOpposite.{u1} R') M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MulZeroClass.toHasZero.{u1} (MulOpposite.{u1} R') (MulZeroOneClass.toMulZeroClass.{u1} (MulOpposite.{u1} R') (MonoidWithZero.toMulZeroOneClass.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.algebra.{u1, u2} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18) f (TrivSqZeroExt.inr.{u1, u2} R' M (MulZeroClass.toHasZero.{u1} R' (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))))) m)) (coeFn.{max (succ (max u1 u2)) (succ u3), max (succ (max u1 u2)) (succ u3)} (AlgHom.{u1, max u1 u2, u3} R' (TrivSqZeroExt.{u1, u2} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u1, u1, u2} R' _inst_3 (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (MulOpposite.algebra.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u1, u1, u2} R' R' M (SMulZeroClass.toHasSmul.{u1, u2} R' M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} R' M (MulZeroClass.toHasZero.{u1} R' (MulZeroOneClass.toMulZeroClass.{u1} R' (MonoidWithZero.toMulZeroOneClass.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (Mul.toSMul.{u1} R' (Distrib.toHasMul.{u1} R' (NonUnitalNonAssocSemiring.toDistrib.{u1} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (MulAction.toHasSmul.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13))) (SMulZeroClass.toHasSmul.{u1, u2} (MulOpposite.{u1} R') M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MulZeroClass.toHasZero.{u1} (MulOpposite.{u1} R') (MulZeroOneClass.toMulZeroClass.{u1} (MulOpposite.{u1} R') (MonoidWithZero.toMulZeroOneClass.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.algebra.{u1, u2} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18) (fun (_x : AlgHom.{u1, max u1 u2, u3} R' (TrivSqZeroExt.{u1, u2} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u1, u1, u2} R' _inst_3 (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (MulOpposite.algebra.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u1, u1, u2} R' R' M (SMulZeroClass.toHasSmul.{u1, u2} R' M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} R' M (MulZeroClass.toHasZero.{u1} R' (MulZeroOneClass.toMulZeroClass.{u1} R' (MonoidWithZero.toMulZeroOneClass.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (Mul.toSMul.{u1} R' (Distrib.toHasMul.{u1} R' (NonUnitalNonAssocSemiring.toDistrib.{u1} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (MulAction.toHasSmul.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13))) (SMulZeroClass.toHasSmul.{u1, u2} (MulOpposite.{u1} R') M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MulZeroClass.toHasZero.{u1} (MulOpposite.{u1} R') (MulZeroOneClass.toMulZeroClass.{u1} (MulOpposite.{u1} R') (MonoidWithZero.toMulZeroOneClass.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.algebra.{u1, u2} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18) => (TrivSqZeroExt.{u1, u2} R' M) -> A) ([anonymous].{u1, max u1 u2, u3} R' (TrivSqZeroExt.{u1, u2} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u1, u1, u2} R' _inst_3 (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (MulOpposite.algebra.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u1, u1, u2} R' R' M (SMulZeroClass.toHasSmul.{u1, u2} R' M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} R' M (MulZeroClass.toHasZero.{u1} R' (MulZeroOneClass.toMulZeroClass.{u1} R' (MonoidWithZero.toMulZeroOneClass.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (Mul.toSMul.{u1} R' (Distrib.toHasMul.{u1} R' (NonUnitalNonAssocSemiring.toDistrib.{u1} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (MulAction.toHasSmul.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13))) (SMulZeroClass.toHasSmul.{u1, u2} (MulOpposite.{u1} R') M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MulZeroClass.toHasZero.{u1} (MulOpposite.{u1} R') (MulZeroOneClass.toMulZeroClass.{u1} (MulOpposite.{u1} R') (MonoidWithZero.toMulZeroOneClass.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.algebra.{u1, u2} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18) g (TrivSqZeroExt.inr.{u1, u2} R' M (MulZeroClass.toHasZero.{u1} R' (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))))) m))) -> (Eq.{max (succ (max u1 u2)) (succ u3)} (AlgHom.{u1, max u1 u2, u3} R' (TrivSqZeroExt.{u1, u2} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u1, u1, u2} R' _inst_3 (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (MulOpposite.algebra.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u1, u1, u2} R' R' M (SMulZeroClass.toHasSmul.{u1, u2} R' M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} R' M (MulZeroClass.toHasZero.{u1} R' (MulZeroOneClass.toMulZeroClass.{u1} R' (MonoidWithZero.toMulZeroOneClass.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (Mul.toSMul.{u1} R' (Distrib.toHasMul.{u1} R' (NonUnitalNonAssocSemiring.toDistrib.{u1} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (MulAction.toHasSmul.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13))) (SMulZeroClass.toHasSmul.{u1, u2} (MulOpposite.{u1} R') M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MulZeroClass.toHasZero.{u1} (MulOpposite.{u1} R') (MulZeroOneClass.toMulZeroClass.{u1} (MulOpposite.{u1} R') (MonoidWithZero.toMulZeroOneClass.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.algebra.{u1, u2} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18) f g)
+but is expected to have type
+  forall {R' : Type.{u2}} {M : Type.{u3}} [_inst_3 : CommSemiring.{u2} R'] [_inst_4 : AddCommMonoid.{u3} M] [_inst_13 : Module.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4] [_inst_14 : Module.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4] [_inst_15 : IsCentralScalar.{u2, u3} R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.instZeroMulOpposite.{u2} R' (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.instMonoidWithZeroMulOpposite.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14))))] {A : Type.{u1}} [_inst_17 : Semiring.{u1} A] [_inst_18 : Algebra.{u2, u1} R' A _inst_3 _inst_17] {{f : AlgHom.{u2, max u3 u2, u1} R' (TrivSqZeroExt.{u2, u3} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeInstSemiringMulOpposite.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeInstSemiringMulOppositeInstAlgebraMulOppositeInstSemiringMulOppositeIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18}} {{g : AlgHom.{u2, max u3 u2, u1} R' (TrivSqZeroExt.{u2, u3} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeInstSemiringMulOpposite.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeInstSemiringMulOppositeInstAlgebraMulOppositeInstSemiringMulOppositeIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18}}, (forall (m : M), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : TrivSqZeroExt.{u2, u3} R' M) => A) (TrivSqZeroExt.inr.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) m)) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u3), succ u1} (AlgHom.{u2, max u3 u2, u1} R' (TrivSqZeroExt.{u2, u3} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeInstSemiringMulOpposite.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeInstSemiringMulOppositeInstAlgebraMulOppositeInstSemiringMulOppositeIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18) (TrivSqZeroExt.{u2, u3} R' M) (fun (_x : TrivSqZeroExt.{u2, u3} R' M) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : TrivSqZeroExt.{u2, u3} R' M) => A) _x) (SMulHomClass.toFunLike.{max (max u2 u3) u1, u2, max u2 u3, u1} (AlgHom.{u2, max u3 u2, u1} R' (TrivSqZeroExt.{u2, u3} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeInstSemiringMulOpposite.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeInstSemiringMulOppositeInstAlgebraMulOppositeInstSemiringMulOppositeIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18) R' (TrivSqZeroExt.{u2, u3} R' M) A (SMulZeroClass.toSMul.{u2, max u2 u3} R' (TrivSqZeroExt.{u2, u3} R' M) (AddMonoid.toZero.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (AddCommMonoid.toAddMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (Semiring.toNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeInstSemiringMulOpposite.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13))))))))))) (DistribSMul.toSMulZeroClass.{u2, max u2 u3} R' (TrivSqZeroExt.{u2, u3} R' M) (AddMonoid.toAddZeroClass.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (AddCommMonoid.toAddMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (Semiring.toNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeInstSemiringMulOpposite.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13))))))))))) (DistribMulAction.toDistribSMul.{u2, max u2 u3} R' (TrivSqZeroExt.{u2, u3} R' M) (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddCommMonoid.toAddMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (Semiring.toNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeInstSemiringMulOpposite.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))))))) (Module.toDistribMulAction.{u2, max u2 u3} R' (TrivSqZeroExt.{u2, u3} R' M) (CommSemiring.toSemiring.{u2} R' _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (Semiring.toNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeInstSemiringMulOpposite.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13))))))))) (Algebra.toModule.{u2, max u2 u3} R' (TrivSqZeroExt.{u2, u3} R' M) _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeInstSemiringMulOpposite.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeInstSemiringMulOppositeInstAlgebraMulOppositeInstSemiringMulOppositeIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15)))))) (SMulZeroClass.toSMul.{u2, u1} R' A (AddMonoid.toZero.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))))) (DistribSMul.toSMulZeroClass.{u2, u1} R' A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))))) (DistribMulAction.toDistribSMul.{u2, u1} R' A (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17)))) (Module.toDistribMulAction.{u2, u1} R' A (CommSemiring.toSemiring.{u2} R' _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))) (Algebra.toModule.{u2, u1} R' A _inst_3 _inst_17 _inst_18))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u2 u3) u1, u2, max u2 u3, u1} (AlgHom.{u2, max u3 u2, u1} R' (TrivSqZeroExt.{u2, u3} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeInstSemiringMulOpposite.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeInstSemiringMulOppositeInstAlgebraMulOppositeInstSemiringMulOppositeIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18) R' (TrivSqZeroExt.{u2, u3} R' M) A (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddCommMonoid.toAddMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (Semiring.toNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeInstSemiringMulOpposite.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))))))) (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17)))) (Module.toDistribMulAction.{u2, max u2 u3} R' (TrivSqZeroExt.{u2, u3} R' M) (CommSemiring.toSemiring.{u2} R' _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (Semiring.toNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeInstSemiringMulOpposite.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13))))))))) (Algebra.toModule.{u2, max u2 u3} R' (TrivSqZeroExt.{u2, u3} R' M) _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeInstSemiringMulOpposite.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeInstSemiringMulOppositeInstAlgebraMulOppositeInstSemiringMulOppositeIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15))) (Module.toDistribMulAction.{u2, u1} R' A (CommSemiring.toSemiring.{u2} R' _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))) (Algebra.toModule.{u2, u1} R' A _inst_3 _inst_17 _inst_18)) (SemilinearMapClass.distribMulActionHomClass.{u2, max u2 u3, u1, max (max u2 u3) u1} R' (TrivSqZeroExt.{u2, u3} R' M) A (AlgHom.{u2, max u3 u2, u1} R' (TrivSqZeroExt.{u2, u3} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeInstSemiringMulOpposite.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeInstSemiringMulOppositeInstAlgebraMulOppositeInstSemiringMulOppositeIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18) (CommSemiring.toSemiring.{u2} R' _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (Semiring.toNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeInstSemiringMulOpposite.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13))))))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))) (Algebra.toModule.{u2, max u2 u3} R' (TrivSqZeroExt.{u2, u3} R' M) _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeInstSemiringMulOpposite.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeInstSemiringMulOppositeInstAlgebraMulOppositeInstSemiringMulOppositeIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15)) (Algebra.toModule.{u2, u1} R' A _inst_3 _inst_17 _inst_18) (AlgHomClass.linearMapClass.{u2, max u2 u3, u1, max (max u2 u3) u1} R' (TrivSqZeroExt.{u2, u3} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeInstSemiringMulOpposite.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeInstSemiringMulOppositeInstAlgebraMulOppositeInstSemiringMulOppositeIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18 (AlgHom.{u2, max u3 u2, u1} R' (TrivSqZeroExt.{u2, u3} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeInstSemiringMulOpposite.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeInstSemiringMulOppositeInstAlgebraMulOppositeInstSemiringMulOppositeIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18) (AlgHom.algHomClass.{u2, max u2 u3, u1} R' (TrivSqZeroExt.{u2, u3} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeInstSemiringMulOpposite.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeInstSemiringMulOppositeInstAlgebraMulOppositeInstSemiringMulOppositeIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18))))) f (TrivSqZeroExt.inr.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) m)) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u3), succ u1} (AlgHom.{u2, max u3 u2, u1} R' (TrivSqZeroExt.{u2, u3} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeInstSemiringMulOpposite.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeInstSemiringMulOppositeInstAlgebraMulOppositeInstSemiringMulOppositeIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18) (TrivSqZeroExt.{u2, u3} R' M) (fun (_x : TrivSqZeroExt.{u2, u3} R' M) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : TrivSqZeroExt.{u2, u3} R' M) => A) _x) (SMulHomClass.toFunLike.{max (max u2 u3) u1, u2, max u2 u3, u1} (AlgHom.{u2, max u3 u2, u1} R' (TrivSqZeroExt.{u2, u3} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeInstSemiringMulOpposite.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeInstSemiringMulOppositeInstAlgebraMulOppositeInstSemiringMulOppositeIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18) R' (TrivSqZeroExt.{u2, u3} R' M) A (SMulZeroClass.toSMul.{u2, max u2 u3} R' (TrivSqZeroExt.{u2, u3} R' M) (AddMonoid.toZero.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (AddCommMonoid.toAddMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (Semiring.toNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeInstSemiringMulOpposite.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13))))))))))) (DistribSMul.toSMulZeroClass.{u2, max u2 u3} R' (TrivSqZeroExt.{u2, u3} R' M) (AddMonoid.toAddZeroClass.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (AddCommMonoid.toAddMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (Semiring.toNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeInstSemiringMulOpposite.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13))))))))))) (DistribMulAction.toDistribSMul.{u2, max u2 u3} R' (TrivSqZeroExt.{u2, u3} R' M) (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddCommMonoid.toAddMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (Semiring.toNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeInstSemiringMulOpposite.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))))))) (Module.toDistribMulAction.{u2, max u2 u3} R' (TrivSqZeroExt.{u2, u3} R' M) (CommSemiring.toSemiring.{u2} R' _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (Semiring.toNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeInstSemiringMulOpposite.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13))))))))) (Algebra.toModule.{u2, max u2 u3} R' (TrivSqZeroExt.{u2, u3} R' M) _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeInstSemiringMulOpposite.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeInstSemiringMulOppositeInstAlgebraMulOppositeInstSemiringMulOppositeIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15)))))) (SMulZeroClass.toSMul.{u2, u1} R' A (AddMonoid.toZero.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))))) (DistribSMul.toSMulZeroClass.{u2, u1} R' A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))))) (DistribMulAction.toDistribSMul.{u2, u1} R' A (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17)))) (Module.toDistribMulAction.{u2, u1} R' A (CommSemiring.toSemiring.{u2} R' _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))) (Algebra.toModule.{u2, u1} R' A _inst_3 _inst_17 _inst_18))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u2 u3) u1, u2, max u2 u3, u1} (AlgHom.{u2, max u3 u2, u1} R' (TrivSqZeroExt.{u2, u3} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeInstSemiringMulOpposite.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeInstSemiringMulOppositeInstAlgebraMulOppositeInstSemiringMulOppositeIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18) R' (TrivSqZeroExt.{u2, u3} R' M) A (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddCommMonoid.toAddMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (Semiring.toNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeInstSemiringMulOpposite.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))))))) (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17)))) (Module.toDistribMulAction.{u2, max u2 u3} R' (TrivSqZeroExt.{u2, u3} R' M) (CommSemiring.toSemiring.{u2} R' _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (Semiring.toNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeInstSemiringMulOpposite.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13))))))))) (Algebra.toModule.{u2, max u2 u3} R' (TrivSqZeroExt.{u2, u3} R' M) _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeInstSemiringMulOpposite.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeInstSemiringMulOppositeInstAlgebraMulOppositeInstSemiringMulOppositeIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15))) (Module.toDistribMulAction.{u2, u1} R' A (CommSemiring.toSemiring.{u2} R' _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))) (Algebra.toModule.{u2, u1} R' A _inst_3 _inst_17 _inst_18)) (SemilinearMapClass.distribMulActionHomClass.{u2, max u2 u3, u1, max (max u2 u3) u1} R' (TrivSqZeroExt.{u2, u3} R' M) A (AlgHom.{u2, max u3 u2, u1} R' (TrivSqZeroExt.{u2, u3} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeInstSemiringMulOpposite.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeInstSemiringMulOppositeInstAlgebraMulOppositeInstSemiringMulOppositeIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18) (CommSemiring.toSemiring.{u2} R' _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (Semiring.toNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeInstSemiringMulOpposite.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13))))))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))) (Algebra.toModule.{u2, max u2 u3} R' (TrivSqZeroExt.{u2, u3} R' M) _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeInstSemiringMulOpposite.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeInstSemiringMulOppositeInstAlgebraMulOppositeInstSemiringMulOppositeIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15)) (Algebra.toModule.{u2, u1} R' A _inst_3 _inst_17 _inst_18) (AlgHomClass.linearMapClass.{u2, max u2 u3, u1, max (max u2 u3) u1} R' (TrivSqZeroExt.{u2, u3} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeInstSemiringMulOpposite.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeInstSemiringMulOppositeInstAlgebraMulOppositeInstSemiringMulOppositeIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18 (AlgHom.{u2, max u3 u2, u1} R' (TrivSqZeroExt.{u2, u3} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeInstSemiringMulOpposite.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeInstSemiringMulOppositeInstAlgebraMulOppositeInstSemiringMulOppositeIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18) (AlgHom.algHomClass.{u2, max u2 u3, u1} R' (TrivSqZeroExt.{u2, u3} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeInstSemiringMulOpposite.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeInstSemiringMulOppositeInstAlgebraMulOppositeInstSemiringMulOppositeIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18))))) g (TrivSqZeroExt.inr.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) m))) -> (Eq.{max (max (succ u2) (succ u3)) (succ u1)} (AlgHom.{u2, max u3 u2, u1} R' (TrivSqZeroExt.{u2, u3} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeInstSemiringMulOpposite.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeInstSemiringMulOppositeInstAlgebraMulOppositeInstSemiringMulOppositeIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18) f g)
+Case conversion may be inaccurate. Consider using '#align triv_sq_zero_ext.alg_hom_ext TrivSqZeroExt.algHom_extₓ'. -/
 theorem algHom_ext {A} [Semiring A] [Algebra R' A] ⦃f g : tsze R' M →ₐ[R'] A⦄
     (h : ∀ m, f (inr m) = g (inr m)) : f = g :=
   AlgHom.toLinearMap_injective <|
     linearMap_ext (fun r => (f.commutes _).trans (g.commutes _).symm) h
 #align triv_sq_zero_ext.alg_hom_ext TrivSqZeroExt.algHom_ext
 
+/- warning: triv_sq_zero_ext.alg_hom_ext' -> TrivSqZeroExt.algHom_ext' is a dubious translation:
+lean 3 declaration is
+  forall {R' : Type.{u1}} {M : Type.{u2}} [_inst_3 : CommSemiring.{u1} R'] [_inst_4 : AddCommMonoid.{u2} M] [_inst_13 : Module.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4] [_inst_14 : Module.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4] [_inst_15 : IsCentralScalar.{u1, u2} R' M (SMulZeroClass.toHasSmul.{u1, u2} R' M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} R' M (MulZeroClass.toHasZero.{u1} R' (MulZeroOneClass.toMulZeroClass.{u1} R' (MonoidWithZero.toMulZeroOneClass.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toHasSmul.{u1, u2} (MulOpposite.{u1} R') M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MulZeroClass.toHasZero.{u1} (MulOpposite.{u1} R') (MulZeroOneClass.toMulZeroClass.{u1} (MulOpposite.{u1} R') (MonoidWithZero.toMulZeroOneClass.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14))))] {A : Type.{u3}} [_inst_17 : Semiring.{u3} A] [_inst_18 : Algebra.{u1, u3} R' A _inst_3 _inst_17] {{f : AlgHom.{u1, max u1 u2, u3} R' (TrivSqZeroExt.{u1, u2} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u1, u1, u2} R' _inst_3 (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (MulOpposite.algebra.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u1, u1, u2} R' R' M (SMulZeroClass.toHasSmul.{u1, u2} R' M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} R' M (MulZeroClass.toHasZero.{u1} R' (MulZeroOneClass.toMulZeroClass.{u1} R' (MonoidWithZero.toMulZeroOneClass.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (Mul.toSMul.{u1} R' (Distrib.toHasMul.{u1} R' (NonUnitalNonAssocSemiring.toDistrib.{u1} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (MulAction.toHasSmul.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13))) (SMulZeroClass.toHasSmul.{u1, u2} (MulOpposite.{u1} R') M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MulZeroClass.toHasZero.{u1} (MulOpposite.{u1} R') (MulZeroOneClass.toMulZeroClass.{u1} (MulOpposite.{u1} R') (MonoidWithZero.toMulZeroOneClass.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.algebra.{u1, u2} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18}} {{g : AlgHom.{u1, max u1 u2, u3} R' (TrivSqZeroExt.{u1, u2} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u1, u1, u2} R' _inst_3 (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (MulOpposite.algebra.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u1, u1, u2} R' R' M (SMulZeroClass.toHasSmul.{u1, u2} R' M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} R' M (MulZeroClass.toHasZero.{u1} R' (MulZeroOneClass.toMulZeroClass.{u1} R' (MonoidWithZero.toMulZeroOneClass.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (Mul.toSMul.{u1} R' (Distrib.toHasMul.{u1} R' (NonUnitalNonAssocSemiring.toDistrib.{u1} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (MulAction.toHasSmul.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13))) (SMulZeroClass.toHasSmul.{u1, u2} (MulOpposite.{u1} R') M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MulZeroClass.toHasZero.{u1} (MulOpposite.{u1} R') (MulZeroOneClass.toMulZeroClass.{u1} (MulOpposite.{u1} R') (MonoidWithZero.toMulZeroOneClass.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.algebra.{u1, u2} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18}}, (Eq.{max (succ u2) (succ u3)} (LinearMap.{u1, u1, u2, u3} R' R' (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18)) (LinearMap.comp.{u1, u1, u1, u2, max u1 u2, u3} R' R' R' M (TrivSqZeroExt.{u1, u2} R' M) A (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u2} (TrivSqZeroExt.{u1, u2} R' M) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (TrivSqZeroExt.{u1, u2} R' M) (Semiring.toNonAssocSemiring.{max u1 u2} (TrivSqZeroExt.{u1, u2} R' M) (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u1, u1, u2} R' _inst_3 (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (MulOpposite.algebra.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u1, u1, u2} R' R' M (SMulZeroClass.toHasSmul.{u1, u2} R' M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} R' M (MulZeroClass.toHasZero.{u1} R' (MulZeroOneClass.toMulZeroClass.{u1} R' (MonoidWithZero.toMulZeroOneClass.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (Mul.toSMul.{u1} R' (Distrib.toHasMul.{u1} R' (NonUnitalNonAssocSemiring.toDistrib.{u1} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (MulAction.toHasSmul.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13))) (SMulZeroClass.toHasSmul.{u1, u2} (MulOpposite.{u1} R') M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MulZeroClass.toHasZero.{u1} (MulOpposite.{u1} R') (MulZeroOneClass.toMulZeroClass.{u1} (MulOpposite.{u1} R') (MonoidWithZero.toMulZeroOneClass.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13))))))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, max u1 u2} R' (TrivSqZeroExt.{u1, u2} R' M) _inst_3 (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u1, u1, u2} R' _inst_3 (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (MulOpposite.algebra.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u1, u1, u2} R' R' M (SMulZeroClass.toHasSmul.{u1, u2} R' M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} R' M (MulZeroClass.toHasZero.{u1} R' (MulZeroOneClass.toMulZeroClass.{u1} R' (MonoidWithZero.toMulZeroOneClass.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (Mul.toSMul.{u1} R' (Distrib.toHasMul.{u1} R' (NonUnitalNonAssocSemiring.toDistrib.{u1} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (MulAction.toHasSmul.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13))) (SMulZeroClass.toHasSmul.{u1, u2} (MulOpposite.{u1} R') M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MulZeroClass.toHasZero.{u1} (MulOpposite.{u1} R') (MulZeroOneClass.toMulZeroClass.{u1} (MulOpposite.{u1} R') (MonoidWithZero.toMulZeroOneClass.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))))) (TrivSqZeroExt.algebra.{u1, u2} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15)) (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (RingHomCompTriple.right_ids.{u1, u1} R' R' (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))) (AlgHom.toLinearMap.{u1, max u1 u2, u3} R' (TrivSqZeroExt.{u1, u2} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u1, u1, u2} R' _inst_3 (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (MulOpposite.algebra.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u1, u1, u2} R' R' M (SMulZeroClass.toHasSmul.{u1, u2} R' M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} R' M (MulZeroClass.toHasZero.{u1} R' (MulZeroOneClass.toMulZeroClass.{u1} R' (MonoidWithZero.toMulZeroOneClass.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (Mul.toSMul.{u1} R' (Distrib.toHasMul.{u1} R' (NonUnitalNonAssocSemiring.toDistrib.{u1} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (MulAction.toHasSmul.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13))) (SMulZeroClass.toHasSmul.{u1, u2} (MulOpposite.{u1} R') M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MulZeroClass.toHasZero.{u1} (MulOpposite.{u1} R') (MulZeroOneClass.toMulZeroClass.{u1} (MulOpposite.{u1} R') (MonoidWithZero.toMulZeroOneClass.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.algebra.{u1, u2} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18 f) (TrivSqZeroExt.inrHom.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)) (LinearMap.comp.{u1, u1, u1, u2, max u1 u2, u3} R' R' R' M (TrivSqZeroExt.{u1, u2} R' M) A (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u2} (TrivSqZeroExt.{u1, u2} R' M) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (TrivSqZeroExt.{u1, u2} R' M) (Semiring.toNonAssocSemiring.{max u1 u2} (TrivSqZeroExt.{u1, u2} R' M) (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u1, u1, u2} R' _inst_3 (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (MulOpposite.algebra.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u1, u1, u2} R' R' M (SMulZeroClass.toHasSmul.{u1, u2} R' M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} R' M (MulZeroClass.toHasZero.{u1} R' (MulZeroOneClass.toMulZeroClass.{u1} R' (MonoidWithZero.toMulZeroOneClass.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (Mul.toSMul.{u1} R' (Distrib.toHasMul.{u1} R' (NonUnitalNonAssocSemiring.toDistrib.{u1} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (MulAction.toHasSmul.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13))) (SMulZeroClass.toHasSmul.{u1, u2} (MulOpposite.{u1} R') M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MulZeroClass.toHasZero.{u1} (MulOpposite.{u1} R') (MulZeroOneClass.toMulZeroClass.{u1} (MulOpposite.{u1} R') (MonoidWithZero.toMulZeroOneClass.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13))))))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, max u1 u2} R' (TrivSqZeroExt.{u1, u2} R' M) _inst_3 (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u1, u1, u2} R' _inst_3 (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (MulOpposite.algebra.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u1, u1, u2} R' R' M (SMulZeroClass.toHasSmul.{u1, u2} R' M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} R' M (MulZeroClass.toHasZero.{u1} R' (MulZeroOneClass.toMulZeroClass.{u1} R' (MonoidWithZero.toMulZeroOneClass.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (Mul.toSMul.{u1} R' (Distrib.toHasMul.{u1} R' (NonUnitalNonAssocSemiring.toDistrib.{u1} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (MulAction.toHasSmul.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13))) (SMulZeroClass.toHasSmul.{u1, u2} (MulOpposite.{u1} R') M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MulZeroClass.toHasZero.{u1} (MulOpposite.{u1} R') (MulZeroOneClass.toMulZeroClass.{u1} (MulOpposite.{u1} R') (MonoidWithZero.toMulZeroOneClass.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))))) (TrivSqZeroExt.algebra.{u1, u2} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15)) (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (RingHomCompTriple.right_ids.{u1, u1} R' R' (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))) (AlgHom.toLinearMap.{u1, max u1 u2, u3} R' (TrivSqZeroExt.{u1, u2} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u1, u1, u2} R' _inst_3 (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (MulOpposite.algebra.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u1, u1, u2} R' R' M (SMulZeroClass.toHasSmul.{u1, u2} R' M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} R' M (MulZeroClass.toHasZero.{u1} R' (MulZeroOneClass.toMulZeroClass.{u1} R' (MonoidWithZero.toMulZeroOneClass.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (Mul.toSMul.{u1} R' (Distrib.toHasMul.{u1} R' (NonUnitalNonAssocSemiring.toDistrib.{u1} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (MulAction.toHasSmul.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13))) (SMulZeroClass.toHasSmul.{u1, u2} (MulOpposite.{u1} R') M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MulZeroClass.toHasZero.{u1} (MulOpposite.{u1} R') (MulZeroOneClass.toMulZeroClass.{u1} (MulOpposite.{u1} R') (MonoidWithZero.toMulZeroOneClass.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.algebra.{u1, u2} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18 g) (TrivSqZeroExt.inrHom.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13))) -> (Eq.{max (succ (max u1 u2)) (succ u3)} (AlgHom.{u1, max u1 u2, u3} R' (TrivSqZeroExt.{u1, u2} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u1, u1, u2} R' _inst_3 (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (MulOpposite.algebra.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u1, u1, u2} R' R' M (SMulZeroClass.toHasSmul.{u1, u2} R' M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} R' M (MulZeroClass.toHasZero.{u1} R' (MulZeroOneClass.toMulZeroClass.{u1} R' (MonoidWithZero.toMulZeroOneClass.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (Mul.toSMul.{u1} R' (Distrib.toHasMul.{u1} R' (NonUnitalNonAssocSemiring.toDistrib.{u1} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (MulAction.toHasSmul.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13))) (SMulZeroClass.toHasSmul.{u1, u2} (MulOpposite.{u1} R') M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MulZeroClass.toHasZero.{u1} (MulOpposite.{u1} R') (MulZeroOneClass.toMulZeroClass.{u1} (MulOpposite.{u1} R') (MonoidWithZero.toMulZeroOneClass.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.algebra.{u1, u2} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18) f g)
+but is expected to have type
+  forall {R' : Type.{u2}} {M : Type.{u3}} [_inst_3 : CommSemiring.{u2} R'] [_inst_4 : AddCommMonoid.{u3} M] [_inst_13 : Module.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4] [_inst_14 : Module.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4] [_inst_15 : IsCentralScalar.{u2, u3} R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.instZeroMulOpposite.{u2} R' (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.instMonoidWithZeroMulOpposite.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14))))] {A : Type.{u1}} [_inst_17 : Semiring.{u1} A] [_inst_18 : Algebra.{u2, u1} R' A _inst_3 _inst_17] {{f : AlgHom.{u2, max u3 u2, u1} R' (TrivSqZeroExt.{u2, u3} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeInstSemiringMulOpposite.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeInstSemiringMulOppositeInstAlgebraMulOppositeInstSemiringMulOppositeIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18}} {{g : AlgHom.{u2, max u3 u2, u1} R' (TrivSqZeroExt.{u2, u3} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeInstSemiringMulOpposite.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeInstSemiringMulOppositeInstAlgebraMulOppositeInstSemiringMulOppositeIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18}}, (Eq.{max (succ u3) (succ u1)} (LinearMap.{u2, u2, u3, u1} R' R' (CommSemiring.toSemiring.{u2} R' _inst_3) (CommSemiring.toSemiring.{u2} R' _inst_3) (RingHom.id.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))) _inst_13 (Algebra.toModule.{u2, u1} R' A _inst_3 _inst_17 _inst_18)) (LinearMap.comp.{u2, u2, u2, u3, max u2 u3, u1} R' R' R' M (TrivSqZeroExt.{u2, u3} R' M) A (CommSemiring.toSemiring.{u2} R' _inst_3) (CommSemiring.toSemiring.{u2} R' _inst_3) (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (Semiring.toNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeInstSemiringMulOpposite.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13))))))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))) _inst_13 (Algebra.toModule.{u2, max u2 u3} R' (TrivSqZeroExt.{u2, u3} R' M) _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeInstSemiringMulOpposite.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeInstSemiringMulOppositeInstAlgebraMulOppositeInstSemiringMulOppositeIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15)) (Algebra.toModule.{u2, u1} R' A _inst_3 _inst_17 _inst_18) (RingHom.id.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (RingHom.id.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (RingHom.id.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (RingHomCompTriple.ids.{u2, u2} R' R' (CommSemiring.toSemiring.{u2} R' _inst_3) (CommSemiring.toSemiring.{u2} R' _inst_3) (RingHom.id.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AlgHom.toLinearMap.{u2, max u2 u3, u1} R' (TrivSqZeroExt.{u2, u3} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeInstSemiringMulOpposite.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeInstSemiringMulOppositeInstAlgebraMulOppositeInstSemiringMulOppositeIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18 f) (TrivSqZeroExt.inrHom.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)) (LinearMap.comp.{u2, u2, u2, u3, max u2 u3, u1} R' R' R' M (TrivSqZeroExt.{u2, u3} R' M) A (CommSemiring.toSemiring.{u2} R' _inst_3) (CommSemiring.toSemiring.{u2} R' _inst_3) (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (Semiring.toNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeInstSemiringMulOpposite.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13))))))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))) _inst_13 (Algebra.toModule.{u2, max u2 u3} R' (TrivSqZeroExt.{u2, u3} R' M) _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeInstSemiringMulOpposite.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeInstSemiringMulOppositeInstAlgebraMulOppositeInstSemiringMulOppositeIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15)) (Algebra.toModule.{u2, u1} R' A _inst_3 _inst_17 _inst_18) (RingHom.id.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (RingHom.id.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (RingHom.id.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (RingHomCompTriple.ids.{u2, u2} R' R' (CommSemiring.toSemiring.{u2} R' _inst_3) (CommSemiring.toSemiring.{u2} R' _inst_3) (RingHom.id.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AlgHom.toLinearMap.{u2, max u2 u3, u1} R' (TrivSqZeroExt.{u2, u3} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeInstSemiringMulOpposite.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeInstSemiringMulOppositeInstAlgebraMulOppositeInstSemiringMulOppositeIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18 g) (TrivSqZeroExt.inrHom.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13))) -> (Eq.{max (max (succ u2) (succ u3)) (succ u1)} (AlgHom.{u2, max u3 u2, u1} R' (TrivSqZeroExt.{u2, u3} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeInstSemiringMulOpposite.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeInstSemiringMulOppositeInstAlgebraMulOppositeInstSemiringMulOppositeIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18) f g)
+Case conversion may be inaccurate. Consider using '#align triv_sq_zero_ext.alg_hom_ext' TrivSqZeroExt.algHom_ext'ₓ'. -/
 @[ext]
 theorem algHom_ext' {A} [Semiring A] [Algebra R' A] ⦃f g : tsze R' M →ₐ[R'] A⦄
     (h : f.toLinearMap.comp (inrHom R' M) = g.toLinearMap.comp (inrHom R' M)) : f = g :=
@@ -808,6 +1132,12 @@ theorem algHom_ext' {A} [Semiring A] [Algebra R' A] ⦃f g : tsze R' M →ₐ[R'
 
 variable {A : Type _} [Semiring A] [Algebra R' A]
 
+/- warning: triv_sq_zero_ext.lift_aux -> TrivSqZeroExt.liftAux is a dubious translation:
+lean 3 declaration is
+  forall {R' : Type.{u1}} {M : Type.{u2}} [_inst_3 : CommSemiring.{u1} R'] [_inst_4 : AddCommMonoid.{u2} M] [_inst_13 : Module.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4] [_inst_14 : Module.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4] [_inst_15 : IsCentralScalar.{u1, u2} R' M (SMulZeroClass.toHasSmul.{u1, u2} R' M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} R' M (MulZeroClass.toHasZero.{u1} R' (MulZeroOneClass.toMulZeroClass.{u1} R' (MonoidWithZero.toMulZeroOneClass.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toHasSmul.{u1, u2} (MulOpposite.{u1} R') M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MulZeroClass.toHasZero.{u1} (MulOpposite.{u1} R') (MulZeroOneClass.toMulZeroClass.{u1} (MulOpposite.{u1} R') (MonoidWithZero.toMulZeroOneClass.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14))))] {A : Type.{u3}} [_inst_17 : Semiring.{u3} A] [_inst_18 : Algebra.{u1, u3} R' A _inst_3 _inst_17] (f : LinearMap.{u1, u1, u2, u3} R' R' (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18)), (forall (x : M) (y : M), Eq.{succ u3} A (HMul.hMul.{u3, u3, u3} A A A (instHMul.{u3} A (Distrib.toHasMul.{u3} A (NonUnitalNonAssocSemiring.toDistrib.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))))) (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearMap.{u1, u1, u2, u3} R' R' (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18)) (fun (_x : LinearMap.{u1, u1, u2, u3} R' R' (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18)) => M -> A) (LinearMap.hasCoeToFun.{u1, u1, u2, u3} R' R' M A (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))) f x) (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearMap.{u1, u1, u2, u3} R' R' (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18)) (fun (_x : LinearMap.{u1, u1, u2, u3} R' R' (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18)) => M -> A) (LinearMap.hasCoeToFun.{u1, u1, u2, u3} R' R' M A (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))) f y)) (OfNat.ofNat.{u3} A 0 (OfNat.mk.{u3} A 0 (Zero.zero.{u3} A (MulZeroClass.toHasZero.{u3} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17)))))))) -> (AlgHom.{u1, max u1 u2, u3} R' (TrivSqZeroExt.{u1, u2} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (TrivSqZeroExt.liftAux._proof_1.{u1, u2} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15)) _inst_17 (TrivSqZeroExt.algebra.{u1, u2} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18)
+but is expected to have type
+  forall {R' : Type.{u1}} {M : Type.{u2}} [_inst_3 : CommSemiring.{u1} R'] [_inst_4 : AddCommMonoid.{u2} M] [_inst_13 : Module.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4] [_inst_14 : Module.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.instSemiringMulOpposite.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4] [_inst_15 : IsCentralScalar.{u1, u2} R' M (SMulZeroClass.toSMul.{u1, u2} R' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u1, u2} (MulOpposite.{u1} R') M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.instZeroMulOpposite.{u1} R' (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.instMonoidWithZeroMulOpposite.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.instSemiringMulOpposite.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14))))] {A : Type.{u3}} [_inst_17 : Semiring.{u3} A] [_inst_18 : Algebra.{u1, u3} R' A _inst_3 _inst_17] (f : LinearMap.{u1, u1, u2, u3} R' R' (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18)), (forall (x : M) (y : M), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) x) (HMul.hMul.{u3, u3, u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) x) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) y) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) x) (instHMul.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) x) (NonUnitalNonAssocSemiring.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) x) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) x) (Semiring.toNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) x) _inst_17)))) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (LinearMap.{u1, u1, u2, u3} R' R' (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18)) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u3} R' R' M A (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))) f x) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (LinearMap.{u1, u1, u2, u3} R' R' (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18)) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u3} R' R' M A (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))) f y)) (OfNat.ofNat.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) x) 0 (Zero.toOfNat0.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) x) (MonoidWithZero.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) x) (Semiring.toMonoidWithZero.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) x) _inst_17))))) -> (AlgHom.{u1, max u2 u1, u3} R' (TrivSqZeroExt.{u1, u2} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u1, u1, u2} R' _inst_3 (MulOpposite.{u1} R') (MulOpposite.instSemiringMulOpposite.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeInstSemiringMulOpposite.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u1, u1, u2} R' R' M (SMulZeroClass.toSMul.{u1, u2} R' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) (SMulZeroClass.toSMul.{u1, u2} R' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u1, u2} (MulOpposite.{u1} R') M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MonoidWithZero.toZero.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.instSemiringMulOpposite.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.instSemiringMulOpposite.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.instSemiringMulOpposite.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeInstSemiringMulOppositeInstAlgebraMulOppositeInstSemiringMulOppositeIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u1, u2} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18)
+Case conversion may be inaccurate. Consider using '#align triv_sq_zero_ext.lift_aux TrivSqZeroExt.liftAuxₓ'. -/
 /-- There is an alg_hom from the trivial square zero extension to any `R`-algebra with a submodule
 whose products are all zero.
 
@@ -825,24 +1155,48 @@ def liftAux (f : M →ₗ[R'] A) (hf : ∀ x y, f x * f y = 0) : tsze R' M →
           Algebra.smul_def, add_right_comm, add_assoc, LinearMap.map_smul, LinearMap.map_smul])
 #align triv_sq_zero_ext.lift_aux TrivSqZeroExt.liftAux
 
+/- warning: triv_sq_zero_ext.lift_aux_apply_inr -> TrivSqZeroExt.liftAux_apply_inr is a dubious translation:
+lean 3 declaration is
+  forall {R' : Type.{u1}} {M : Type.{u2}} [_inst_3 : CommSemiring.{u1} R'] [_inst_4 : AddCommMonoid.{u2} M] [_inst_13 : Module.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4] [_inst_14 : Module.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4] [_inst_15 : IsCentralScalar.{u1, u2} R' M (SMulZeroClass.toHasSmul.{u1, u2} R' M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} R' M (MulZeroClass.toHasZero.{u1} R' (MulZeroOneClass.toMulZeroClass.{u1} R' (MonoidWithZero.toMulZeroOneClass.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toHasSmul.{u1, u2} (MulOpposite.{u1} R') M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MulZeroClass.toHasZero.{u1} (MulOpposite.{u1} R') (MulZeroOneClass.toMulZeroClass.{u1} (MulOpposite.{u1} R') (MonoidWithZero.toMulZeroOneClass.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14))))] {A : Type.{u3}} [_inst_17 : Semiring.{u3} A] [_inst_18 : Algebra.{u1, u3} R' A _inst_3 _inst_17] (f : LinearMap.{u1, u1, u2, u3} R' R' (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18)) (hf : forall (x : M) (y : M), Eq.{succ u3} A (HMul.hMul.{u3, u3, u3} A A A (instHMul.{u3} A (Distrib.toHasMul.{u3} A (NonUnitalNonAssocSemiring.toDistrib.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))))) (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearMap.{u1, u1, u2, u3} R' R' (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18)) (fun (_x : LinearMap.{u1, u1, u2, u3} R' R' (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18)) => M -> A) (LinearMap.hasCoeToFun.{u1, u1, u2, u3} R' R' M A (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))) f x) (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearMap.{u1, u1, u2, u3} R' R' (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18)) (fun (_x : LinearMap.{u1, u1, u2, u3} R' R' (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18)) => M -> A) (LinearMap.hasCoeToFun.{u1, u1, u2, u3} R' R' M A (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))) f y)) (OfNat.ofNat.{u3} A 0 (OfNat.mk.{u3} A 0 (Zero.zero.{u3} A (MulZeroClass.toHasZero.{u3} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17)))))))) (m : M), Eq.{succ u3} A (coeFn.{max (succ (max u1 u2)) (succ u3), max (succ (max u1 u2)) (succ u3)} (AlgHom.{u1, max u1 u2, u3} R' (TrivSqZeroExt.{u1, u2} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (TrivSqZeroExt.liftAux._proof_1.{u1, u2} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15)) _inst_17 (TrivSqZeroExt.algebra.{u1, u2} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18) (fun (_x : AlgHom.{u1, max u1 u2, u3} R' (TrivSqZeroExt.{u1, u2} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (TrivSqZeroExt.liftAux._proof_1.{u1, u2} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15)) _inst_17 (TrivSqZeroExt.algebra.{u1, u2} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18) => (TrivSqZeroExt.{u1, u2} R' M) -> A) ([anonymous].{u1, max u1 u2, u3} R' (TrivSqZeroExt.{u1, u2} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (TrivSqZeroExt.liftAux._proof_1.{u1, u2} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15)) _inst_17 (TrivSqZeroExt.algebra.{u1, u2} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18) (TrivSqZeroExt.liftAux.{u1, u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15 A _inst_17 _inst_18 f hf) (TrivSqZeroExt.inr.{u1, u2} R' M (MulZeroClass.toHasZero.{u1} R' (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))))) m)) (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearMap.{u1, u1, u2, u3} R' R' (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18)) (fun (_x : LinearMap.{u1, u1, u2, u3} R' R' (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18)) => M -> A) (LinearMap.hasCoeToFun.{u1, u1, u2, u3} R' R' M A (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))) f m)
+but is expected to have type
+  forall {R' : Type.{u2}} {M : Type.{u3}} [_inst_3 : CommSemiring.{u2} R'] [_inst_4 : AddCommMonoid.{u3} M] [_inst_13 : Module.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4] [_inst_14 : Module.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4] [_inst_15 : IsCentralScalar.{u2, u3} R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.instZeroMulOpposite.{u2} R' (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.instMonoidWithZeroMulOpposite.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14))))] {A : Type.{u1}} [_inst_17 : Semiring.{u1} A] [_inst_18 : Algebra.{u2, u1} R' A _inst_3 _inst_17] (f : LinearMap.{u2, u2, u3, u1} R' R' (CommSemiring.toSemiring.{u2} R' _inst_3) (CommSemiring.toSemiring.{u2} R' _inst_3) (RingHom.id.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))) _inst_13 (Algebra.toModule.{u2, u1} R' A _inst_3 _inst_17 _inst_18)) (hf : forall (x : M) (y : M), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) x) (HMul.hMul.{u1, u1, u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) x) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) y) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) x) (instHMul.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) x) (NonUnitalNonAssocSemiring.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) x) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) x) (Semiring.toNonAssocSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) x) _inst_17)))) (FunLike.coe.{max (succ u3) (succ u1), succ u3, succ u1} (LinearMap.{u2, u2, u3, u1} R' R' (CommSemiring.toSemiring.{u2} R' _inst_3) (CommSemiring.toSemiring.{u2} R' _inst_3) (RingHom.id.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))) _inst_13 (Algebra.toModule.{u2, u1} R' A _inst_3 _inst_17 _inst_18)) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u3, u1} R' R' M A (CommSemiring.toSemiring.{u2} R' _inst_3) (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))) _inst_13 (Algebra.toModule.{u2, u1} R' A _inst_3 _inst_17 _inst_18) (RingHom.id.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) f x) (FunLike.coe.{max (succ u3) (succ u1), succ u3, succ u1} (LinearMap.{u2, u2, u3, u1} R' R' (CommSemiring.toSemiring.{u2} R' _inst_3) (CommSemiring.toSemiring.{u2} R' _inst_3) (RingHom.id.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))) _inst_13 (Algebra.toModule.{u2, u1} R' A _inst_3 _inst_17 _inst_18)) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u3, u1} R' R' M A (CommSemiring.toSemiring.{u2} R' _inst_3) (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))) _inst_13 (Algebra.toModule.{u2, u1} R' A _inst_3 _inst_17 _inst_18) (RingHom.id.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) f y)) (OfNat.ofNat.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) x) 0 (Zero.toOfNat0.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) x) (MonoidWithZero.toZero.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) x) (Semiring.toMonoidWithZero.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) x) _inst_17))))) (m : M), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : TrivSqZeroExt.{u2, u3} R' M) => A) (TrivSqZeroExt.inr.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) m)) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u3), succ u1} (AlgHom.{u2, max u3 u2, u1} R' (TrivSqZeroExt.{u2, u3} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeInstSemiringMulOpposite.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeInstSemiringMulOppositeInstAlgebraMulOppositeInstSemiringMulOppositeIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18) (TrivSqZeroExt.{u2, u3} R' M) (fun (_x : TrivSqZeroExt.{u2, u3} R' M) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : TrivSqZeroExt.{u2, u3} R' M) => A) _x) (SMulHomClass.toFunLike.{max (max u2 u3) u1, u2, max u2 u3, u1} (AlgHom.{u2, max u3 u2, u1} R' (TrivSqZeroExt.{u2, u3} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeInstSemiringMulOpposite.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeInstSemiringMulOppositeInstAlgebraMulOppositeInstSemiringMulOppositeIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18) R' (TrivSqZeroExt.{u2, u3} R' M) A (SMulZeroClass.toSMul.{u2, max u2 u3} R' (TrivSqZeroExt.{u2, u3} R' M) (AddMonoid.toZero.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (AddCommMonoid.toAddMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (Semiring.toNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeInstSemiringMulOpposite.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13))))))))))) (DistribSMul.toSMulZeroClass.{u2, max u2 u3} R' (TrivSqZeroExt.{u2, u3} R' M) (AddMonoid.toAddZeroClass.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (AddCommMonoid.toAddMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (Semiring.toNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeInstSemiringMulOpposite.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13))))))))))) (DistribMulAction.toDistribSMul.{u2, max u2 u3} R' (TrivSqZeroExt.{u2, u3} R' M) (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddCommMonoid.toAddMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (Semiring.toNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeInstSemiringMulOpposite.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))))))) (Module.toDistribMulAction.{u2, max u2 u3} R' (TrivSqZeroExt.{u2, u3} R' M) (CommSemiring.toSemiring.{u2} R' _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (Semiring.toNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeInstSemiringMulOpposite.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13))))))))) (Algebra.toModule.{u2, max u2 u3} R' (TrivSqZeroExt.{u2, u3} R' M) _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeInstSemiringMulOpposite.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeInstSemiringMulOppositeInstAlgebraMulOppositeInstSemiringMulOppositeIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15)))))) (SMulZeroClass.toSMul.{u2, u1} R' A (AddMonoid.toZero.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))))) (DistribSMul.toSMulZeroClass.{u2, u1} R' A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))))) (DistribMulAction.toDistribSMul.{u2, u1} R' A (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17)))) (Module.toDistribMulAction.{u2, u1} R' A (CommSemiring.toSemiring.{u2} R' _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))) (Algebra.toModule.{u2, u1} R' A _inst_3 _inst_17 _inst_18))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u2 u3) u1, u2, max u2 u3, u1} (AlgHom.{u2, max u3 u2, u1} R' (TrivSqZeroExt.{u2, u3} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeInstSemiringMulOpposite.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeInstSemiringMulOppositeInstAlgebraMulOppositeInstSemiringMulOppositeIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18) R' (TrivSqZeroExt.{u2, u3} R' M) A (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddCommMonoid.toAddMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (Semiring.toNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeInstSemiringMulOpposite.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))))))) (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17)))) (Module.toDistribMulAction.{u2, max u2 u3} R' (TrivSqZeroExt.{u2, u3} R' M) (CommSemiring.toSemiring.{u2} R' _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (Semiring.toNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeInstSemiringMulOpposite.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13))))))))) (Algebra.toModule.{u2, max u2 u3} R' (TrivSqZeroExt.{u2, u3} R' M) _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeInstSemiringMulOpposite.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeInstSemiringMulOppositeInstAlgebraMulOppositeInstSemiringMulOppositeIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15))) (Module.toDistribMulAction.{u2, u1} R' A (CommSemiring.toSemiring.{u2} R' _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))) (Algebra.toModule.{u2, u1} R' A _inst_3 _inst_17 _inst_18)) (SemilinearMapClass.distribMulActionHomClass.{u2, max u2 u3, u1, max (max u2 u3) u1} R' (TrivSqZeroExt.{u2, u3} R' M) A (AlgHom.{u2, max u3 u2, u1} R' (TrivSqZeroExt.{u2, u3} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeInstSemiringMulOpposite.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeInstSemiringMulOppositeInstAlgebraMulOppositeInstSemiringMulOppositeIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18) (CommSemiring.toSemiring.{u2} R' _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (Semiring.toNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeInstSemiringMulOpposite.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13))))))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))) (Algebra.toModule.{u2, max u2 u3} R' (TrivSqZeroExt.{u2, u3} R' M) _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeInstSemiringMulOpposite.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeInstSemiringMulOppositeInstAlgebraMulOppositeInstSemiringMulOppositeIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15)) (Algebra.toModule.{u2, u1} R' A _inst_3 _inst_17 _inst_18) (AlgHomClass.linearMapClass.{u2, max u2 u3, u1, max (max u2 u3) u1} R' (TrivSqZeroExt.{u2, u3} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeInstSemiringMulOpposite.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeInstSemiringMulOppositeInstAlgebraMulOppositeInstSemiringMulOppositeIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18 (AlgHom.{u2, max u3 u2, u1} R' (TrivSqZeroExt.{u2, u3} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeInstSemiringMulOpposite.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeInstSemiringMulOppositeInstAlgebraMulOppositeInstSemiringMulOppositeIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18) (AlgHom.algHomClass.{u2, max u2 u3, u1} R' (TrivSqZeroExt.{u2, u3} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeInstSemiringMulOpposite.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeInstSemiringMulOppositeInstAlgebraMulOppositeInstSemiringMulOppositeIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18))))) (TrivSqZeroExt.liftAux.{u2, u3, u1} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15 A _inst_17 _inst_18 f hf) (TrivSqZeroExt.inr.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) m)) (FunLike.coe.{max (succ u3) (succ u1), succ u3, succ u1} (LinearMap.{u2, u2, u3, u1} R' R' (CommSemiring.toSemiring.{u2} R' _inst_3) (CommSemiring.toSemiring.{u2} R' _inst_3) (RingHom.id.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))) _inst_13 (Algebra.toModule.{u2, u1} R' A _inst_3 _inst_17 _inst_18)) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u3, u1} R' R' M A (CommSemiring.toSemiring.{u2} R' _inst_3) (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))) _inst_13 (Algebra.toModule.{u2, u1} R' A _inst_3 _inst_17 _inst_18) (RingHom.id.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) f m)
+Case conversion may be inaccurate. Consider using '#align triv_sq_zero_ext.lift_aux_apply_inr TrivSqZeroExt.liftAux_apply_inrₓ'. -/
 @[simp]
 theorem liftAux_apply_inr (f : M →ₗ[R'] A) (hf : ∀ x y, f x * f y = 0) (m : M) :
     liftAux f hf (inr m) = f m :=
   show algebraMap R' A 0 + f m = f m by rw [RingHom.map_zero, zero_add]
 #align triv_sq_zero_ext.lift_aux_apply_inr TrivSqZeroExt.liftAux_apply_inr
 
+/- warning: triv_sq_zero_ext.lift_aux_comp_inr_hom -> TrivSqZeroExt.liftAux_comp_inrHom is a dubious translation:
+lean 3 declaration is
+  forall {R' : Type.{u1}} {M : Type.{u2}} [_inst_3 : CommSemiring.{u1} R'] [_inst_4 : AddCommMonoid.{u2} M] [_inst_13 : Module.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4] [_inst_14 : Module.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4] [_inst_15 : IsCentralScalar.{u1, u2} R' M (SMulZeroClass.toHasSmul.{u1, u2} R' M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} R' M (MulZeroClass.toHasZero.{u1} R' (MulZeroOneClass.toMulZeroClass.{u1} R' (MonoidWithZero.toMulZeroOneClass.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toHasSmul.{u1, u2} (MulOpposite.{u1} R') M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MulZeroClass.toHasZero.{u1} (MulOpposite.{u1} R') (MulZeroOneClass.toMulZeroClass.{u1} (MulOpposite.{u1} R') (MonoidWithZero.toMulZeroOneClass.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14))))] {A : Type.{u3}} [_inst_17 : Semiring.{u3} A] [_inst_18 : Algebra.{u1, u3} R' A _inst_3 _inst_17] (f : LinearMap.{u1, u1, u2, u3} R' R' (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18)) (hf : forall (x : M) (y : M), Eq.{succ u3} A (HMul.hMul.{u3, u3, u3} A A A (instHMul.{u3} A (Distrib.toHasMul.{u3} A (NonUnitalNonAssocSemiring.toDistrib.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))))) (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearMap.{u1, u1, u2, u3} R' R' (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18)) (fun (_x : LinearMap.{u1, u1, u2, u3} R' R' (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18)) => M -> A) (LinearMap.hasCoeToFun.{u1, u1, u2, u3} R' R' M A (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))) f x) (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearMap.{u1, u1, u2, u3} R' R' (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18)) (fun (_x : LinearMap.{u1, u1, u2, u3} R' R' (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18)) => M -> A) (LinearMap.hasCoeToFun.{u1, u1, u2, u3} R' R' M A (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))) f y)) (OfNat.ofNat.{u3} A 0 (OfNat.mk.{u3} A 0 (Zero.zero.{u3} A (MulZeroClass.toHasZero.{u3} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17)))))))), Eq.{max (succ u2) (succ u3)} (LinearMap.{u1, u1, u2, u3} R' R' (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18)) (LinearMap.comp.{u1, u1, u1, u2, max u1 u2, u3} R' R' R' M (TrivSqZeroExt.{u1, u2} R' M) A (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u2} (TrivSqZeroExt.{u1, u2} R' M) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (TrivSqZeroExt.{u1, u2} R' M) (Semiring.toNonAssocSemiring.{max u1 u2} (TrivSqZeroExt.{u1, u2} R' M) (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (TrivSqZeroExt.liftAux._proof_1.{u1, u2} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, max u1 u2} R' (TrivSqZeroExt.{u1, u2} R' M) _inst_3 (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (TrivSqZeroExt.liftAux._proof_1.{u1, u2} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15)) (TrivSqZeroExt.algebra.{u1, u2} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15)) (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (RingHomCompTriple.right_ids.{u1, u1} R' R' (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))) (AlgHom.toLinearMap.{u1, max u1 u2, u3} R' (TrivSqZeroExt.{u1, u2} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (TrivSqZeroExt.liftAux._proof_1.{u1, u2} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15)) _inst_17 (TrivSqZeroExt.algebra.{u1, u2} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18 (TrivSqZeroExt.liftAux.{u1, u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15 A _inst_17 _inst_18 f hf)) (TrivSqZeroExt.inrHom.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)) f
+but is expected to have type
+  forall {R' : Type.{u2}} {M : Type.{u3}} [_inst_3 : CommSemiring.{u2} R'] [_inst_4 : AddCommMonoid.{u3} M] [_inst_13 : Module.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4] [_inst_14 : Module.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4] [_inst_15 : IsCentralScalar.{u2, u3} R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.instZeroMulOpposite.{u2} R' (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.instMonoidWithZeroMulOpposite.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14))))] {A : Type.{u1}} [_inst_17 : Semiring.{u1} A] [_inst_18 : Algebra.{u2, u1} R' A _inst_3 _inst_17] (f : LinearMap.{u2, u2, u3, u1} R' R' (CommSemiring.toSemiring.{u2} R' _inst_3) (CommSemiring.toSemiring.{u2} R' _inst_3) (RingHom.id.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))) _inst_13 (Algebra.toModule.{u2, u1} R' A _inst_3 _inst_17 _inst_18)) (hf : forall (x : M) (y : M), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) x) (HMul.hMul.{u1, u1, u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) x) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) y) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) x) (instHMul.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) x) (NonUnitalNonAssocSemiring.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) x) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) x) (Semiring.toNonAssocSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) x) _inst_17)))) (FunLike.coe.{max (succ u3) (succ u1), succ u3, succ u1} (LinearMap.{u2, u2, u3, u1} R' R' (CommSemiring.toSemiring.{u2} R' _inst_3) (CommSemiring.toSemiring.{u2} R' _inst_3) (RingHom.id.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))) _inst_13 (Algebra.toModule.{u2, u1} R' A _inst_3 _inst_17 _inst_18)) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u3, u1} R' R' M A (CommSemiring.toSemiring.{u2} R' _inst_3) (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))) _inst_13 (Algebra.toModule.{u2, u1} R' A _inst_3 _inst_17 _inst_18) (RingHom.id.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) f x) (FunLike.coe.{max (succ u3) (succ u1), succ u3, succ u1} (LinearMap.{u2, u2, u3, u1} R' R' (CommSemiring.toSemiring.{u2} R' _inst_3) (CommSemiring.toSemiring.{u2} R' _inst_3) (RingHom.id.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))) _inst_13 (Algebra.toModule.{u2, u1} R' A _inst_3 _inst_17 _inst_18)) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u3, u1} R' R' M A (CommSemiring.toSemiring.{u2} R' _inst_3) (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))) _inst_13 (Algebra.toModule.{u2, u1} R' A _inst_3 _inst_17 _inst_18) (RingHom.id.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) f y)) (OfNat.ofNat.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) x) 0 (Zero.toOfNat0.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) x) (MonoidWithZero.toZero.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) x) (Semiring.toMonoidWithZero.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) x) _inst_17))))), Eq.{max (succ u3) (succ u1)} (LinearMap.{u2, u2, u3, u1} R' R' (CommSemiring.toSemiring.{u2} R' _inst_3) (CommSemiring.toSemiring.{u2} R' _inst_3) (RingHom.id.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))) _inst_13 (Algebra.toModule.{u2, u1} R' A _inst_3 _inst_17 _inst_18)) (LinearMap.comp.{u2, u2, u2, u3, max u2 u3, u1} R' R' R' M (TrivSqZeroExt.{u2, u3} R' M) A (CommSemiring.toSemiring.{u2} R' _inst_3) (CommSemiring.toSemiring.{u2} R' _inst_3) (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (Semiring.toNonAssocSemiring.{max u2 u3} (TrivSqZeroExt.{u2, u3} R' M) (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeInstSemiringMulOpposite.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13))))))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_17))) _inst_13 (Algebra.toModule.{u2, max u2 u3} R' (TrivSqZeroExt.{u2, u3} R' M) _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeInstSemiringMulOpposite.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeInstSemiringMulOppositeInstAlgebraMulOppositeInstSemiringMulOppositeIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15)) (Algebra.toModule.{u2, u1} R' A _inst_3 _inst_17 _inst_18) (RingHom.id.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (RingHom.id.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (RingHom.id.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (RingHomCompTriple.ids.{u2, u2} R' R' (CommSemiring.toSemiring.{u2} R' _inst_3) (CommSemiring.toSemiring.{u2} R' _inst_3) (RingHom.id.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AlgHom.toLinearMap.{u2, max u2 u3, u1} R' (TrivSqZeroExt.{u2, u3} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u2, u2, u3} R' _inst_3 (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeInstSemiringMulOpposite.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u2, u2, u3} R' R' M (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u2, u2} R' R' _inst_3 (CommSemiring.toSemiring.{u2} R' _inst_3) (Algebra.id.{u2} R' _inst_3)) (SMulZeroClass.toSMul.{u2, u3} R' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} R' M (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u2, u3} (MulOpposite.{u2} R') M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u2, u3} (MulOpposite.{u2} R') M (MonoidWithZero.toZero.{u2} (MulOpposite.{u2} R') (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u2, u3} (MulOpposite.{u2} R') M (Semiring.toMonoidWithZero.{u2} (MulOpposite.{u2} R') (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} (MulOpposite.{u2} R') M (MulOpposite.instSemiringMulOpposite.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u2, u3} R' M (MonoidWithZero.toMonoid.{u2} R' (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3))) (MulActionWithZero.toMulAction.{u2, u3} R' M (Semiring.toMonoidWithZero.{u2} R' (CommSemiring.toSemiring.{u2} R' _inst_3)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) (Module.toMulActionWithZero.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeInstSemiringMulOppositeInstAlgebraMulOppositeInstSemiringMulOppositeIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u2, u3} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18 (TrivSqZeroExt.liftAux.{u2, u3, u1} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15 A _inst_17 _inst_18 f hf)) (TrivSqZeroExt.inrHom.{u2, u3} R' M (CommSemiring.toSemiring.{u2} R' _inst_3) _inst_4 _inst_13)) f
+Case conversion may be inaccurate. Consider using '#align triv_sq_zero_ext.lift_aux_comp_inr_hom TrivSqZeroExt.liftAux_comp_inrHomₓ'. -/
 @[simp]
 theorem liftAux_comp_inrHom (f : M →ₗ[R'] A) (hf : ∀ x y, f x * f y = 0) :
     (liftAux f hf).toLinearMap.comp (inrHom R' M) = f :=
   LinearMap.ext <| liftAux_apply_inr f hf
 #align triv_sq_zero_ext.lift_aux_comp_inr_hom TrivSqZeroExt.liftAux_comp_inrHom
 
+/- warning: triv_sq_zero_ext.lift_aux_inr_hom -> TrivSqZeroExt.liftAux_inrHom is a dubious translation:
+lean 3 declaration is
+  forall {R' : Type.{u1}} {M : Type.{u2}} [_inst_3 : CommSemiring.{u1} R'] [_inst_4 : AddCommMonoid.{u2} M] [_inst_13 : Module.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4] [_inst_14 : Module.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4] [_inst_15 : IsCentralScalar.{u1, u2} R' M (SMulZeroClass.toHasSmul.{u1, u2} R' M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} R' M (MulZeroClass.toHasZero.{u1} R' (MulZeroOneClass.toMulZeroClass.{u1} R' (MonoidWithZero.toMulZeroOneClass.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toHasSmul.{u1, u2} (MulOpposite.{u1} R') M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MulZeroClass.toHasZero.{u1} (MulOpposite.{u1} R') (MulZeroOneClass.toMulZeroClass.{u1} (MulOpposite.{u1} R') (MonoidWithZero.toMulZeroOneClass.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14))))], Eq.{succ (max u1 u2)} (AlgHom.{u1, max u1 u2, max u1 u2} R' (TrivSqZeroExt.{u1, u2} R' M) (TrivSqZeroExt.{u1, u2} R' M) _inst_3 (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (TrivSqZeroExt.liftAux._proof_1.{u1, u2} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15)) (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u1, u1, u2} R' _inst_3 (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (MulOpposite.algebra.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u1, u1, u2} R' R' M (SMulZeroClass.toHasSmul.{u1, u2} R' M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} R' M (MulZeroClass.toHasZero.{u1} R' (MulZeroOneClass.toMulZeroClass.{u1} R' (MonoidWithZero.toMulZeroOneClass.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (Mul.toSMul.{u1} R' (Distrib.toHasMul.{u1} R' (NonUnitalNonAssocSemiring.toDistrib.{u1} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (MulAction.toHasSmul.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13))) (SMulZeroClass.toHasSmul.{u1, u2} (MulOpposite.{u1} R') M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MulZeroClass.toHasZero.{u1} (MulOpposite.{u1} R') (MulZeroOneClass.toMulZeroClass.{u1} (MulOpposite.{u1} R') (MonoidWithZero.toMulZeroOneClass.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))))) (TrivSqZeroExt.algebra.{u1, u2} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) (TrivSqZeroExt.algebra.{u1, u2} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15)) (TrivSqZeroExt.liftAux.{u1, u2, max u1 u2} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15 (TrivSqZeroExt.{u1, u2} R' M) (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u1, u1, u2} R' _inst_3 (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (MulOpposite.algebra.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u1, u1, u2} R' R' M (SMulZeroClass.toHasSmul.{u1, u2} R' M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} R' M (MulZeroClass.toHasZero.{u1} R' (MulZeroOneClass.toMulZeroClass.{u1} R' (MonoidWithZero.toMulZeroOneClass.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (Mul.toSMul.{u1} R' (Distrib.toHasMul.{u1} R' (NonUnitalNonAssocSemiring.toDistrib.{u1} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (MulAction.toHasSmul.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13))) (SMulZeroClass.toHasSmul.{u1, u2} (MulOpposite.{u1} R') M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MulZeroClass.toHasZero.{u1} (MulOpposite.{u1} R') (MulZeroOneClass.toMulZeroClass.{u1} (MulOpposite.{u1} R') (MonoidWithZero.toMulZeroOneClass.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))))) (TrivSqZeroExt.algebra.{u1, u2} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) (TrivSqZeroExt.inrHom.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13) (TrivSqZeroExt.inr_mul_inr.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14)) (AlgHom.id.{u1, max u1 u2} R' (TrivSqZeroExt.{u1, u2} R' M) _inst_3 (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (TrivSqZeroExt.liftAux._proof_1.{u1, u2} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15)) (TrivSqZeroExt.algebra.{u1, u2} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15))
+but is expected to have type
+  forall {R' : Type.{u1}} {M : Type.{u2}} [_inst_3 : CommSemiring.{u1} R'] [_inst_4 : AddCommMonoid.{u2} M] [_inst_13 : Module.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4] [_inst_14 : Module.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.instSemiringMulOpposite.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4] [_inst_15 : IsCentralScalar.{u1, u2} R' M (SMulZeroClass.toSMul.{u1, u2} R' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u1, u2} (MulOpposite.{u1} R') M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.instZeroMulOpposite.{u1} R' (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.instMonoidWithZeroMulOpposite.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.instSemiringMulOpposite.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14))))], Eq.{max (succ u1) (succ u2)} (AlgHom.{u1, max u2 u1, max u1 u2} R' (TrivSqZeroExt.{u1, u2} R' M) (TrivSqZeroExt.{u1, u2} R' M) _inst_3 (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u1, u1, u2} R' _inst_3 (MulOpposite.{u1} R') (MulOpposite.instSemiringMulOpposite.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeInstSemiringMulOpposite.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u1, u1, u2} R' R' M (SMulZeroClass.toSMul.{u1, u2} R' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) (SMulZeroClass.toSMul.{u1, u2} R' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u1, u2} (MulOpposite.{u1} R') M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MonoidWithZero.toZero.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.instSemiringMulOpposite.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.instSemiringMulOpposite.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.instSemiringMulOpposite.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))))) (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u1, u1, u2} R' _inst_3 (MulOpposite.{u1} R') (MulOpposite.instSemiringMulOpposite.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeInstSemiringMulOpposite.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u1, u1, u2} R' R' M (SMulZeroClass.toSMul.{u1, u2} R' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) (SMulZeroClass.toSMul.{u1, u2} R' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u1, u2} (MulOpposite.{u1} R') M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MonoidWithZero.toZero.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.instSemiringMulOpposite.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.instSemiringMulOpposite.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.instSemiringMulOpposite.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))))) (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeInstSemiringMulOppositeInstAlgebraMulOppositeInstSemiringMulOppositeIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u1, u2} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeInstSemiringMulOppositeInstAlgebraMulOppositeInstSemiringMulOppositeIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u1, u2} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15)) (TrivSqZeroExt.liftAux.{u1, u2, max u1 u2} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15 (TrivSqZeroExt.{u1, u2} R' M) (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u1, u1, u2} R' _inst_3 (MulOpposite.{u1} R') (MulOpposite.instSemiringMulOpposite.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeInstSemiringMulOpposite.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u1, u1, u2} R' R' M (SMulZeroClass.toSMul.{u1, u2} R' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) (SMulZeroClass.toSMul.{u1, u2} R' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u1, u2} (MulOpposite.{u1} R') M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MonoidWithZero.toZero.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.instSemiringMulOpposite.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.instSemiringMulOpposite.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.instSemiringMulOpposite.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))))) (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeInstSemiringMulOppositeInstAlgebraMulOppositeInstSemiringMulOppositeIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u1, u2} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) (TrivSqZeroExt.inrHom.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13) (TrivSqZeroExt.inr_mul_inr.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14)) (AlgHom.id.{u1, max u2 u1} R' (TrivSqZeroExt.{u1, u2} R' M) _inst_3 (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u1, u1, u2} R' _inst_3 (MulOpposite.{u1} R') (MulOpposite.instSemiringMulOpposite.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeInstSemiringMulOpposite.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u1, u1, u2} R' R' M (SMulZeroClass.toSMul.{u1, u2} R' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) (SMulZeroClass.toSMul.{u1, u2} R' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u1, u2} (MulOpposite.{u1} R') M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MonoidWithZero.toZero.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.instSemiringMulOpposite.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.instSemiringMulOpposite.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.instSemiringMulOpposite.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))))) (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeInstSemiringMulOppositeInstAlgebraMulOppositeInstSemiringMulOppositeIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u1, u2} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15))
+Case conversion may be inaccurate. Consider using '#align triv_sq_zero_ext.lift_aux_inr_hom TrivSqZeroExt.liftAux_inrHomₓ'. -/
 -- When applied to `inr` itself, `lift_aux` is the identity.
 @[simp]
 theorem liftAux_inrHom : liftAux (inrHom R' M) (inr_mul_inr R') = AlgHom.id R' (tsze R' M) :=
   algHom_ext' <| liftAux_comp_inrHom _ _
 #align triv_sq_zero_ext.lift_aux_inr_hom TrivSqZeroExt.liftAux_inrHom
 
+/- warning: triv_sq_zero_ext.lift -> TrivSqZeroExt.lift is a dubious translation:
+lean 3 declaration is
+  forall {R' : Type.{u1}} {M : Type.{u2}} [_inst_3 : CommSemiring.{u1} R'] [_inst_4 : AddCommMonoid.{u2} M] [_inst_13 : Module.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4] [_inst_14 : Module.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4] [_inst_15 : IsCentralScalar.{u1, u2} R' M (SMulZeroClass.toHasSmul.{u1, u2} R' M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} R' M (MulZeroClass.toHasZero.{u1} R' (MulZeroOneClass.toMulZeroClass.{u1} R' (MonoidWithZero.toMulZeroOneClass.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toHasSmul.{u1, u2} (MulOpposite.{u1} R') M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MulZeroClass.toHasZero.{u1} (MulOpposite.{u1} R') (MulZeroOneClass.toMulZeroClass.{u1} (MulOpposite.{u1} R') (MonoidWithZero.toMulZeroOneClass.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14))))] {A : Type.{u3}} [_inst_17 : Semiring.{u3} A] [_inst_18 : Algebra.{u1, u3} R' A _inst_3 _inst_17], Equiv.{max 1 (succ u2) (succ u3), max (succ (max u1 u2)) (succ u3)} (Subtype.{max (succ u2) (succ u3)} (LinearMap.{u1, u1, u2, u3} R' R' (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18)) (fun (f : LinearMap.{u1, u1, u2, u3} R' R' (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18)) => forall (x : M) (y : M), Eq.{succ u3} A (HMul.hMul.{u3, u3, u3} A A A (instHMul.{u3} A (Distrib.toHasMul.{u3} A (NonUnitalNonAssocSemiring.toDistrib.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))))) (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearMap.{u1, u1, u2, u3} R' R' (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18)) (fun (_x : LinearMap.{u1, u1, u2, u3} R' R' (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18)) => M -> A) (LinearMap.hasCoeToFun.{u1, u1, u2, u3} R' R' M A (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))) f x) (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearMap.{u1, u1, u2, u3} R' R' (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18)) (fun (_x : LinearMap.{u1, u1, u2, u3} R' R' (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18)) => M -> A) (LinearMap.hasCoeToFun.{u1, u1, u2, u3} R' R' M A (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))) f y)) (OfNat.ofNat.{u3} A 0 (OfNat.mk.{u3} A 0 (Zero.zero.{u3} A (MulZeroClass.toHasZero.{u3} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))))))))) (AlgHom.{u1, max u1 u2, u3} R' (TrivSqZeroExt.{u1, u2} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (TrivSqZeroExt.lift._proof_1.{u1, u2} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15)) _inst_17 (TrivSqZeroExt.algebra.{u1, u2} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18)
+but is expected to have type
+  forall {R' : Type.{u1}} {M : Type.{u2}} [_inst_3 : CommSemiring.{u1} R'] [_inst_4 : AddCommMonoid.{u2} M] [_inst_13 : Module.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4] [_inst_14 : Module.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.instSemiringMulOpposite.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4] [_inst_15 : IsCentralScalar.{u1, u2} R' M (SMulZeroClass.toSMul.{u1, u2} R' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u1, u2} (MulOpposite.{u1} R') M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.instZeroMulOpposite.{u1} R' (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.instMonoidWithZeroMulOpposite.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.instSemiringMulOpposite.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14))))] {A : Type.{u3}} [_inst_17 : Semiring.{u3} A] [_inst_18 : Algebra.{u1, u3} R' A _inst_3 _inst_17], Equiv.{max 1 (succ u2) (succ u3), max (succ u3) (succ (max u2 u1))} (Subtype.{max (succ u2) (succ u3)} (LinearMap.{u1, u1, u2, u3} R' R' (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18)) (fun (f : LinearMap.{u1, u1, u2, u3} R' R' (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18)) => forall (x : M) (y : M), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) x) (HMul.hMul.{u3, u3, u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) x) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) y) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) x) (instHMul.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) x) (NonUnitalNonAssocSemiring.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) x) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) x) (Semiring.toNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) x) _inst_17)))) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (LinearMap.{u1, u1, u2, u3} R' R' (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18)) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u3} R' R' M A (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))) f x) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (LinearMap.{u1, u1, u2, u3} R' R' (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) M A _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18)) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u3} R' R' M A (CommSemiring.toSemiring.{u1} R' _inst_3) (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_17))) _inst_13 (Algebra.toModule.{u1, u3} R' A _inst_3 _inst_17 _inst_18) (RingHom.id.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))) f y)) (OfNat.ofNat.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) x) 0 (Zero.toOfNat0.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) x) (MonoidWithZero.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) x) (Semiring.toMonoidWithZero.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => A) x) _inst_17)))))) (AlgHom.{u1, max u2 u1, u3} R' (TrivSqZeroExt.{u1, u2} R' M) A _inst_3 (TrivSqZeroExt.semiring.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13 _inst_14 (IsScalarTower.to_smulCommClass.{u1, u1, u2} R' _inst_3 (MulOpposite.{u1} R') (MulOpposite.instSemiringMulOpposite.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (MulOpposite.instAlgebraMulOppositeInstSemiringMulOpposite.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) M _inst_4 _inst_14 _inst_13 (IsScalarTower.op_right.{u1, u1, u2} R' R' M (SMulZeroClass.toSMul.{u1, u2} R' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (Algebra.toSMul.{u1, u1} R' R' _inst_3 (CommSemiring.toSemiring.{u1} R' _inst_3) (Algebra.id.{u1} R' _inst_3)) (SMulZeroClass.toSMul.{u1, u2} R' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))) (SMulZeroClass.toSMul.{u1, u2} (MulOpposite.{u1} R') M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u2} (MulOpposite.{u1} R') M (MonoidWithZero.toZero.{u1} (MulOpposite.{u1} R') (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.instSemiringMulOpposite.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u2} (MulOpposite.{u1} R') M (Semiring.toMonoidWithZero.{u1} (MulOpposite.{u1} R') (MulOpposite.instSemiringMulOpposite.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} (MulOpposite.{u1} R') M (MulOpposite.instSemiringMulOpposite.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) _inst_4 _inst_14)))) _inst_15 (IsScalarTower.left.{u1, u2} R' M (MonoidWithZero.toMonoid.{u1} R' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3))) (MulActionWithZero.toMulAction.{u1, u2} R' M (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' _inst_3)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u1, u2} R' M (CommSemiring.toSemiring.{u1} R' _inst_3) _inst_4 _inst_13)))))) _inst_17 (TrivSqZeroExt.instAlgebraTrivSqZeroExtSemiringToSemiringTo_smulCommClassMulOppositeInstSemiringMulOppositeInstAlgebraMulOppositeInstSemiringMulOppositeIdOp_rightToSMulToZeroToAddMonoidToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToMulActionWithZeroToSMulToZeroLeftToMonoidToMulAction.{u1, u2} R' M _inst_3 _inst_4 _inst_13 _inst_14 _inst_15) _inst_18)
+Case conversion may be inaccurate. Consider using '#align triv_sq_zero_ext.lift TrivSqZeroExt.liftₓ'. -/
 /-- A universal property of the trivial square-zero extension, providing a unique
 `triv_sq_zero_ext R M →ₐ[R] A` for every linear map `M →ₗ[R] A` whose range has no non-zero
 products.
Diff
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Kenny Lau, Eric Wieser
 
 ! This file was ported from Lean 3 source module algebra.triv_sq_zero_ext
-! leanprover-community/mathlib commit eb0cb4511aaef0da2462207b67358a0e1fe1e2ee
+! leanprover-community/mathlib commit ce7e9d53d4bbc38065db3b595cd5bd73c323bc1d
 ! Please do not edit these lines, except to modify the commit id
 ! if you have ported upstream changes.
 -/
@@ -672,10 +672,32 @@ instance [Monoid R] [AddMonoid M] [DistribMulAction R M] [DistribMulAction Rᵐ
           rw [List.mem_range, Nat.lt_succ_iff] at hi
           rw [Nat.sub_add_comm hi]) }
 
+theorem fst_list_prod [Monoid R] [AddMonoid M] [DistribMulAction R M] [DistribMulAction Rᵐᵒᵖ M]
+    [SMulCommClass R Rᵐᵒᵖ M] (l : List (tsze R M)) : l.Prod.fst = (l.map fst).Prod :=
+  map_list_prod (⟨fst, fst_one, fst_mul⟩ : tsze R M →* R) _
+#align triv_sq_zero_ext.fst_list_prod TrivSqZeroExt.fst_list_prod
+
 instance [Semiring R] [AddCommMonoid M] [Module R M] [Module Rᵐᵒᵖ M] [SMulCommClass R Rᵐᵒᵖ M] :
     Semiring (tsze R M) :=
   { TrivSqZeroExt.monoid, TrivSqZeroExt.nonAssocSemiring with }
 
+/-- The second element of a product $\prod_{i=0}^n (r_i + m_i)$ is a sum of terms of the form
+$r_0\cdots r_{i-1}m_ir_{i+1}\cdots r_n$. -/
+theorem snd_list_prod [Semiring R] [AddCommMonoid M] [Module R M] [Module Rᵐᵒᵖ M]
+    [SMulCommClass R Rᵐᵒᵖ M] (l : List (tsze R M)) :
+    l.Prod.snd =
+      (l.enum.map fun x : ℕ × tsze R M =>
+          ((l.map fst).take x.1).Prod • op ((l.map fst).drop x.1.succ).Prod • x.snd.snd).Sum :=
+  by
+  induction' l with x xs ih
+  · simp
+  · rw [List.enum_cons, ← List.map_fst_add_enum_eq_enumFrom]
+    simp_rw [List.map_cons, List.map_map, Function.comp, Prod.map_snd, Prod.map_fst, id,
+      List.take_zero, List.take_cons, List.prod_nil, List.prod_cons, snd_mul, one_smul, List.drop,
+      mul_smul, List.sum_cons, fst_list_prod, ih, List.smul_sum, List.map_map]
+    exact add_comm _ _
+#align triv_sq_zero_ext.snd_list_prod TrivSqZeroExt.snd_list_prod
+
 instance [Ring R] [AddCommGroup M] [Module R M] [Module Rᵐᵒᵖ M] [SMulCommClass R Rᵐᵒᵖ M] :
     Ring (tsze R M) :=
   { TrivSqZeroExt.semiring, TrivSqZeroExt.nonAssocRing with }
Diff
@@ -484,19 +484,21 @@ variable (R)
 @[simp]
 theorem inr_mul_inr [Semiring R] [AddCommMonoid M] [Module R M] [Module Rᵐᵒᵖ M] (m₁ m₂ : M) :
     (inr m₁ * inr m₂ : tsze R M) = 0 :=
-  ext (mul_zero _) <| show (0 : R) • m₂ + (0 : Rᵐᵒᵖ) • m₁ = 0 by rw [zero_smul, zero_add, zero_smul]
+  ext (MulZeroClass.mul_zero _) <|
+    show (0 : R) • m₂ + (0 : Rᵐᵒᵖ) • m₁ = 0 by rw [zero_smul, zero_add, zero_smul]
 #align triv_sq_zero_ext.inr_mul_inr TrivSqZeroExt.inr_mul_inr
 
 end
 
 theorem inl_mul_inr [Semiring R] [AddCommMonoid M] [Module R M] [Module Rᵐᵒᵖ M] (r : R) (m : M) :
     (inl r * inr m : tsze R M) = inr (r • m) :=
-  ext (mul_zero r) <| show r • m + (0 : Rᵐᵒᵖ) • 0 = r • m by rw [smul_zero, add_zero]
+  ext (MulZeroClass.mul_zero r) <| show r • m + (0 : Rᵐᵒᵖ) • 0 = r • m by rw [smul_zero, add_zero]
 #align triv_sq_zero_ext.inl_mul_inr TrivSqZeroExt.inl_mul_inr
 
 theorem inr_mul_inl [Semiring R] [AddCommMonoid M] [Module R M] [Module Rᵐᵒᵖ M] (r : R) (m : M) :
     (inr m * inl r : tsze R M) = inr (op r • m) :=
-  ext (zero_mul r) <| show (0 : R) • 0 + op r • m = op r • m by rw [smul_zero, zero_add]
+  ext (MulZeroClass.zero_mul r) <|
+    show (0 : R) • 0 + op r • m = op r • m by rw [smul_zero, zero_add]
 #align triv_sq_zero_ext.inr_mul_inl TrivSqZeroExt.inr_mul_inl
 
 instance [Monoid R] [AddMonoid M] [DistribMulAction R M] [DistribMulAction Rᵐᵒᵖ M] :
@@ -559,10 +561,10 @@ instance [Semiring R] [AddCommMonoid M] [Module R M] [Module Rᵐᵒᵖ M] :
   { TrivSqZeroExt.addMonoidWithOne, TrivSqZeroExt.mulOneClass,
     TrivSqZeroExt.addCommMonoid with
     zero_mul := fun x =>
-      ext (zero_mul x.1) <|
+      ext (MulZeroClass.zero_mul x.1) <|
         show (0 : R) • x.2 + op x.1 • 0 = 0 by rw [zero_smul, zero_add, smul_zero]
     mul_zero := fun x =>
-      ext (mul_zero x.1) <|
+      ext (MulZeroClass.mul_zero x.1) <|
         show (x.1 • 0 : M) + (0 : Rᵐᵒᵖ) • x.2 = 0 by rw [smul_zero, zero_add, zero_smul]
     left_distrib := fun x₁ x₂ x₃ =>
       ext (mul_add x₁.1 x₂.1 x₃.1) <|
Diff
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Kenny Lau, Eric Wieser
 
 ! This file was ported from Lean 3 source module algebra.triv_sq_zero_ext
-! leanprover-community/mathlib commit b8d2eaa69d69ce8f03179a5cda774fc0cde984e4
+! leanprover-community/mathlib commit eb0cb4511aaef0da2462207b67358a0e1fe1e2ee
 ! Please do not edit these lines, except to modify the commit id
 ! if you have ported upstream changes.
 -/
@@ -66,6 +66,8 @@ def TrivSqZeroExt (R : Type u) (M : Type v) :=
 -- mathport name: exprtsze
 local notation "tsze" => TrivSqZeroExt
 
+open BigOperators
+
 namespace TrivSqZeroExt
 
 open MulOpposite (op)
@@ -292,6 +294,16 @@ theorem snd_smul [SMul S R] [SMul S M] (s : S) (x : tsze R M) : (s • x).snd =
   rfl
 #align triv_sq_zero_ext.snd_smul TrivSqZeroExt.snd_smul
 
+theorem fst_sum {ι} [AddCommMonoid R] [AddCommMonoid M] (s : Finset ι) (f : ι → tsze R M) :
+    (∑ i in s, f i).fst = ∑ i in s, (f i).fst :=
+  Prod.fst_sum
+#align triv_sq_zero_ext.fst_sum TrivSqZeroExt.fst_sum
+
+theorem snd_sum {ι} [AddCommMonoid R] [AddCommMonoid M] (s : Finset ι) (f : ι → tsze R M) :
+    (∑ i in s, f i).snd = ∑ i in s, (f i).snd :=
+  Prod.snd_sum
+#align triv_sq_zero_ext.snd_sum TrivSqZeroExt.snd_sum
+
 section
 
 variable (M)
@@ -324,6 +336,11 @@ theorem inl_smul [Monoid S] [AddMonoid M] [SMul S R] [DistribMulAction S M] (s :
   ext rfl (smul_zero s).symm
 #align triv_sq_zero_ext.inl_smul TrivSqZeroExt.inl_smul
 
+theorem inl_sum {ι} [AddCommMonoid R] [AddCommMonoid M] (s : Finset ι) (f : ι → R) :
+    (inl (∑ i in s, f i) : tsze R M) = ∑ i in s, inl (f i) :=
+  (LinearMap.inl ℕ _ _).map_sum
+#align triv_sq_zero_ext.inl_sum TrivSqZeroExt.inl_sum
+
 end
 
 section
@@ -358,6 +375,11 @@ theorem inr_smul [Zero R] [Zero S] [SMulWithZero S R] [SMul S M] (r : S) (m : M)
   ext (smul_zero _).symm rfl
 #align triv_sq_zero_ext.inr_smul TrivSqZeroExt.inr_smul
 
+theorem inr_sum {ι} [AddCommMonoid R] [AddCommMonoid M] (s : Finset ι) (f : ι → M) :
+    (inr (∑ i in s, f i) : tsze R M) = ∑ i in s, inr (f i) :=
+  (LinearMap.inr ℕ _ _).map_sum
+#align triv_sq_zero_ext.inr_sum TrivSqZeroExt.inr_sum
+
 end
 
 theorem inl_fst_add_inr_snd_eq [AddZeroClass R] [AddZeroClass M] (x : tsze R M) :
@@ -558,8 +580,6 @@ instance [Semiring R] [AddCommMonoid M] [Module R M] [Module Rᵐᵒᵖ M] :
 instance [Ring R] [AddCommGroup M] [Module R M] [Module Rᵐᵒᵖ M] : NonAssocRing (tsze R M) :=
   { TrivSqZeroExt.addGroupWithOne, TrivSqZeroExt.nonAssocSemiring with }
 
-open BigOperators
-
 /-- In the general non-commutative case, the power operator is
 
 $$\begin{align}
Diff
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Kenny Lau, Eric Wieser
 
 ! This file was ported from Lean 3 source module algebra.triv_sq_zero_ext
-! leanprover-community/mathlib commit 7c3780f666ddb4ac9fb3b6d75a31c3e419d65973
+! leanprover-community/mathlib commit b8d2eaa69d69ce8f03179a5cda774fc0cde984e4
 ! Please do not edit these lines, except to modify the commit id
 ! if you have ported upstream changes.
 -/
@@ -14,12 +14,27 @@ import Mathbin.LinearAlgebra.Prod
 /-!
 # Trivial Square-Zero Extension
 
-Given a module `M` over a ring `R`, the trivial square-zero extension of `M` over `R` is defined
-to be the `R`-algebra `R ⊕ M` with multiplication given by
-`(r₁ + m₁) * (r₂ + m₂) = r₁ r₂ + r₁ m₂ + r₂ m₁`.
+Given a ring `R` together with an `(R, R)`-bimodule `M`, the trivial square-zero extension of `M`
+over `R` is defined to be the `R`-algebra `R ⊕ M` with multiplication given by
+`(r₁ + m₁) * (r₂ + m₂) = r₁ r₂ + r₁ m₂ + m₁ r₂`.
 
 It is a square-zero extension because `M^2 = 0`.
 
+Note that expressing this requires bimodules; we write these in general for a
+not-necessarily-commutative `R` as:
+```lean
+variables {R M : Type*} [semiring R] [add_comm_monoid M]
+variables [module R M] [module Rᵐᵒᵖ M] [smul_comm_class R Rᵐᵒᵖ M]
+```
+If we instead work with a commutative `R'` acting symmetrically on `M`, we write
+```lean
+variables {R' M : Type*} [comm_semiring R'] [add_comm_monoid M]
+variables [module R' M] [module R'ᵐᵒᵖ M] [is_central_scalar R' M]
+```
+noting that in this context `is_central_scalar R' M` implies `smul_comm_class R' R'ᵐᵒᵖ M`.
+
+Many of the later results in this file are only stated for the commutative `R'` for simplicity.
+
 ## Main definitions
 
 * `triv_sq_zero_ext.inl`, `triv_sq_zero_ext.inr`: the canonical inclusions into
@@ -53,6 +68,8 @@ local notation "tsze" => TrivSqZeroExt
 
 namespace TrivSqZeroExt
 
+open MulOpposite (op)
+
 section Basic
 
 variable {R : Type u} {M : Type v}
@@ -391,8 +408,8 @@ variable {R : Type u} {M : Type v}
 instance [One R] [Zero M] : One (tsze R M) :=
   ⟨(1, 0)⟩
 
-instance [Mul R] [Add M] [SMul R M] : Mul (tsze R M) :=
-  ⟨fun x y => (x.1 * y.1, x.1 • y.2 + y.1 • x.2)⟩
+instance [Mul R] [Add M] [SMul R M] [SMul Rᵐᵒᵖ M] : Mul (tsze R M) :=
+  ⟨fun x y => (x.1 * y.1, x.1 • y.2 + op y.1 • x.2)⟩
 
 @[simp]
 theorem fst_one [One R] [Zero M] : (1 : tsze R M).fst = 1 :=
@@ -405,13 +422,14 @@ theorem snd_one [One R] [Zero M] : (1 : tsze R M).snd = 0 :=
 #align triv_sq_zero_ext.snd_one TrivSqZeroExt.snd_one
 
 @[simp]
-theorem fst_mul [Mul R] [Add M] [SMul R M] (x₁ x₂ : tsze R M) : (x₁ * x₂).fst = x₁.fst * x₂.fst :=
+theorem fst_mul [Mul R] [Add M] [SMul R M] [SMul Rᵐᵒᵖ M] (x₁ x₂ : tsze R M) :
+    (x₁ * x₂).fst = x₁.fst * x₂.fst :=
   rfl
 #align triv_sq_zero_ext.fst_mul TrivSqZeroExt.fst_mul
 
 @[simp]
-theorem snd_mul [Mul R] [Add M] [SMul R M] (x₁ x₂ : tsze R M) :
-    (x₁ * x₂).snd = x₁.fst • x₂.snd + x₂.fst • x₁.snd :=
+theorem snd_mul [Mul R] [Add M] [SMul R M] [SMul Rᵐᵒᵖ M] (x₁ x₂ : tsze R M) :
+    (x₁ * x₂).snd = x₁.fst • x₂.snd + op x₂.fst • x₁.snd :=
   rfl
 #align triv_sq_zero_ext.snd_mul TrivSqZeroExt.snd_mul
 
@@ -425,13 +443,13 @@ theorem inl_one [One R] [Zero M] : (inl 1 : tsze R M) = 1 :=
 #align triv_sq_zero_ext.inl_one TrivSqZeroExt.inl_one
 
 @[simp]
-theorem inl_mul [Monoid R] [AddMonoid M] [DistribMulAction R M] (r₁ r₂ : R) :
-    (inl (r₁ * r₂) : tsze R M) = inl r₁ * inl r₂ :=
-  ext rfl <| show (0 : M) = r₁ • 0 + r₂ • 0 by rw [smul_zero, zero_add, smul_zero]
+theorem inl_mul [Monoid R] [AddMonoid M] [DistribMulAction R M] [DistribMulAction Rᵐᵒᵖ M]
+    (r₁ r₂ : R) : (inl (r₁ * r₂) : tsze R M) = inl r₁ * inl r₂ :=
+  ext rfl <| show (0 : M) = r₁ • 0 + op r₂ • 0 by rw [smul_zero, zero_add, smul_zero]
 #align triv_sq_zero_ext.inl_mul TrivSqZeroExt.inl_mul
 
-theorem inl_mul_inl [Monoid R] [AddMonoid M] [DistribMulAction R M] (r₁ r₂ : R) :
-    (inl r₁ * inl r₂ : tsze R M) = inl (r₁ * r₂) :=
+theorem inl_mul_inl [Monoid R] [AddMonoid M] [DistribMulAction R M] [DistribMulAction Rᵐᵒᵖ M]
+    (r₁ r₂ : R) : (inl r₁ * inl r₂ : tsze R M) = inl (r₁ * r₂) :=
   (inl_mul M r₁ r₂).symm
 #align triv_sq_zero_ext.inl_mul_inl TrivSqZeroExt.inl_mul_inl
 
@@ -442,31 +460,33 @@ section
 variable (R)
 
 @[simp]
-theorem inr_mul_inr [Semiring R] [AddCommMonoid M] [Module R M] (m₁ m₂ : M) :
+theorem inr_mul_inr [Semiring R] [AddCommMonoid M] [Module R M] [Module Rᵐᵒᵖ M] (m₁ m₂ : M) :
     (inr m₁ * inr m₂ : tsze R M) = 0 :=
-  ext (mul_zero _) <| show (0 : R) • m₂ + (0 : R) • m₁ = 0 by rw [zero_smul, zero_add, zero_smul]
+  ext (mul_zero _) <| show (0 : R) • m₂ + (0 : Rᵐᵒᵖ) • m₁ = 0 by rw [zero_smul, zero_add, zero_smul]
 #align triv_sq_zero_ext.inr_mul_inr TrivSqZeroExt.inr_mul_inr
 
 end
 
-theorem inl_mul_inr [Semiring R] [AddCommMonoid M] [Module R M] (r : R) (m : M) :
+theorem inl_mul_inr [Semiring R] [AddCommMonoid M] [Module R M] [Module Rᵐᵒᵖ M] (r : R) (m : M) :
     (inl r * inr m : tsze R M) = inr (r • m) :=
-  ext (mul_zero r) <| show r • m + (0 : R) • 0 = r • m by rw [smul_zero, add_zero]
+  ext (mul_zero r) <| show r • m + (0 : Rᵐᵒᵖ) • 0 = r • m by rw [smul_zero, add_zero]
 #align triv_sq_zero_ext.inl_mul_inr TrivSqZeroExt.inl_mul_inr
 
-theorem inr_mul_inl [Semiring R] [AddCommMonoid M] [Module R M] (r : R) (m : M) :
-    (inr m * inl r : tsze R M) = inr (r • m) :=
-  ext (zero_mul r) <| show (0 : R) • 0 + r • m = r • m by rw [smul_zero, zero_add]
+theorem inr_mul_inl [Semiring R] [AddCommMonoid M] [Module R M] [Module Rᵐᵒᵖ M] (r : R) (m : M) :
+    (inr m * inl r : tsze R M) = inr (op r • m) :=
+  ext (zero_mul r) <| show (0 : R) • 0 + op r • m = op r • m by rw [smul_zero, zero_add]
 #align triv_sq_zero_ext.inr_mul_inl TrivSqZeroExt.inr_mul_inl
 
-instance [Monoid R] [AddMonoid M] [DistribMulAction R M] : MulOneClass (tsze R M) :=
+instance [Monoid R] [AddMonoid M] [DistribMulAction R M] [DistribMulAction Rᵐᵒᵖ M] :
+    MulOneClass (tsze R M) :=
   { TrivSqZeroExt.hasOne,
     TrivSqZeroExt.hasMul with
     one_mul := fun x =>
-      ext (one_mul x.1) <| show (1 : R) • x.2 + x.1 • 0 = x.2 by rw [one_smul, smul_zero, add_zero]
+      ext (one_mul x.1) <|
+        show (1 : R) • x.2 + op x.1 • 0 = x.2 by rw [one_smul, smul_zero, add_zero]
     mul_one := fun x =>
       ext (mul_one x.1) <|
-        show (x.1 • 0 : M) + (1 : R) • x.2 = x.2 by rw [smul_zero, zero_add, one_smul] }
+        show (x.1 • 0 : M) + (1 : Rᵐᵒᵖ) • x.2 = x.2 by rw [smul_zero, zero_add, one_smul] }
 
 instance [AddMonoidWithOne R] [AddMonoid M] : AddMonoidWithOne (tsze R M) :=
   { TrivSqZeroExt.addMonoid,
@@ -512,88 +532,153 @@ theorem inl_int_cast [AddGroupWithOne R] [AddGroup M] (z : ℤ) : (inl z : tsze
   rfl
 #align triv_sq_zero_ext.inl_int_cast TrivSqZeroExt.inl_int_cast
 
-instance [Semiring R] [AddCommMonoid M] [Module R M] : NonAssocSemiring (tsze R M) :=
+instance [Semiring R] [AddCommMonoid M] [Module R M] [Module Rᵐᵒᵖ M] :
+    NonAssocSemiring (tsze R M) :=
   { TrivSqZeroExt.addMonoidWithOne, TrivSqZeroExt.mulOneClass,
     TrivSqZeroExt.addCommMonoid with
     zero_mul := fun x =>
-      ext (zero_mul x.1) <| show (0 : R) • x.2 + x.1 • 0 = 0 by rw [zero_smul, zero_add, smul_zero]
+      ext (zero_mul x.1) <|
+        show (0 : R) • x.2 + op x.1 • 0 = 0 by rw [zero_smul, zero_add, smul_zero]
     mul_zero := fun x =>
       ext (mul_zero x.1) <|
-        show (x.1 • 0 : M) + (0 : R) • x.2 = 0 by rw [smul_zero, zero_add, zero_smul]
+        show (x.1 • 0 : M) + (0 : Rᵐᵒᵖ) • x.2 = 0 by rw [smul_zero, zero_add, zero_smul]
     left_distrib := fun x₁ x₂ x₃ =>
       ext (mul_add x₁.1 x₂.1 x₃.1) <|
         show
-          x₁.1 • (x₂.2 + x₃.2) + (x₂.1 + x₃.1) • x₁.2 =
-            x₁.1 • x₂.2 + x₂.1 • x₁.2 + (x₁.1 • x₃.2 + x₃.1 • x₁.2)
+          x₁.1 • (x₂.2 + x₃.2) + (op x₂.1 + op x₃.1) • x₁.2 =
+            x₁.1 • x₂.2 + op x₂.1 • x₁.2 + (x₁.1 • x₃.2 + op x₃.1 • x₁.2)
           by simp_rw [smul_add, add_smul, add_add_add_comm]
     right_distrib := fun x₁ x₂ x₃ =>
       ext (add_mul x₁.1 x₂.1 x₃.1) <|
         show
-          (x₁.1 + x₂.1) • x₃.2 + x₃.1 • (x₁.2 + x₂.2) =
-            x₁.1 • x₃.2 + x₃.1 • x₁.2 + (x₂.1 • x₃.2 + x₃.1 • x₂.2)
+          (x₁.1 + x₂.1) • x₃.2 + op x₃.1 • (x₁.2 + x₂.2) =
+            x₁.1 • x₃.2 + op x₃.1 • x₁.2 + (x₂.1 • x₃.2 + op x₃.1 • x₂.2)
           by simp_rw [add_smul, smul_add, add_add_add_comm] }
 
-instance [Ring R] [AddCommGroup M] [Module R M] : NonAssocRing (tsze R M) :=
+instance [Ring R] [AddCommGroup M] [Module R M] [Module Rᵐᵒᵖ M] : NonAssocRing (tsze R M) :=
   { TrivSqZeroExt.addGroupWithOne, TrivSqZeroExt.nonAssocSemiring with }
 
-instance [CommMonoid R] [AddMonoid M] [DistribMulAction R M] : Pow (tsze R M) ℕ :=
-  ⟨fun x n => ⟨x.fst ^ n, n • x.fst ^ n.pred • x.snd⟩⟩
+open BigOperators
+
+/-- In the general non-commutative case, the power operator is
+
+$$\begin{align}
+(r + m)^n &= r^n + r^{n-1}m + r^{n-2}mr + \cdots + rmr^{n-2} + mr^{n-1} \\
+          & =r^n + \sum_{i = 0}^{n - 1} r^{(n - 1) - i} m r^{i}
+\end{align}$$
+
+In the commutative case this becomes the simpler $(r + m)^n = r^n + nr^{n-1}m$.
+-/
+instance [Monoid R] [AddMonoid M] [DistribMulAction R M] [DistribMulAction Rᵐᵒᵖ M] :
+    Pow (tsze R M) ℕ :=
+  ⟨fun x n =>
+    ⟨x.fst ^ n, ((List.range n).map fun i => x.fst ^ (n.pred - i) • op (x.fst ^ i) • x.snd).Sum⟩⟩
 
 @[simp]
-theorem fst_pow [CommMonoid R] [AddMonoid M] [DistribMulAction R M] (x : tsze R M) (n : ℕ) :
-    fst (x ^ n) = x.fst ^ n :=
+theorem fst_pow [Monoid R] [AddMonoid M] [DistribMulAction R M] [DistribMulAction Rᵐᵒᵖ M]
+    (x : tsze R M) (n : ℕ) : fst (x ^ n) = x.fst ^ n :=
   rfl
 #align triv_sq_zero_ext.fst_pow TrivSqZeroExt.fst_pow
 
-@[simp]
-theorem snd_pow [CommMonoid R] [AddMonoid M] [DistribMulAction R M] (x : tsze R M) (n : ℕ) :
-    snd (x ^ n) = n • x.fst ^ n.pred • x.snd :=
-  rfl
+theorem snd_pow_eq_sum [Monoid R] [AddMonoid M] [DistribMulAction R M] [DistribMulAction Rᵐᵒᵖ M]
+    (x : tsze R M) (n : ℕ) :
+    snd (x ^ n) = ((List.range n).map fun i => x.fst ^ (n.pred - i) • op (x.fst ^ i) • x.snd).Sum :=
+  rfl
+#align triv_sq_zero_ext.snd_pow_eq_sum TrivSqZeroExt.snd_pow_eq_sum
+
+theorem snd_pow_of_smul_comm [Monoid R] [AddMonoid M] [DistribMulAction R M]
+    [DistribMulAction Rᵐᵒᵖ M] [SMulCommClass R Rᵐᵒᵖ M] (x : tsze R M) (n : ℕ)
+    (h : op x.fst • x.snd = x.fst • x.snd) : snd (x ^ n) = n • x.fst ^ n.pred • x.snd :=
+  by
+  have : ∀ n : ℕ, op (x.fst ^ n) • x.snd = x.fst ^ n • x.snd :=
+    by
+    intro n
+    induction' n with n ih
+    · simp
+    ·
+      rw [pow_succ', MulOpposite.op_mul, mul_smul, mul_smul, ← h,
+        smul_comm (_ : R) (op x.fst) x.snd, ih]
+  simp_rw [snd_pow_eq_sum, this, smul_smul, ← pow_add]
+  cases n
+  · rw [Nat.pred_zero, pow_zero, List.range_zero, zero_smul, List.map_nil, List.sum_nil]
+  simp_rw [Nat.pred_succ]
+  refine' (List.sum_eq_card_nsmul _ (x.fst ^ n • x.snd) _).trans _
+  · rintro m hm
+    simp_rw [List.mem_map', List.mem_range] at hm
+    obtain ⟨i, hi, rfl⟩ := hm
+    rw [tsub_add_cancel_of_le (nat.lt_succ_iff.mp hi)]
+  · rw [List.length_map, List.length_range]
+#align triv_sq_zero_ext.snd_pow_of_smul_comm TrivSqZeroExt.snd_pow_of_smul_comm
+
+@[simp]
+theorem snd_pow [CommMonoid R] [AddMonoid M] [DistribMulAction R M] [DistribMulAction Rᵐᵒᵖ M]
+    [IsCentralScalar R M] (x : tsze R M) (n : ℕ) : snd (x ^ n) = n • x.fst ^ n.pred • x.snd :=
+  snd_pow_of_smul_comm _ _ (op_smul_eq_smul _ _)
 #align triv_sq_zero_ext.snd_pow TrivSqZeroExt.snd_pow
 
 @[simp]
-theorem inl_pow [CommMonoid R] [AddMonoid M] [DistribMulAction R M] (r : R) (n : ℕ) :
-    (inl r ^ n : tsze R M) = inl (r ^ n) :=
-  ext rfl <| by simp
+theorem inl_pow [Monoid R] [AddMonoid M] [DistribMulAction R M] [DistribMulAction Rᵐᵒᵖ M] (r : R)
+    (n : ℕ) : (inl r ^ n : tsze R M) = inl (r ^ n) :=
+  ext rfl <| by simp [snd_pow_eq_sum]
 #align triv_sq_zero_ext.inl_pow TrivSqZeroExt.inl_pow
 
-instance [CommMonoid R] [AddMonoid M] [DistribMulAction R M] : Monoid (tsze R M) :=
+instance [Monoid R] [AddMonoid M] [DistribMulAction R M] [DistribMulAction Rᵐᵒᵖ M]
+    [SMulCommClass R Rᵐᵒᵖ M] : Monoid (tsze R M) :=
   {
     TrivSqZeroExt.mulOneClass with
     mul_assoc := fun x y z =>
       ext (mul_assoc x.1 y.1 z.1) <|
         show
-          (x.1 * y.1) • z.2 + z.1 • (x.1 • y.2 + y.1 • x.2) =
-            x.1 • (y.1 • z.2 + z.1 • y.2) + (y.1 * z.1) • x.2
-          by simp_rw [smul_add, ← mul_smul, add_assoc, mul_comm]
+          (x.1 * y.1) • z.2 + op z.1 • (x.1 • y.2 + op y.1 • x.2) =
+            x.1 • (y.1 • z.2 + op z.1 • y.2) + (op z.1 * op y.1) • x.2
+          by simp_rw [smul_add, ← mul_smul, add_assoc, smul_comm]
     npow := fun n x => x ^ n
-    npow_zero := fun x => ext (pow_zero x.fst) (zero_smul _ _)
+    npow_zero := fun x => ext (pow_zero x.fst) (by simp [snd_pow_eq_sum])
     npow_succ := fun n x =>
       ext (pow_succ _ _)
         (by
-          dsimp
-          rw [smul_comm (_ : R) n (_ : M), smul_smul, succ_nsmul']
+          simp_rw [snd_mul, snd_pow_eq_sum, Nat.pred_succ]
           cases n
-          · simp_rw [zero_smul]
-          · rw [Nat.pred_succ, pow_succ]) }
-
-instance [CommMonoid R] [AddCommMonoid M] [DistribMulAction R M] : CommMonoid (tsze R M) :=
+          · simp [List.range_succ]
+          simp_rw [Nat.pred_succ]
+          rw [List.range_succ, List.map_append, List.sum_append, List.map_singleton,
+            List.sum_singleton, Nat.sub_self, pow_zero, one_smul, List.smul_sum, List.map_map,
+            Function.comp, fst_pow]
+          simp_rw [smul_smul, ← pow_succ, Nat.succ_eq_add_one]
+          congr 2
+          refine' List.map_congr fun i hi => _
+          rw [List.mem_range, Nat.lt_succ_iff] at hi
+          rw [Nat.sub_add_comm hi]) }
+
+instance [Semiring R] [AddCommMonoid M] [Module R M] [Module Rᵐᵒᵖ M] [SMulCommClass R Rᵐᵒᵖ M] :
+    Semiring (tsze R M) :=
+  { TrivSqZeroExt.monoid, TrivSqZeroExt.nonAssocSemiring with }
+
+instance [Ring R] [AddCommGroup M] [Module R M] [Module Rᵐᵒᵖ M] [SMulCommClass R Rᵐᵒᵖ M] :
+    Ring (tsze R M) :=
+  { TrivSqZeroExt.semiring, TrivSqZeroExt.nonAssocRing with }
+
+instance [CommMonoid R] [AddCommMonoid M] [DistribMulAction R M] [DistribMulAction Rᵐᵒᵖ M]
+    [IsCentralScalar R M] : CommMonoid (tsze R M) :=
   { TrivSqZeroExt.monoid with
     mul_comm := fun x₁ x₂ =>
       ext (mul_comm x₁.1 x₂.1) <|
-        show x₁.1 • x₂.2 + x₂.1 • x₁.2 = x₂.1 • x₁.2 + x₁.1 • x₂.2 from add_comm _ _ }
+        show x₁.1 • x₂.2 + op x₂.1 • x₁.2 = x₂.1 • x₁.2 + op x₁.1 • x₂.2 by
+          rw [op_smul_eq_smul, op_smul_eq_smul, add_comm] }
 
-instance [CommSemiring R] [AddCommMonoid M] [Module R M] : CommSemiring (tsze R M) :=
+instance [CommSemiring R] [AddCommMonoid M] [Module R M] [Module Rᵐᵒᵖ M] [IsCentralScalar R M] :
+    CommSemiring (tsze R M) :=
   { TrivSqZeroExt.commMonoid, TrivSqZeroExt.nonAssocSemiring with }
 
-instance [CommRing R] [AddCommGroup M] [Module R M] : CommRing (tsze R M) :=
+instance [CommRing R] [AddCommGroup M] [Module R M] [Module Rᵐᵒᵖ M] [IsCentralScalar R M] :
+    CommRing (tsze R M) :=
   { TrivSqZeroExt.nonAssocRing, TrivSqZeroExt.commSemiring with }
 
 variable (R M)
 
 /-- The canonical inclusion of rings `R → triv_sq_zero_ext R M`. -/
 @[simps apply]
-def inlHom [Semiring R] [AddCommMonoid M] [Module R M] : R →+* tsze R M
+def inlHom [Semiring R] [AddCommMonoid M] [Module R M] [Module Rᵐᵒᵖ M] : R →+* tsze R M
     where
   toFun := inl
   map_one' := inl_one M
@@ -606,33 +691,45 @@ end Mul
 
 section Algebra
 
-variable (S : Type _) (R : Type u) (M : Type v)
+variable (S : Type _) (R R' : Type u) (M : Type v)
+
+variable [CommSemiring S] [Semiring R] [CommSemiring R'] [AddCommMonoid M]
 
-variable [CommSemiring S] [CommSemiring R] [AddCommMonoid M]
+variable [Algebra S R] [Algebra S R'] [Module S M]
 
-variable [Algebra S R] [Module S M] [Module R M] [IsScalarTower S R M]
+variable [Module R M] [Module Rᵐᵒᵖ M] [SMulCommClass R Rᵐᵒᵖ M]
+
+variable [IsScalarTower S R M] [IsScalarTower S Rᵐᵒᵖ M]
+
+variable [Module R' M] [Module R'ᵐᵒᵖ M] [IsCentralScalar R' M] [IsScalarTower S R' M]
 
 instance algebra' : Algebra S (tsze R M) :=
   {
     (TrivSqZeroExt.inlHom R M).comp
       (algebraMap S R) with
     smul := (· • ·)
-    commutes' := fun r x => mul_comm _ _
+    commutes' := fun s x =>
+      ext (Algebra.commutes _ _) <|
+        show algebraMap S R s • x.snd + op x.fst • 0 = x.fst • 0 + op (algebraMap S R s) • x.snd
+          by
+          rw [smul_zero, smul_zero, add_zero, zero_add]
+          rw [Algebra.algebraMap_eq_smul_one, MulOpposite.op_smul, MulOpposite.op_one, smul_assoc,
+            one_smul, smul_assoc, one_smul]
     smul_def' := fun r x =>
       ext (Algebra.smul_def _ _) <|
-        show r • x.2 = algebraMap S R r • x.2 + x.1 • 0 by
+        show r • x.2 = algebraMap S R r • x.2 + op x.1 • 0 by
           rw [smul_zero, add_zero, algebraMap_smul] }
 #align triv_sq_zero_ext.algebra' TrivSqZeroExt.algebra'
 
 -- shortcut instance for the common case
-instance : Algebra R (tsze R M) :=
+instance : Algebra R' (tsze R' M) :=
   TrivSqZeroExt.algebra' _ _ _
 
-theorem algebraMap_eq_inl : ⇑(algebraMap R (tsze R M)) = inl :=
+theorem algebraMap_eq_inl : ⇑(algebraMap R' (tsze R' M)) = inl :=
   rfl
 #align triv_sq_zero_ext.algebra_map_eq_inl TrivSqZeroExt.algebraMap_eq_inl
 
-theorem algebraMap_eq_inlHom : algebraMap R (tsze R M) = inlHom R M :=
+theorem algebraMap_eq_inlHom : algebraMap R' (tsze R' M) = inlHom R' M :=
   rfl
 #align triv_sq_zero_ext.algebra_map_eq_inl_hom TrivSqZeroExt.algebraMap_eq_inlHom
 
@@ -642,61 +739,63 @@ theorem algebraMap_eq_inl' (s : S) : algebraMap S (tsze R M) s = inl (algebraMap
 
 /-- The canonical `R`-algebra projection `triv_sq_zero_ext R M → R`. -/
 @[simps]
-def fstHom : tsze R M →ₐ[R] R where
+def fstHom : tsze R M →ₐ[S] R where
   toFun := fst
   map_one' := fst_one
   map_mul' := fst_mul
   map_zero' := fst_zero
   map_add' := fst_add
-  commutes' := fst_inl M
+  commutes' r := fst_inl M _
 #align triv_sq_zero_ext.fst_hom TrivSqZeroExt.fstHom
 
-variable {R S M}
+variable {R R' S M}
 
-theorem algHom_ext {A} [Semiring A] [Algebra R A] ⦃f g : tsze R M →ₐ[R] A⦄
+theorem algHom_ext {A} [Semiring A] [Algebra R' A] ⦃f g : tsze R' M →ₐ[R'] A⦄
     (h : ∀ m, f (inr m) = g (inr m)) : f = g :=
   AlgHom.toLinearMap_injective <|
     linearMap_ext (fun r => (f.commutes _).trans (g.commutes _).symm) h
 #align triv_sq_zero_ext.alg_hom_ext TrivSqZeroExt.algHom_ext
 
 @[ext]
-theorem algHom_ext' {A} [Semiring A] [Algebra R A] ⦃f g : tsze R M →ₐ[R] A⦄
-    (h : f.toLinearMap.comp (inrHom R M) = g.toLinearMap.comp (inrHom R M)) : f = g :=
+theorem algHom_ext' {A} [Semiring A] [Algebra R' A] ⦃f g : tsze R' M →ₐ[R'] A⦄
+    (h : f.toLinearMap.comp (inrHom R' M) = g.toLinearMap.comp (inrHom R' M)) : f = g :=
   algHom_ext <| LinearMap.congr_fun h
 #align triv_sq_zero_ext.alg_hom_ext' TrivSqZeroExt.algHom_ext'
 
-variable {A : Type _} [Semiring A] [Algebra R A]
+variable {A : Type _} [Semiring A] [Algebra R' A]
 
 /-- There is an alg_hom from the trivial square zero extension to any `R`-algebra with a submodule
 whose products are all zero.
 
 See `triv_sq_zero_ext.lift` for this as an equiv. -/
-def liftAux (f : M →ₗ[R] A) (hf : ∀ x y, f x * f y = 0) : tsze R M →ₐ[R] A :=
-  AlgHom.ofLinearMap ((Algebra.linearMap _ _).comp (fstHom R M).toLinearMap + f.comp (sndHom R M))
-    (show algebraMap R _ 1 + f (0 : M) = 1 by rw [map_zero, map_one, add_zero])
+def liftAux (f : M →ₗ[R'] A) (hf : ∀ x y, f x * f y = 0) : tsze R' M →ₐ[R'] A :=
+  AlgHom.ofLinearMap
+    ((Algebra.linearMap _ _).comp (fstHom R' R' M).toLinearMap + f.comp (sndHom R' M))
+    (show algebraMap R' _ 1 + f (0 : M) = 1 by rw [map_zero, map_one, add_zero])
     (TrivSqZeroExt.ind fun r₁ m₁ =>
       TrivSqZeroExt.ind fun r₂ m₂ => by
         dsimp
-        simp only [add_zero, zero_add, add_mul, mul_add, smul_mul_smul, hf, smul_zero]
+        simp only [add_zero, zero_add, add_mul, mul_add, smul_mul_smul, hf, smul_zero,
+          op_smul_eq_smul]
         rw [← RingHom.map_mul, LinearMap.map_add, ← Algebra.commutes _ (f _), ← Algebra.smul_def, ←
           Algebra.smul_def, add_right_comm, add_assoc, LinearMap.map_smul, LinearMap.map_smul])
 #align triv_sq_zero_ext.lift_aux TrivSqZeroExt.liftAux
 
 @[simp]
-theorem liftAux_apply_inr (f : M →ₗ[R] A) (hf : ∀ x y, f x * f y = 0) (m : M) :
+theorem liftAux_apply_inr (f : M →ₗ[R'] A) (hf : ∀ x y, f x * f y = 0) (m : M) :
     liftAux f hf (inr m) = f m :=
-  show algebraMap R A 0 + f m = f m by rw [RingHom.map_zero, zero_add]
+  show algebraMap R' A 0 + f m = f m by rw [RingHom.map_zero, zero_add]
 #align triv_sq_zero_ext.lift_aux_apply_inr TrivSqZeroExt.liftAux_apply_inr
 
 @[simp]
-theorem liftAux_comp_inrHom (f : M →ₗ[R] A) (hf : ∀ x y, f x * f y = 0) :
-    (liftAux f hf).toLinearMap.comp (inrHom R M) = f :=
+theorem liftAux_comp_inrHom (f : M →ₗ[R'] A) (hf : ∀ x y, f x * f y = 0) :
+    (liftAux f hf).toLinearMap.comp (inrHom R' M) = f :=
   LinearMap.ext <| liftAux_apply_inr f hf
 #align triv_sq_zero_ext.lift_aux_comp_inr_hom TrivSqZeroExt.liftAux_comp_inrHom
 
 -- When applied to `inr` itself, `lift_aux` is the identity.
 @[simp]
-theorem liftAux_inrHom : liftAux (inrHom R M) (inr_mul_inr R) = AlgHom.id R (tsze R M) :=
+theorem liftAux_inrHom : liftAux (inrHom R' M) (inr_mul_inr R') = AlgHom.id R' (tsze R' M) :=
   algHom_ext' <| liftAux_comp_inrHom _ _
 #align triv_sq_zero_ext.lift_aux_inr_hom TrivSqZeroExt.liftAux_inrHom
 
@@ -706,16 +805,18 @@ products.
 
 This isomorphism is named to match the very similar `complex.lift`. -/
 @[simps]
-def lift : { f : M →ₗ[R] A // ∀ x y, f x * f y = 0 } ≃ (tsze R M →ₐ[R] A)
+def lift : { f : M →ₗ[R'] A // ∀ x y, f x * f y = 0 } ≃ (tsze R' M →ₐ[R'] A)
     where
   toFun f := liftAux f f.Prop
   invFun F :=
-    ⟨F.toLinearMap.comp (inrHom R M), fun x y =>
+    ⟨F.toLinearMap.comp (inrHom R' M), fun x y =>
       (F.map_mul _ _).symm.trans <| (F.congr_arg <| inr_mul_inr _ _ _).trans F.map_zero⟩
   left_inv f := Subtype.ext <| liftAux_comp_inrHom _ _
   right_inv F := algHom_ext' <| liftAux_comp_inrHom _ _
 #align triv_sq_zero_ext.lift TrivSqZeroExt.lift
 
+attribute [nolint simp_nf] lift_symm_apply_coe
+
 end Algebra
 
 end TrivSqZeroExt

Changes in mathlib4

mathlib3
mathlib4
chore: adaptations to lean 4.8.0 (#12549)
Diff
@@ -668,15 +668,17 @@ instance monoid [Monoid R] [AddMonoid M] [DistribMulAction R M] [DistribMulActio
           by simp_rw [smul_add, ← mul_smul, add_assoc, smul_comm, op_mul]
     npow := fun n x => x ^ n
     npow_zero := fun x => ext (pow_zero x.fst) (by simp [snd_pow_eq_sum])
-    npow_succ := fun n x => ext (pow_succ _ _) (by
-      simp_rw [snd_mul, snd_pow_eq_sum, Nat.pred_succ]
-      cases n
-      · simp [List.range_succ]
-      rw [List.sum_range_succ']
-      simp only [pow_zero, op_one, tsub_zero, one_smul, Nat.succ_sub_succ_eq_sub, fst_pow,
-        Nat.pred_succ, List.smul_sum, List.map_map, Function.comp]
-      simp_rw [← smul_comm (_ : R) (_ : Rᵐᵒᵖ), smul_smul, pow_succ]
-      rfl) }
+    npow_succ := fun n x =>
+      ext (pow_succ _ _)
+        (by
+          simp_rw [snd_mul, snd_pow_eq_sum, Nat.pred_succ]
+          cases n
+          · simp [List.range_succ]
+          rw [List.sum_range_succ']
+          simp only [pow_zero, op_one, tsub_zero, one_smul, Nat.succ_sub_succ_eq_sub, fst_pow,
+            Nat.pred_succ, List.smul_sum, List.map_map, Function.comp]
+          simp_rw [← smul_comm (_ : R) (_ : Rᵐᵒᵖ), smul_smul, pow_succ]
+          rfl) }
 
 theorem fst_list_prod [Monoid R] [AddMonoid M] [DistribMulAction R M] [DistribMulAction Rᵐᵒᵖ M]
     [SMulCommClass R Rᵐᵒᵖ M] (l : List (tsze R M)) : l.prod.fst = (l.map fst).prod :=
chore: split Algebra.Algebra.Basic (#12486)

Splits Algebra.Algebra.Defs off Algebra.Algebra.Basic. Most imports only need the Defs file, which has significantly smaller imports. The remaining Algebra.Algebra.Basic is now a grab-bag of unrelated results, and should probably be split further or rehomed.

This is mostly motivated by the wasted effort during minimization upon encountering Algebra.Algebra.Basic.

Co-authored-by: Scott Morrison <scott.morrison@gmail.com> Co-authored-by: Ruben Van de Velde <65514131+Ruben-VandeVelde@users.noreply.github.com>

Diff
@@ -3,7 +3,7 @@ Copyright (c) 2020 Kenny Lau. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Kenny Lau, Eric Wieser
 -/
-import Mathlib.Algebra.Algebra.Basic
+import Mathlib.Algebra.Algebra.Defs
 import Mathlib.GroupTheory.GroupAction.BigOperators
 import Mathlib.LinearAlgebra.Prod
 
chore: Rename nat_cast/int_cast/rat_cast to natCast/intCast/ratCast (#11486)

Now that I am defining NNRat.cast, I want a definitive answer to this naming issue. Plenty of lemmas in mathlib already use natCast/intCast/ratCast over nat_cast/int_cast/rat_cast, and this matches with the general expectation that underscore-separated name parts correspond to a single declaration.

Diff
@@ -531,19 +531,19 @@ instance addMonoidWithOne [AddMonoidWithOne R] [AddMonoid M] : AddMonoidWithOne
     natCast_succ := fun _ => by ext <;> simp [Nat.cast] }
 
 @[simp]
-theorem fst_nat_cast [AddMonoidWithOne R] [AddMonoid M] (n : ℕ) : (n : tsze R M).fst = n :=
+theorem fst_natCast [AddMonoidWithOne R] [AddMonoid M] (n : ℕ) : (n : tsze R M).fst = n :=
   rfl
-#align triv_sq_zero_ext.fst_nat_cast TrivSqZeroExt.fst_nat_cast
+#align triv_sq_zero_ext.fst_nat_cast TrivSqZeroExt.fst_natCast
 
 @[simp]
-theorem snd_nat_cast [AddMonoidWithOne R] [AddMonoid M] (n : ℕ) : (n : tsze R M).snd = 0 :=
+theorem snd_natCast [AddMonoidWithOne R] [AddMonoid M] (n : ℕ) : (n : tsze R M).snd = 0 :=
   rfl
-#align triv_sq_zero_ext.snd_nat_cast TrivSqZeroExt.snd_nat_cast
+#align triv_sq_zero_ext.snd_nat_cast TrivSqZeroExt.snd_natCast
 
 @[simp]
-theorem inl_nat_cast [AddMonoidWithOne R] [AddMonoid M] (n : ℕ) : (inl n : tsze R M) = n :=
+theorem inl_natCast [AddMonoidWithOne R] [AddMonoid M] (n : ℕ) : (inl n : tsze R M) = n :=
   rfl
-#align triv_sq_zero_ext.inl_nat_cast TrivSqZeroExt.inl_nat_cast
+#align triv_sq_zero_ext.inl_nat_cast TrivSqZeroExt.inl_natCast
 
 instance addGroupWithOne [AddGroupWithOne R] [AddGroup M] : AddGroupWithOne (tsze R M) :=
   { TrivSqZeroExt.addGroup, TrivSqZeroExt.addMonoidWithOne with
@@ -552,19 +552,19 @@ instance addGroupWithOne [AddGroupWithOne R] [AddGroup M] : AddGroupWithOne (tsz
     intCast_negSucc := fun _n => ext (Int.cast_negSucc _) neg_zero.symm }
 
 @[simp]
-theorem fst_int_cast [AddGroupWithOne R] [AddGroup M] (z : ℤ) : (z : tsze R M).fst = z :=
+theorem fst_intCast [AddGroupWithOne R] [AddGroup M] (z : ℤ) : (z : tsze R M).fst = z :=
   rfl
-#align triv_sq_zero_ext.fst_int_cast TrivSqZeroExt.fst_int_cast
+#align triv_sq_zero_ext.fst_int_cast TrivSqZeroExt.fst_intCast
 
 @[simp]
-theorem snd_int_cast [AddGroupWithOne R] [AddGroup M] (z : ℤ) : (z : tsze R M).snd = 0 :=
+theorem snd_intCast [AddGroupWithOne R] [AddGroup M] (z : ℤ) : (z : tsze R M).snd = 0 :=
   rfl
-#align triv_sq_zero_ext.snd_int_cast TrivSqZeroExt.snd_int_cast
+#align triv_sq_zero_ext.snd_int_cast TrivSqZeroExt.snd_intCast
 
 @[simp]
-theorem inl_int_cast [AddGroupWithOne R] [AddGroup M] (z : ℤ) : (inl z : tsze R M) = z :=
+theorem inl_intCast [AddGroupWithOne R] [AddGroup M] (z : ℤ) : (inl z : tsze R M) = z :=
   rfl
-#align triv_sq_zero_ext.inl_int_cast TrivSqZeroExt.inl_int_cast
+#align triv_sq_zero_ext.inl_int_cast TrivSqZeroExt.inl_intCast
 
 instance nonAssocSemiring [Semiring R] [AddCommMonoid M] [Module R M] [Module Rᵐᵒᵖ M] :
     NonAssocSemiring (tsze R M) :=
feat: Inverses for TrivSqZeroExt (#12075)

Defined inverses for TrivEqExtZero in a way that is consitent with DualNumbers.

Note that $(a + b\epsilon)^{-1} = \frac{1(a - b\epsilon)}{(a + b\epsilon)(a - b\epsilon)} = \frac{a - b\epsilon}{a^2}$ Which becomes $\frac{1}{a} - \frac{b}{a^2}\epsilon$. We want to be able have left multiplicative inverses $x x^{-1} = 0$ So we write $\frac{b}{a^2} = a^{-1} \cdot b \cdot a^{-1}$

Also included a proof that $x \cdot x^{-1} = 1$ when $\text{fst } x \neq 0$

Co-authored-by: Frederick Pu <frederick.pu@mail.utoronto.ca>

Diff
@@ -738,6 +738,92 @@ def inlHom [Semiring R] [AddCommMonoid M] [Module R M] [Module Rᵐᵒᵖ M] : R
 
 end Mul
 
+section Inv
+variable {R : Type u} {M : Type v}
+variable [Neg M] [Inv R] [SMul Rᵐᵒᵖ M] [SMul R M]
+
+/-- Inversion of the trivial-square-zero extension, sending $r + m$ to $r^{-1} - r^{-1}mr^{-1}$. -/
+instance instInv : Inv (tsze R M) :=
+  ⟨fun b => (b.1⁻¹, -(b.1⁻¹ •> b.2 <• b.1⁻¹))⟩
+
+@[simp] theorem fst_inv (x : tsze R M) : fst x⁻¹ = (fst x)⁻¹ :=
+  rfl
+
+@[simp] theorem snd_inv (x : tsze R M) : snd x⁻¹ = -((fst x)⁻¹ •> snd x <• (fst x)⁻¹) :=
+  rfl
+
+end Inv
+
+section DivisionSemiring
+variable {R : Type u} {M : Type v}
+variable [DivisionSemiring R] [AddCommGroup M] [Module Rᵐᵒᵖ M] [Module R M] [SMulCommClass R Rᵐᵒᵖ M]
+
+protected theorem inv_inl (r : R) :
+    (inl r)⁻¹ = (inl (r⁻¹ : R) : tsze R M) := by
+  ext
+  · rw [fst_inv, fst_inl, fst_inl]
+  · rw [snd_inv, fst_inl, snd_inl, snd_inl, smul_zero, smul_zero, neg_zero]
+
+@[simp]
+theorem inv_inr (m : M) : (inr m)⁻¹ = (0 : tsze R M) := by
+  ext
+  · rw [fst_inv, fst_inr, fst_zero, inv_zero]
+  · rw [snd_inv, snd_inr, fst_inr, inv_zero, op_zero, zero_smul, snd_zero, neg_zero]
+
+@[simp]
+protected theorem inv_zero : (0 : tsze R M)⁻¹ = (0 : tsze R M) := by
+  rw [← inl_zero, TrivSqZeroExt.inv_inl, inv_zero]
+
+@[simp]
+protected theorem inv_one : (1 : tsze R M)⁻¹ = (1 : tsze R M) := by
+  rw [← inl_one, TrivSqZeroExt.inv_inl, inv_one]
+
+protected theorem mul_inv_cancel {x : tsze R M} (hx : fst x ≠ 0) : x * x⁻¹ = 1 := by
+  ext
+  · rw [fst_mul, fst_inv, fst_one, mul_inv_cancel hx]
+  · rw [snd_mul, snd_inv, snd_one, smul_neg, smul_comm, smul_smul, mul_inv_cancel hx, one_smul,
+      fst_inv, add_left_neg]
+
+protected theorem inv_mul_cancel {x : tsze R M} (hx : fst x ≠ 0) : x⁻¹ * x = 1 := by
+  ext
+  · rw [fst_mul, fst_inv, inv_mul_cancel hx, fst_one]
+  · rw [snd_mul, snd_inv, snd_one, smul_neg, op_smul_op_smul, inv_mul_cancel hx, op_one, one_smul,
+      fst_inv, add_right_neg]
+
+protected theorem mul_inv_rev (a b : tsze R M) :
+    (a * b)⁻¹ = b⁻¹ * a⁻¹ := by
+  ext
+  · rw [fst_inv, fst_mul, fst_mul, mul_inv_rev, fst_inv, fst_inv]
+  · simp only [snd_inv, snd_mul, fst_mul, fst_inv]
+    simp only [neg_smul, smul_neg, smul_add]
+    simp_rw [mul_inv_rev, smul_comm (_ : R), op_smul_op_smul, smul_smul, add_comm, neg_add]
+    obtain ha0 | ha := eq_or_ne (fst a) 0
+    · simp [ha0]
+    obtain hb0 | hb := eq_or_ne (fst b) 0
+    · simp [hb0]
+    rw [inv_mul_cancel_right₀ ha, mul_inv_cancel_left₀ hb]
+
+protected theorem inv_inv {x : tsze R M} (hx : fst x ≠ 0) : x⁻¹⁻¹ = x :=
+  -- adapted from `Matrix.nonsing_inv_nonsing_inv`
+  calc
+    x⁻¹⁻¹ = 1 * x⁻¹⁻¹ := by rw [one_mul]
+    _ = x * x⁻¹ * x⁻¹⁻¹ := by rw [TrivSqZeroExt.mul_inv_cancel hx]
+    _ = x := by
+      rw [mul_assoc, TrivSqZeroExt.mul_inv_cancel, mul_one]
+      rw [fst_inv]
+      apply inv_ne_zero hx
+
+end DivisionSemiring
+
+section DivisionRing
+variable {R : Type u} {M : Type v}
+variable [DivisionRing R] [AddCommGroup M] [Module Rᵐᵒᵖ M] [Module R M] [SMulCommClass R Rᵐᵒᵖ M]
+
+protected theorem inv_neg {x : tsze R M} : (-x)⁻¹ = -(x⁻¹) := by
+  ext <;> simp [inv_neg]
+
+end DivisionRing
+
 section Algebra
 
 variable (S : Type*) (R R' : Type u) (M : Type v)
chore(Data/Int/Cast): fix confusion between OfNat and Nat.cast lemmas (#11861)

This renames

  • Int.cast_ofNat to Int.cast_natCast
  • Int.int_cast_ofNat to Int.cast_ofNat

I think the history here is that this lemma was previously about Int.ofNat, before we globally fixed the simp-normal form to be Nat.cast.

Since the Int.cast_ofNat name is repurposed, it can't be deprecated. Int.int_cast_ofNat is such a wonky name that it was probably never used.

Diff
@@ -548,7 +548,7 @@ theorem inl_nat_cast [AddMonoidWithOne R] [AddMonoid M] (n : ℕ) : (inl n : tsz
 instance addGroupWithOne [AddGroupWithOne R] [AddGroup M] : AddGroupWithOne (tsze R M) :=
   { TrivSqZeroExt.addGroup, TrivSqZeroExt.addMonoidWithOne with
     intCast := fun z => inl z
-    intCast_ofNat := fun _n => ext (Int.cast_ofNat _) rfl
+    intCast_ofNat := fun _n => ext (Int.cast_natCast _) rfl
     intCast_negSucc := fun _n => ext (Int.cast_negSucc _) neg_zero.symm }
 
 @[simp]
chore: remove mathport name: <expression> lines (#11928)

Quoting [@digama0](https://github.com/digama0):

These were actually never meant to go in the file, they are basically debugging information and only useful on significantly broken mathport files. You can safely remove all of them.

Diff
@@ -66,7 +66,6 @@ def TrivSqZeroExt (R : Type u) (M : Type v) :=
   R × M
 #align triv_sq_zero_ext TrivSqZeroExt
 
--- mathport name: exprtsze
 local notation "tsze" => TrivSqZeroExt
 
 open scoped BigOperators RightActions
change the order of operation in zsmulRec and nsmulRec (#11451)

We change the following field in the definition of an additive commutative monoid:

 nsmul_succ : ∀ (n : ℕ) (x : G),
-  AddMonoid.nsmul (n + 1) x = x + AddMonoid.nsmul n x
+  AddMonoid.nsmul (n + 1) x = AddMonoid.nsmul n x + x

where the latter is more natural

We adjust the definitions of ^ in monoids, groups, etc. Originally there was a warning comment about why this natural order was preferred

use x * npowRec n x and not npowRec n x * x in the definition to make sure that definitional unfolding of npowRec is blocked, to avoid deep recursion issues.

but it seems to no longer apply.

Remarks on the PR :

  • pow_succ and pow_succ' have switched their meanings.
  • Most of the time, the proofs were adjusted by priming/unpriming one lemma, or exchanging left and right; a few proofs were more complicated to adjust.
  • In particular, [Mathlib/NumberTheory/RamificationInertia.lean] used Ideal.IsPrime.mul_mem_pow which is defined in [Mathlib/RingTheory/DedekindDomain/Ideal.lean]. Changing the order of operation forced me to add the symmetric lemma Ideal.IsPrime.mem_pow_mul.
  • the docstring for Cauchy condensation test in [Mathlib/Analysis/PSeries.lean] was mathematically incorrect, I added the mention that the function is antitone.
Diff
@@ -638,7 +638,7 @@ where
     intro n
     induction' n with n ih
     · simp
-    · rw [pow_succ', op_mul, mul_smul, mul_smul, ← h, smul_comm (_ : R) (op x.fst) x.snd, ih]
+    · rw [pow_succ, op_mul, mul_smul, mul_smul, ← h, smul_comm (_ : R) (op x.fst) x.snd, ih]
 #align triv_sq_zero_ext.snd_pow_of_smul_comm TrivSqZeroExt.snd_pow_of_smul_comm
 
 theorem snd_pow_of_smul_comm' [Monoid R] [AddMonoid M] [DistribMulAction R M]
@@ -669,21 +669,15 @@ instance monoid [Monoid R] [AddMonoid M] [DistribMulAction R M] [DistribMulActio
           by simp_rw [smul_add, ← mul_smul, add_assoc, smul_comm, op_mul]
     npow := fun n x => x ^ n
     npow_zero := fun x => ext (pow_zero x.fst) (by simp [snd_pow_eq_sum])
-    npow_succ := fun n x =>
-      ext (pow_succ _ _)
-        (by
-          simp_rw [snd_mul, snd_pow_eq_sum, Nat.pred_succ]
-          cases n
-          · simp [List.range_succ]
-          simp_rw [Nat.pred_succ]
-          rw [List.range_succ, List.map_append, List.sum_append, List.map_singleton,
-            List.sum_singleton, Nat.sub_self, pow_zero, one_smul, List.smul_sum, List.map_map,
-            fst_pow, Function.comp]
-          simp_rw [← smul_comm (_ : R) (_ : Rᵐᵒᵖ), smul_smul, ← pow_succ, Nat.succ_eq_add_one]
-          congr 2
-          refine' List.map_congr fun i hi => _
-          rw [List.mem_range, Nat.lt_succ_iff] at hi
-          rw [Nat.sub_add_comm hi]) }
+    npow_succ := fun n x => ext (pow_succ _ _) (by
+      simp_rw [snd_mul, snd_pow_eq_sum, Nat.pred_succ]
+      cases n
+      · simp [List.range_succ]
+      rw [List.sum_range_succ']
+      simp only [pow_zero, op_one, tsub_zero, one_smul, Nat.succ_sub_succ_eq_sub, fst_pow,
+        Nat.pred_succ, List.smul_sum, List.map_map, Function.comp]
+      simp_rw [← smul_comm (_ : R) (_ : Rᵐᵒᵖ), smul_smul, pow_succ]
+      rfl) }
 
 theorem fst_list_prod [Monoid R] [AddMonoid M] [DistribMulAction R M] [DistribMulAction Rᵐᵒᵖ M]
     [SMulCommClass R Rᵐᵒᵖ M] (l : List (tsze R M)) : l.prod.fst = (l.map fst).prod :=
chore(*): remove empty lines between variable statements (#11418)

Empty lines were removed by executing the following Python script twice

import os
import re


# Loop through each file in the repository
for dir_path, dirs, files in os.walk('.'):
  for filename in files:
    if filename.endswith('.lean'):
      file_path = os.path.join(dir_path, filename)

      # Open the file and read its contents
      with open(file_path, 'r') as file:
        content = file.read()

      # Use a regular expression to replace sequences of "variable" lines separated by empty lines
      # with sequences without empty lines
      modified_content = re.sub(r'(variable.*\n)\n(variable(?! .* in))', r'\1\2', content)

      # Write the modified content back to the file
      with open(file_path, 'w') as file:
        file.write(modified_content)
Diff
@@ -748,15 +748,10 @@ end Mul
 section Algebra
 
 variable (S : Type*) (R R' : Type u) (M : Type v)
-
 variable [CommSemiring S] [Semiring R] [CommSemiring R'] [AddCommMonoid M]
-
 variable [Algebra S R] [Algebra S R'] [Module S M]
-
 variable [Module R M] [Module Rᵐᵒᵖ M] [SMulCommClass R Rᵐᵒᵖ M]
-
 variable [IsScalarTower S R M] [IsScalarTower S Rᵐᵒᵖ M]
-
 variable [Module R' M] [Module R'ᵐᵒᵖ M] [IsCentralScalar R' M] [IsScalarTower S R' M]
 
 instance algebra' : Algebra S (tsze R M) :=
doc: Change old Lean 3 commands to Lean 4 in implementation notes (#10707)

I changed Lean's 3 old "variables" command to Lean's 4 command "variable" in some implementation notes. I might have missed some

Co-authored-by: Omar Mohsen <36500353+OmarMohsenGit@users.noreply.github.com>

Diff
@@ -21,13 +21,13 @@ It is a square-zero extension because `M^2 = 0`.
 Note that expressing this requires bimodules; we write these in general for a
 not-necessarily-commutative `R` as:
 ```lean
-variables {R M : Type*} [Semiring R] [AddCommMonoid M]
-variables [Module R M] [Module Rᵐᵒᵖ M] [SMulCommClass R Rᵐᵒᵖ M]
+variable {R M : Type*} [Semiring R] [AddCommMonoid M]
+variable [Module R M] [Module Rᵐᵒᵖ M] [SMulCommClass R Rᵐᵒᵖ M]
 ```
 If we instead work with a commutative `R'` acting symmetrically on `M`, we write
 ```lean
-variables {R' M : Type*} [CommSemiring R'] [AddCommMonoid M]
-variables [Module R' M] [Module R'ᵐᵒᵖ M] [IsCentralScalar R' M]
+variable {R' M : Type*} [CommSemiring R'] [AddCommMonoid M]
+variable [Module R' M] [Module R'ᵐᵒᵖ M] [IsCentralScalar R' M]
 ```
 noting that in this context `IsCentralScalar R' M` implies `SMulCommClass R' R'ᵐᵒᵖ M`.
 
chore(Algebra/TrivSqZeroExt): use open scoped RightActions (#10546)

One lemma statement has changed (up to associativity).

This is one of the more compelling justifications for #8909.

Diff
@@ -44,7 +44,7 @@ Many of the later results in this file are only stated for the commutative `R'`
   morphisms `TrivSqZeroExt R M →ₐ[S] A` are uniquely defined by an algebra morphism `f : R →ₐ[S] A`
   on `R` and a linear map `g : M →ₗ[S] A` on `M` such that:
   * `g x * g y = 0`: the elements of `M` continue to square to zero.
-  * `g (r • x) = f r * g x` and `g (op r • x) = g x * f r`: left and right actions are preserved by
+  * `g (r •> x) = f r * g x` and `g (x <• r) = g x * f r`: left and right actions are preserved by
     `g`.
 * `TrivSqZeroExt.lift`: the universal property of the trivial square-zero extension; algebra
   morphisms `TrivSqZeroExt R M →ₐ[R] A` are uniquely defined by linear maps `M →ₗ[R] A` for
@@ -69,11 +69,11 @@ def TrivSqZeroExt (R : Type u) (M : Type v) :=
 -- mathport name: exprtsze
 local notation "tsze" => TrivSqZeroExt
 
-open BigOperators
+open scoped BigOperators RightActions
 
 namespace TrivSqZeroExt
 
-open MulOpposite (op)
+open MulOpposite
 
 section Basic
 
@@ -434,7 +434,7 @@ instance one [One R] [Zero M] : One (tsze R M) :=
   ⟨(1, 0)⟩
 
 instance mul [Mul R] [Add M] [SMul R M] [SMul Rᵐᵒᵖ M] : Mul (tsze R M) :=
-  ⟨fun x y => (x.1 * y.1, x.1 • y.2 + op y.1 • x.2)⟩
+  ⟨fun x y => (x.1 * y.1, x.1 •> y.2 + x.2 <• y.1)⟩
 
 @[simp]
 theorem fst_one [One R] [Zero M] : (1 : tsze R M).fst = 1 :=
@@ -454,7 +454,7 @@ theorem fst_mul [Mul R] [Add M] [SMul R M] [SMul Rᵐᵒᵖ M] (x₁ x₂ : tsze
 
 @[simp]
 theorem snd_mul [Mul R] [Add M] [SMul R M] [SMul Rᵐᵒᵖ M] (x₁ x₂ : tsze R M) :
-    (x₁ * x₂).snd = x₁.fst • x₂.snd + op x₂.fst • x₁.snd :=
+    (x₁ * x₂).snd = x₁.fst •> x₂.snd + x₁.snd <• x₂.fst :=
   rfl
 #align triv_sq_zero_ext.snd_mul TrivSqZeroExt.snd_mul
 
@@ -470,7 +470,7 @@ theorem inl_one [One R] [Zero M] : (inl 1 : tsze R M) = 1 :=
 @[simp]
 theorem inl_mul [Monoid R] [AddMonoid M] [DistribMulAction R M] [DistribMulAction Rᵐᵒᵖ M]
     (r₁ r₂ : R) : (inl (r₁ * r₂) : tsze R M) = inl r₁ * inl r₂ :=
-  ext rfl <| show (0 : M) = r₁ • (0 : M) + op r₂ • (0 : M) by rw [smul_zero, zero_add, smul_zero]
+  ext rfl <| show (0 : M) = r₁ •> (0 : M) + (0 : M) <• r₂ by rw [smul_zero, zero_add, smul_zero]
 #align triv_sq_zero_ext.inl_mul TrivSqZeroExt.inl_mul
 
 theorem inl_mul_inl [Monoid R] [AddMonoid M] [DistribMulAction R M] [DistribMulAction Rᵐᵒᵖ M]
@@ -488,7 +488,7 @@ variable (R)
 theorem inr_mul_inr [Semiring R] [AddCommMonoid M] [Module R M] [Module Rᵐᵒᵖ M] (m₁ m₂ : M) :
     (inr m₁ * inr m₂ : tsze R M) = 0 :=
   ext (mul_zero _) <|
-    show (0 : R) • m₂ + (0 : Rᵐᵒᵖ) • m₁ = 0 by rw [zero_smul, zero_add, zero_smul]
+    show (0 : R) •> m₂ + m₁ <• (0 : R) = 0 by rw [zero_smul, zero_add, op_zero, zero_smul]
 #align triv_sq_zero_ext.inr_mul_inr TrivSqZeroExt.inr_mul_inr
 
 end
@@ -500,19 +500,19 @@ theorem inl_mul_inr [Semiring R] [AddCommMonoid M] [Module R M] [Module Rᵐᵒ
 #align triv_sq_zero_ext.inl_mul_inr TrivSqZeroExt.inl_mul_inr
 
 theorem inr_mul_inl [Semiring R] [AddCommMonoid M] [Module R M] [Module Rᵐᵒᵖ M] (r : R) (m : M) :
-    (inr m * inl r : tsze R M) = inr (op r • m) :=
+    (inr m * inl r : tsze R M) = inr (m <• r) :=
   ext (zero_mul r) <|
-    show (0 : R) • (0 : M) + op r • m = op r • m by rw [smul_zero, zero_add]
+    show (0 : R) •> (0 : M) + m <• r = m <• r by rw [smul_zero, zero_add]
 #align triv_sq_zero_ext.inr_mul_inl TrivSqZeroExt.inr_mul_inl
 
 theorem inl_mul_eq_smul [Semiring R] [AddCommMonoid M] [Module R M] [Module Rᵐᵒᵖ M]
     (r : R) (x : tsze R M) :
-    inl r * x = r • x :=
+    inl r * x = r •> x :=
   ext rfl (by dsimp; rw [smul_zero, add_zero])
 
 theorem mul_inl_eq_op_smul [Semiring R] [AddCommMonoid M] [Module R M] [Module Rᵐᵒᵖ M]
     (x : tsze R M) (r : R) :
-    x * inl r = op r • x :=
+    x * inl r = x <• r :=
   ext rfl (by dsimp; rw [smul_zero, zero_add])
 
 instance mulOneClass [Monoid R] [AddMonoid M] [DistribMulAction R M] [DistribMulAction Rᵐᵒᵖ M] :
@@ -520,10 +520,10 @@ instance mulOneClass [Monoid R] [AddMonoid M] [DistribMulAction R M] [DistribMul
   { TrivSqZeroExt.one, TrivSqZeroExt.mul with
     one_mul := fun x =>
       ext (one_mul x.1) <|
-        show (1 : R) • x.2 + op x.1 • (0 : M) = x.2 by rw [one_smul, smul_zero, add_zero]
+        show (1 : R) •> x.2 + (0 : M) <• x.1 = x.2 by rw [one_smul, smul_zero, add_zero]
     mul_one := fun x =>
       ext (mul_one x.1) <|
-        show x.1 • (0 : M) + (1 : Rᵐᵒᵖ) • x.2 = x.2 by rw [smul_zero, zero_add, one_smul] }
+        show x.1 • (0 : M) + x.2 <• (1 : R) = x.2 by rw [smul_zero, zero_add, op_one, one_smul] }
 
 instance addMonoidWithOne [AddMonoidWithOne R] [AddMonoid M] : AddMonoidWithOne (tsze R M) :=
   { TrivSqZeroExt.addMonoid, TrivSqZeroExt.one with
@@ -572,21 +572,21 @@ instance nonAssocSemiring [Semiring R] [AddCommMonoid M] [Module R M] [Module R
   { TrivSqZeroExt.addMonoidWithOne, TrivSqZeroExt.mulOneClass, TrivSqZeroExt.addCommMonoid with
     zero_mul := fun x =>
       ext (zero_mul x.1) <|
-        show (0 : R) • x.2 + op x.1 • (0 : M) = 0 by rw [zero_smul, zero_add, smul_zero]
+        show (0 : R) •> x.2 + (0 : M) <• x.1 = 0 by rw [zero_smul, zero_add, smul_zero]
     mul_zero := fun x =>
       ext (mul_zero x.1) <|
         show x.1 • (0 : M) + (0 : Rᵐᵒᵖ) • x.2 = 0 by rw [smul_zero, zero_add, zero_smul]
     left_distrib := fun x₁ x₂ x₃ =>
       ext (mul_add x₁.1 x₂.1 x₃.1) <|
         show
-          x₁.1 • (x₂.2 + x₃.2) + (op x₂.1 + op x₃.1) • x₁.2 =
-            x₁.1 • x₂.2 + op x₂.1 • x₁.2 + (x₁.1 • x₃.2 + op x₃.1 • x₁.2)
-          by simp_rw [smul_add, add_smul, add_add_add_comm]
+          x₁.1 •> (x₂.2 + x₃.2) + x₁.2 <• (x₂.1 + x₃.1) =
+            x₁.1 •> x₂.2 + x₁.2 <• x₂.1 + (x₁.1 •> x₃.2 + x₁.2 <• x₃.1)
+          by simp_rw [smul_add, MulOpposite.op_add, add_smul, add_add_add_comm]
     right_distrib := fun x₁ x₂ x₃ =>
       ext (add_mul x₁.1 x₂.1 x₃.1) <|
         show
-          (x₁.1 + x₂.1) • x₃.2 + op x₃.1 • (x₁.2 + x₂.2) =
-            x₁.1 • x₃.2 + op x₃.1 • x₁.2 + (x₂.1 • x₃.2 + op x₃.1 • x₂.2)
+          (x₁.1 + x₂.1) •> x₃.2 + (x₁.2 + x₂.2) <• x₃.1 =
+            x₁.1 •> x₃.2 + x₁.2 <• x₃.1 + (x₂.1 •> x₃.2 + x₂.2 <• x₃.1)
           by simp_rw [add_smul, smul_add, add_add_add_comm] }
 
 instance nonAssocRing [Ring R] [AddCommGroup M] [Module R M] [Module Rᵐᵒᵖ M] :
@@ -605,7 +605,7 @@ In the commutative case this becomes the simpler $(r + m)^n = r^n + nr^{n-1}m$.
 instance [Monoid R] [AddMonoid M] [DistribMulAction R M] [DistribMulAction Rᵐᵒᵖ M] :
     Pow (tsze R M) ℕ :=
   ⟨fun x n =>
-    ⟨x.fst ^ n, ((List.range n).map fun i => x.fst ^ (n.pred - i) • op (x.fst ^ i) • x.snd).sum⟩⟩
+    ⟨x.fst ^ n, ((List.range n).map fun i => x.fst ^ (n.pred - i) •> x.snd <• x.fst ^ i).sum⟩⟩
 
 @[simp]
 theorem fst_pow [Monoid R] [AddMonoid M] [DistribMulAction R M] [DistribMulAction Rᵐᵒᵖ M]
@@ -615,20 +615,14 @@ theorem fst_pow [Monoid R] [AddMonoid M] [DistribMulAction R M] [DistribMulActio
 
 theorem snd_pow_eq_sum [Monoid R] [AddMonoid M] [DistribMulAction R M] [DistribMulAction Rᵐᵒᵖ M]
     (x : tsze R M) (n : ℕ) :
-    snd (x ^ n) = ((List.range n).map fun i => x.fst ^ (n.pred - i) • op (x.fst ^ i) • x.snd).sum :=
+    snd (x ^ n) = ((List.range n).map fun i => x.fst ^ (n.pred - i) •> x.snd <• x.fst ^ i).sum :=
   rfl
 #align triv_sq_zero_ext.snd_pow_eq_sum TrivSqZeroExt.snd_pow_eq_sum
 
 theorem snd_pow_of_smul_comm [Monoid R] [AddMonoid M] [DistribMulAction R M]
     [DistribMulAction Rᵐᵒᵖ M] [SMulCommClass R Rᵐᵒᵖ M] (x : tsze R M) (n : ℕ)
-    (h : op x.fst • x.snd = x.fst • x.snd) : snd (x ^ n) = n • x.fst ^ n.pred • x.snd := by
-  have : ∀ n : ℕ, op (x.fst ^ n) • x.snd = x.fst ^ n • x.snd := by
-    intro n
-    induction' n with n ih
-    · simp
-    · rw [pow_succ', MulOpposite.op_mul, mul_smul, mul_smul, ← h,
-        smul_comm (_ : R) (op x.fst) x.snd, ih]
-  simp_rw [snd_pow_eq_sum, this, smul_smul, ← pow_add]
+    (h : x.snd <• x.fst = x.fst •> x.snd) : snd (x ^ n) = n • x.fst ^ n.pred •> x.snd := by
+  simp_rw [snd_pow_eq_sum, ← smul_comm (_ : R) (_ : Rᵐᵒᵖ), aux, smul_smul, ← pow_add]
   match n with
   | 0 => rw [Nat.pred_zero, pow_zero, List.range_zero, zero_smul, List.map_nil, List.sum_nil]
   | (Nat.succ n) =>
@@ -639,8 +633,19 @@ theorem snd_pow_of_smul_comm [Monoid R] [AddMonoid M] [DistribMulAction R M]
       obtain ⟨i, hi, rfl⟩ := hm
       rw [tsub_add_cancel_of_le (Nat.lt_succ_iff.mp hi)]
     · rw [List.length_map, List.length_range]
+where
+  aux : ∀ n : ℕ, x.snd <• x.fst ^ n = x.fst ^ n •> x.snd := by
+    intro n
+    induction' n with n ih
+    · simp
+    · rw [pow_succ', op_mul, mul_smul, mul_smul, ← h, smul_comm (_ : R) (op x.fst) x.snd, ih]
 #align triv_sq_zero_ext.snd_pow_of_smul_comm TrivSqZeroExt.snd_pow_of_smul_comm
 
+theorem snd_pow_of_smul_comm' [Monoid R] [AddMonoid M] [DistribMulAction R M]
+    [DistribMulAction Rᵐᵒᵖ M] [SMulCommClass R Rᵐᵒᵖ M] (x : tsze R M) (n : ℕ)
+    (h : x.snd <• x.fst = x.fst •> x.snd) : snd (x ^ n) = n • (x.snd <• x.fst ^ n.pred) := by
+  rw [snd_pow_of_smul_comm _ _ h, snd_pow_of_smul_comm.aux _ h]
+
 @[simp]
 theorem snd_pow [CommMonoid R] [AddMonoid M] [DistribMulAction R M] [DistribMulAction Rᵐᵒᵖ M]
     [IsCentralScalar R M] (x : tsze R M) (n : ℕ) : snd (x ^ n) = n • x.fst ^ n.pred • x.snd :=
@@ -659,9 +664,9 @@ instance monoid [Monoid R] [AddMonoid M] [DistribMulAction R M] [DistribMulActio
     mul_assoc := fun x y z =>
       ext (mul_assoc x.1 y.1 z.1) <|
         show
-          (x.1 * y.1) • z.2 + op z.1 • (x.1 • y.2 + op y.1 • x.2) =
-            x.1 • (y.1 • z.2 + op z.1 • y.2) + (op z.1 * op y.1) • x.2
-          by simp_rw [smul_add, ← mul_smul, add_assoc, smul_comm]
+          (x.1 * y.1) •> z.2 + (x.1 •> y.2 + x.2 <• y.1) <• z.1 =
+            x.1 •> (y.1 •> z.2 + y.2 <• z.1) + x.2 <• (y.1 * z.1)
+          by simp_rw [smul_add, ← mul_smul, add_assoc, smul_comm, op_mul]
     npow := fun n x => x ^ n
     npow_zero := fun x => ext (pow_zero x.fst) (by simp [snd_pow_eq_sum])
     npow_succ := fun n x =>
@@ -673,12 +678,13 @@ instance monoid [Monoid R] [AddMonoid M] [DistribMulAction R M] [DistribMulActio
           simp_rw [Nat.pred_succ]
           rw [List.range_succ, List.map_append, List.sum_append, List.map_singleton,
             List.sum_singleton, Nat.sub_self, pow_zero, one_smul, List.smul_sum, List.map_map,
-            fst_pow]  --porting note: `Function.comp` no longer works in `rw` so move to `simp_rw`
-          simp_rw [Function.comp, smul_smul, ← pow_succ, Nat.succ_eq_add_one]
+            fst_pow, Function.comp]
+          simp_rw [← smul_comm (_ : R) (_ : Rᵐᵒᵖ), smul_smul, ← pow_succ, Nat.succ_eq_add_one]
           congr 2
           refine' List.map_congr fun i hi => _
           rw [List.mem_range, Nat.lt_succ_iff] at hi
           rw [Nat.sub_add_comm hi]) }
+
 theorem fst_list_prod [Monoid R] [AddMonoid M] [DistribMulAction R M] [DistribMulAction Rᵐᵒᵖ M]
     [SMulCommClass R Rᵐᵒᵖ M] (l : List (tsze R M)) : l.prod.fst = (l.map fst).prod :=
   map_list_prod ({ toFun := fst, map_one' := fst_one, map_mul' := fst_mul } : tsze R M →* R) _
@@ -694,13 +700,14 @@ theorem snd_list_prod [Semiring R] [AddCommMonoid M] [Module R M] [Module Rᵐ
     [SMulCommClass R Rᵐᵒᵖ M] (l : List (tsze R M)) :
     l.prod.snd =
       (l.enum.map fun x : ℕ × tsze R M =>
-          ((l.map fst).take x.1).prod • op ((l.map fst).drop x.1.succ).prod • x.snd.snd).sum := by
+          ((l.map fst).take x.1).prod •> x.snd.snd <• ((l.map fst).drop x.1.succ).prod).sum := by
   induction' l with x xs ih
   · simp
   · rw [List.enum_cons, ← List.map_fst_add_enum_eq_enumFrom]
     simp_rw [List.map_cons, List.map_map, Function.comp, Prod.map_snd, Prod.map_fst, id,
       List.take_zero, List.take_cons, List.prod_nil, List.prod_cons, snd_mul, one_smul, List.drop,
-      mul_smul, List.sum_cons, fst_list_prod, ih, List.smul_sum, List.map_map]
+      mul_smul, List.sum_cons, fst_list_prod, ih, List.smul_sum, List.map_map,
+      ← smul_comm (_ : R) (_ : Rᵐᵒᵖ)]
     exact add_comm _ _
 #align triv_sq_zero_ext.snd_list_prod TrivSqZeroExt.snd_list_prod
 
@@ -713,7 +720,7 @@ instance commMonoid [CommMonoid R] [AddCommMonoid M] [DistribMulAction R M]
   { TrivSqZeroExt.monoid with
     mul_comm := fun x₁ x₂ =>
       ext (mul_comm x₁.1 x₂.1) <|
-        show x₁.1 • x₂.2 + op x₂.1 • x₁.2 = x₂.1 • x₁.2 + op x₁.1 • x₂.2 by
+        show x₁.1 •> x₂.2 + x₁.2 <• x₂.1 = x₂.1 •> x₁.2 + x₂.2 <• x₁.1 by
           rw [op_smul_eq_smul, op_smul_eq_smul, add_comm] }
 
 instance commSemiring [CommSemiring R] [AddCommMonoid M] [Module R M] [Module Rᵐᵒᵖ M]
@@ -757,14 +764,14 @@ instance algebra' : Algebra S (tsze R M) :=
     smul := (· • ·)
     commutes' := fun s x =>
       ext (Algebra.commutes _ _) <|
-        show algebraMap S R s • x.snd + op x.fst • (0 : M)
-            = x.fst • (0 : M) + op (algebraMap S R s) • x.snd by
+        show algebraMap S R s •> x.snd + (0 : M) <• x.fst
+            = x.fst •> (0 : M) + x.snd <• algebraMap S R s by
           rw [smul_zero, smul_zero, add_zero, zero_add]
-          rw [Algebra.algebraMap_eq_smul_one, MulOpposite.op_smul, MulOpposite.op_one, smul_assoc,
+          rw [Algebra.algebraMap_eq_smul_one, MulOpposite.op_smul, op_one, smul_assoc,
             one_smul, smul_assoc, one_smul]
-    smul_def' := fun r x =>
+    smul_def' := fun s x =>
       ext (Algebra.smul_def _ _) <|
-        show r • x.2 = algebraMap S R r • x.2 + op x.1 • (0 : M) by
+        show s • x.snd = algebraMap S R s •> x.snd + (0 : M) <• x.fst by
           rw [smul_zero, add_zero, algebraMap_smul] }
 #align triv_sq_zero_ext.algebra' TrivSqZeroExt.algebra'
 
@@ -831,7 +838,7 @@ Namely, we require that for an algebra morphism `f : R →ₐ[S] A` and a linear
 we have:
 
 * `g x * g y = 0`: the elements of `M` continue to square to zero.
-* `g (r • x) = f r * g x` and `g (op r • x) = g x * f r`: scalar multiplication on the left and
+* `g (r •> x) = f r * g x` and `g (x <• r) = g x * f r`: scalar multiplication on the left and
   right is sent to left- and right- multiplication by the image under `f`.
 
 See `TrivSqZeroExt.liftEquiv` for this as an equiv; namely that any such algebra morphism can be
@@ -841,8 +848,8 @@ When `R` is commutative, this can be invoked with `f = Algebra.ofId R A`, which
 `hgf`. This version is captured as an equiv by `TrivSqZeroExt.liftEquivOfComm`. -/
 def lift (f : R →ₐ[S] A) (g : M →ₗ[S] A)
     (hg : ∀ x y, g x * g y = 0)
-    (hfg : ∀ r x, g (r • x) = f r * g x)
-    (hgf : ∀ r x, g (op r • x) = g x * f r) : tsze R M →ₐ[S] A :=
+    (hfg : ∀ r x, g (r •> x) = f r * g x)
+    (hgf : ∀ r x, g (x <• r) = g x * f r) : tsze R M →ₐ[S] A :=
   AlgHom.ofLinearMap
     ((f.comp <| fstHom S R M).toLinearMap + g ∘ₗ (sndHom R M |>.restrictScalars S))
     (show f 1 + g (0 : M) = 1 by rw [map_zero, map_one, add_zero])
@@ -864,8 +871,8 @@ theorem lift_def (f : R →ₐ[S] A) (g : M →ₗ[S] A)
 @[simp]
 theorem lift_apply_inl (f : R →ₐ[S] A) (g : M →ₗ[S] A)
     (hg : ∀ x y, g x * g y = 0)
-    (hfg : ∀ r x, g (r • x) = f r * g x)
-    (hgf : ∀ r x, g (op r • x) = g x * f r)
+    (hfg : ∀ r x, g (r •> x) = f r * g x)
+    (hgf : ∀ r x, g (x <• r) = g x * f r)
     (r : R) :
     lift f g hg hfg hgf (inl r) = f r :=
   show f r + g 0 = f r by rw [map_zero, add_zero]
@@ -873,8 +880,8 @@ theorem lift_apply_inl (f : R →ₐ[S] A) (g : M →ₗ[S] A)
 @[simp]
 theorem lift_apply_inr (f : R →ₐ[S] A) (g : M →ₗ[S] A)
     (hg : ∀ x y, g x * g y = 0)
-    (hfg : ∀ r x, g (r • x) = f r * g x)
-    (hgf : ∀ r x, g (op r • x) = g x * f r)
+    (hfg : ∀ r x, g (r •> x) = f r * g x)
+    (hgf : ∀ r x, g (x <• r) = g x * f r)
     (m : M) :
     lift f g hg hfg hgf (inr m) = g m :=
   show f 0 + g m = g m by rw [map_zero, zero_add]
@@ -883,16 +890,16 @@ theorem lift_apply_inr (f : R →ₐ[S] A) (g : M →ₗ[S] A)
 @[simp]
 theorem lift_comp_inlHom (f : R →ₐ[S] A) (g : M →ₗ[S] A)
     (hg : ∀ x y, g x * g y = 0)
-    (hfg : ∀ r x, g (r • x) = f r * g x)
-    (hgf : ∀ r x, g (op r • x) = g x * f r) :
+    (hfg : ∀ r x, g (r •> x) = f r * g x)
+    (hgf : ∀ r x, g (x <• r) = g x * f r) :
     (lift f g hg hfg hgf).comp (inlAlgHom S R M) = f :=
   AlgHom.ext <| lift_apply_inl f g hg hfg hgf
 
 @[simp]
 theorem lift_comp_inrHom (f : R →ₐ[S] A) (g : M →ₗ[S] A)
     (hg : ∀ x y, g x * g y = 0)
-    (hfg : ∀ r x, g (r • x) = f r * g x)
-    (hgf : ∀ r x, g (op r • x) = g x * f r) :
+    (hfg : ∀ r x, g (r •> x) = f r * g x)
+    (hgf : ∀ r x, g (x <• r) = g x * f r) :
     (lift f g hg hfg hgf).toLinearMap.comp (inrHom R M |>.restrictScalars S) = g :=
   LinearMap.ext <| lift_apply_inr f g hg hfg hgf
 #align triv_sq_zero_ext.lift_aux_comp_inr_hom TrivSqZeroExt.lift_comp_inrHom
@@ -916,8 +923,8 @@ This isomorphism is named to match the very similar `Complex.lift`. -/
 def liftEquiv :
     {fg : (R →ₐ[S] A) × (M →ₗ[S] A) //
       (∀ x y, fg.2 x * fg.2 y = 0) ∧
-      (∀ r x, fg.2 (r • x) = fg.1 r * fg.2 x) ∧
-      (∀ r x, fg.2 (op r • x) = fg.2 x * fg.1 r)} ≃ (tsze R M →ₐ[S] A) where
+      (∀ r x, fg.2 (r •> x) = fg.1 r * fg.2 x) ∧
+      (∀ r x, fg.2 (x <• r) = fg.2 x * fg.1 r)} ≃ (tsze R M →ₐ[S] A) where
   toFun fg := lift fg.val.1 fg.val.2 fg.prop.1 fg.prop.2.1 fg.prop.2.2
   invFun F :=
     ⟨(F.comp (inlAlgHom _ _ _), F.toLinearMap ∘ₗ (inrHom _ _ |>.restrictScalars _)),
feat(LinearAlgebra/{ExteriorAlgebra,CliffordAlgebra}): Functoriality of the exterior algebra and some lemmas about generation (#9718)

This does a few things:

  • Define the algebra morphism TrivSqZeroExt.map f between trivial square-zero extensions induced by a linear mapf, and establish some of its basic properties (functoriality, composition with the basic maps to/from TrivSqZeroExt). Note that we only consider the case of a commutative base ring, because the case of a general base ring requires morphisms of bimodules, which we do not have.

  • Define the algebra morphism ExteriorAlgebra.map f between exterior algebras induced by a linear map f. This is a straightforward application of the similar construction for Clifford algebras, but I think it is still useful to have. Basic properties of this construction are proved: functoriality, composition with ExteriorAlgebra.ι, ExteriorAlgebra.ιInv (this part uses the first point) and ExteriorAlgebra.ιMulti. Then exactness properties of the construction is studied:

    • If the linear map is surjective, then the map on exterior algebras is also surjective. This actually holds for Clifford algebras, so I added a lemma called CliffordAlgebra.map_surjective in LinearAlgebra/CliffordAlgebra/Basic.lean. For exterior algebras, the converse holds and is also proved.
    • If the linear map has a retraction, then the map on exterior algebras is injective. So if the base ring is a field, the map on exterior algebras is injective if the linear map is injective.
  • Establish some properties of ExteriorAlgebra.ιMulti:

    • ExteriorAlgebra.ιMulti_range: The range of ιMulti R n is contained in the nth exterior power (define here as LinearMap.range (ι R : M →ₗ[R] ExteriorAlgebra R M) ^ n).
    • ExteriorAlgebra.ιMulti_span_fixedDegree: This range spans the nth exterior power.
    • ExteriorAlgebra.ιMulti_span: The union over all n of the range of ιMulti R n spans the whole exterior algebra (this is in LinearAlgebra/ExteriorAlgebra/Grading.lean because the proof uses the graded module structure, but it might be possible to do something simpler).
  • Construct ExteriorAlgebra.ιMulti_family: This takes a natural number n and a family of vectors v indexed by a linearly ordered type I, and it returns the family of n-fold products of the v i in the exterior algebra, indexed by the set of finsets of I of cardinality n. (The point, to be proved in another PR, is that when v is a basis, then ExteriorAlgebra.ιMulti_family R n v is a basis of the nth exterior power.)

Co-authored-by: morel <smorel@math.princeton.edu> Co-authored-by: smorel394 <67864981+smorel394@users.noreply.github.com>

Diff
@@ -854,6 +854,13 @@ def lift (f : R →ₐ[S] A) (g : M →ₗ[S] A)
         rw [← AlgHom.map_mul, LinearMap.map_add, add_comm (g _), add_assoc, hfg, hgf])
 #align triv_sq_zero_ext.lift_aux TrivSqZeroExt.lift
 
+theorem lift_def (f : R →ₐ[S] A) (g : M →ₗ[S] A)
+    (hg : ∀ x y, g x * g y = 0)
+    (hfg : ∀ r x, g (r • x) = f r * g x)
+    (hgf : ∀ r x, g (op r • x) = g x * f r) (x : tsze R M) :
+    lift f g hg hfg hgf x = f x.fst + g x.snd :=
+  rfl
+
 @[simp]
 theorem lift_apply_inl (f : R →ₐ[S] A) (g : M →ₗ[S] A)
     (hg : ∀ x y, g x * g y = 0)
@@ -905,7 +912,7 @@ where the range of `g` has no non-zero products, and scaling the input to `g` on
 amounts to a corresponding multiplication by `f` in the output.
 
 This isomorphism is named to match the very similar `Complex.lift`. -/
-@[simps!]
+@[simps! apply symm_apply_coe]
 def liftEquiv :
     {fg : (R →ₐ[S] A) × (M →ₗ[S] A) //
       (∀ x y, fg.2 x * fg.2 y = 0) ∧
@@ -922,6 +929,7 @@ def liftEquiv :
   right_inv _F := algHom_ext' (lift_comp_inlHom _ _ _ _ _) (lift_comp_inrHom _ _ _ _ _)
 
 /-- A simplified version of `TrivSqZeroExt.liftEquiv` for the commutative case. -/
+@[simps! apply symm_apply_coe]
 def liftEquivOfComm :
     { f : M →ₗ[R'] A // ∀ x y, f x * f y = 0 } ≃ (tsze R' M →ₐ[R'] A) := by
   refine Equiv.trans ?_ liftEquiv
@@ -936,6 +944,68 @@ def liftEquivOfComm :
       rfl }
 #align triv_sq_zero_ext.lift TrivSqZeroExt.liftEquiv
 
+section map
+
+variable {N P : Type*} [AddCommMonoid N] [Module R' N] [Module R'ᵐᵒᵖ N] [IsCentralScalar R' N]
+  [AddCommMonoid P] [Module R' P] [Module R'ᵐᵒᵖ P] [IsCentralScalar R' P]
+
+/-- Functoriality of `TrivSqZeroExt` when the ring is commutative: a linear map
+`f : M →ₗ[R'] N` induces a morphism of `R'`-algebras from `TrivSqZeroExt R' M` to
+`TrivSqZeroExt R' N`.
+
+Note that we cannot neatly state the non-commutative case, as we do not have morphisms of bimodules.
+-/
+def map (f : M →ₗ[R'] N) : TrivSqZeroExt R' M →ₐ[R'] TrivSqZeroExt R' N :=
+  liftEquivOfComm ⟨inrHom R' N ∘ₗ f, fun _ _ => inr_mul_inr _ _ _⟩
+
+@[simp]
+theorem map_inl (f : M →ₗ[R'] N) (r : R') : map f (inl r) = inl r := by
+  rw [map, liftEquivOfComm_apply, lift_apply_inl, Algebra.ofId_apply, algebraMap_eq_inl]
+
+@[simp]
+theorem map_inr (f : M →ₗ[R'] N) (x : M) : map f (inr x) = inr (f x) := by
+  rw [map, liftEquivOfComm_apply, lift_apply_inr, LinearMap.comp_apply, inrHom_apply]
+
+@[simp]
+theorem fst_map (f : M →ₗ[R'] N) (x : TrivSqZeroExt R' M) : fst (map f x) = fst x := by
+  simp [map, lift_def, Algebra.ofId_apply, algebraMap_eq_inl]
+
+@[simp]
+theorem snd_map (f : M →ₗ[R'] N) (x : TrivSqZeroExt R' M) : snd (map f x) = f (snd x) := by
+  simp [map, lift_def, Algebra.ofId_apply, algebraMap_eq_inl]
+
+@[simp]
+theorem map_comp_inlAlgHom (f : M →ₗ[R'] N) :
+    (map f).comp (inlAlgHom R' R' M) = inlAlgHom R' R' N :=
+  AlgHom.ext <| map_inl _
+
+@[simp]
+theorem map_comp_inrHom (f : M →ₗ[R'] N) :
+    (map f).toLinearMap ∘ₗ inrHom R' M = inrHom R' N ∘ₗ f :=
+  LinearMap.ext <| map_inr _
+
+@[simp]
+theorem fstHom_comp_map (f : M →ₗ[R'] N) :
+    (fstHom R' R' N).comp (map f) = fstHom R' R' M :=
+  AlgHom.ext <| fst_map _
+
+@[simp]
+theorem sndHom_comp_map (f : M →ₗ[R'] N) :
+    sndHom R' N ∘ₗ (map f).toLinearMap = f ∘ₗ sndHom R' M :=
+  LinearMap.ext <| snd_map _
+
+@[simp]
+theorem map_id : map (LinearMap.id : M →ₗ[R'] M) = AlgHom.id R' _ := by
+  apply algHom_ext
+  simp only [map_inr, LinearMap.id_coe, id_eq, AlgHom.coe_id, forall_const]
+
+theorem map_comp_map (f : M →ₗ[R'] N) (g : N →ₗ[R'] P) :
+    map (g.comp f) = (map g).comp (map f) := by
+  apply algHom_ext
+  simp only [map_inr, LinearMap.coe_comp, Function.comp_apply, AlgHom.coe_comp, forall_const]
+
+end map
+
 end Algebra
 
 end TrivSqZeroExt
refactor(Algebra/DualNumber): generalize the universal property to non-commutative rings (#7934)

The current universal properties of TrivSqZeroExt and DualNumber work only when the underlying ring is commutative. This is not the case for things like the dual quaternions.

This generalizes both sets of results to the non-commutative case. Unfortunately the new TrivSqZeroExt version is rather involved, so this keeps the old statement as a special case.

The new DualNumber version is less bad, so I just discarded the commutative special case.

For dual numbers, the generalization is from R[ε] →ₐ[R] B to A[ε] →ₐ[R] B, where R is commutative but A may not be. Some variable names had to be shuffled to make the new statement look nice.

Diff
@@ -40,13 +40,18 @@ Many of the later results in this file are only stated for the commutative `R'`
 * `TrivSqZeroExt.fst`, `TrivSqZeroExt.snd`: the canonical projections from
   `TrivSqZeroExt R M`.
 * `triv_sq_zero_ext.algebra`: the associated `R`-algebra structure.
+* `TrivSqZeroExt.lift`: the universal property of the trivial square-zero extension; algebra
+  morphisms `TrivSqZeroExt R M →ₐ[S] A` are uniquely defined by an algebra morphism `f : R →ₐ[S] A`
+  on `R` and a linear map `g : M →ₗ[S] A` on `M` such that:
+  * `g x * g y = 0`: the elements of `M` continue to square to zero.
+  * `g (r • x) = f r * g x` and `g (op r • x) = g x * f r`: left and right actions are preserved by
+    `g`.
 * `TrivSqZeroExt.lift`: the universal property of the trivial square-zero extension; algebra
   morphisms `TrivSqZeroExt R M →ₐ[R] A` are uniquely defined by linear maps `M →ₗ[R] A` for
   which the product of any two elements in the range is zero.
 
 -/
 
-
 universe u v w
 
 /-- "Trivial Square-Zero Extension".
@@ -500,6 +505,16 @@ theorem inr_mul_inl [Semiring R] [AddCommMonoid M] [Module R M] [Module Rᵐᵒ
     show (0 : R) • (0 : M) + op r • m = op r • m by rw [smul_zero, zero_add]
 #align triv_sq_zero_ext.inr_mul_inl TrivSqZeroExt.inr_mul_inl
 
+theorem inl_mul_eq_smul [Semiring R] [AddCommMonoid M] [Module R M] [Module Rᵐᵒᵖ M]
+    (r : R) (x : tsze R M) :
+    inl r * x = r • x :=
+  ext rfl (by dsimp; rw [smul_zero, add_zero])
+
+theorem mul_inl_eq_op_smul [Semiring R] [AddCommMonoid M] [Module R M] [Module Rᵐᵒᵖ M]
+    (x : tsze R M) (r : R) :
+    x * inl r = op r • x :=
+  ext rfl (by dsimp; rw [smul_zero, zero_add])
+
 instance mulOneClass [Monoid R] [AddMonoid M] [DistribMulAction R M] [DistribMulAction Rᵐᵒᵖ M] :
     MulOneClass (tsze R M) :=
   { TrivSqZeroExt.one, TrivSqZeroExt.mul with
@@ -769,7 +784,7 @@ theorem algebraMap_eq_inl' (s : S) : algebraMap S (tsze R M) s = inl (algebraMap
   rfl
 #align triv_sq_zero_ext.algebra_map_eq_inl' TrivSqZeroExt.algebraMap_eq_inl'
 
-/-- The canonical `R`-algebra projection `TrivSqZeroExt R M → R`. -/
+/-- The canonical `S`-algebra projection `TrivSqZeroExt R M → R`. -/
 @[simps]
 def fstHom : tsze R M →ₐ[S] R where
   toFun := fst
@@ -780,6 +795,16 @@ def fstHom : tsze R M →ₐ[S] R where
   commutes' _r := fst_inl M _
 #align triv_sq_zero_ext.fst_hom TrivSqZeroExt.fstHom
 
+/-- The canonical `S`-algebra inclusion `R → TrivSqZeroExt R M`. -/
+@[simps]
+def inlAlgHom : R →ₐ[S] tsze R M where
+  toFun := inl
+  map_one' := inl_one _
+  map_mul' := inl_mul _
+  map_zero' := inl_zero (M := M)
+  map_add' := inl_add _
+  commutes' _r := (algebraMap_eq_inl' _ _ _ _).symm
+
 variable {R R' S M}
 
 theorem algHom_ext {A} [Semiring A] [Algebra R' A] ⦃f g : tsze R' M →ₐ[R'] A⦄
@@ -789,64 +814,127 @@ theorem algHom_ext {A} [Semiring A] [Algebra R' A] ⦃f g : tsze R' M →ₐ[R']
 #align triv_sq_zero_ext.alg_hom_ext TrivSqZeroExt.algHom_ext
 
 @[ext]
-theorem algHom_ext' {A} [Semiring A] [Algebra R' A] ⦃f g : tsze R' M →ₐ[R'] A⦄
-    (h : f.toLinearMap.comp (inrHom R' M) = g.toLinearMap.comp (inrHom R' M)) : f = g :=
-  algHom_ext <| LinearMap.congr_fun h
+theorem algHom_ext' {A} [Semiring A] [Algebra S A] ⦃f g : tsze R M →ₐ[S] A⦄
+    (hinl : f.comp (inlAlgHom S R M) = g.comp (inlAlgHom S R M))
+    (hinr : f.toLinearMap.comp (inrHom R M |>.restrictScalars S) =
+      g.toLinearMap.comp (inrHom R M |>.restrictScalars S)) : f = g :=
+  AlgHom.toLinearMap_injective <|
+    linearMap_ext (AlgHom.congr_fun hinl) (LinearMap.congr_fun hinr)
 #align triv_sq_zero_ext.alg_hom_ext' TrivSqZeroExt.algHom_ext'
 
-variable {A : Type*} [Semiring A] [Algebra R' A]
+variable {A : Type*} [Semiring A] [Algebra S A] [Algebra R' A]
+
+/--
+Assemble an algebra morphism `TrivSqZeroExt R M →ₐ[S] A` from separate morphisms on `R` and `M`.
+
+Namely, we require that for an algebra morphism `f : R →ₐ[S] A` and a linear map `g : M →ₗ[S] A`,
+we have:
 
-/-- There is an alg_hom from the trivial square zero extension to any `R`-algebra with a submodule
-whose products are all zero.
+* `g x * g y = 0`: the elements of `M` continue to square to zero.
+* `g (r • x) = f r * g x` and `g (op r • x) = g x * f r`: scalar multiplication on the left and
+  right is sent to left- and right- multiplication by the image under `f`.
 
-See `TrivSqZeroExt.lift` for this as an equiv. -/
-def liftAux (f : M →ₗ[R'] A) (hf : ∀ x y, f x * f y = 0) : tsze R' M →ₐ[R'] A :=
+See `TrivSqZeroExt.liftEquiv` for this as an equiv; namely that any such algebra morphism can be
+factored in this way.
+
+When `R` is commutative, this can be invoked with `f = Algebra.ofId R A`, which satisfies `hfg` and
+`hgf`. This version is captured as an equiv by `TrivSqZeroExt.liftEquivOfComm`. -/
+def lift (f : R →ₐ[S] A) (g : M →ₗ[S] A)
+    (hg : ∀ x y, g x * g y = 0)
+    (hfg : ∀ r x, g (r • x) = f r * g x)
+    (hgf : ∀ r x, g (op r • x) = g x * f r) : tsze R M →ₐ[S] A :=
   AlgHom.ofLinearMap
-    ((Algebra.linearMap R' A).comp (fstHom R' R' M).toLinearMap + f.comp (sndHom R' M))
-    (show algebraMap R' A 1 + f (0 : M) = 1 by rw [map_zero, map_one, add_zero])
+    ((f.comp <| fstHom S R M).toLinearMap + g ∘ₗ (sndHom R M |>.restrictScalars S))
+    (show f 1 + g (0 : M) = 1 by rw [map_zero, map_one, add_zero])
     (TrivSqZeroExt.ind fun r₁ m₁ =>
       TrivSqZeroExt.ind fun r₂ m₂ => by
         dsimp
-        simp only [add_zero, zero_add, add_mul, mul_add, smul_mul_smul, hf, smul_zero,
+        simp only [add_zero, zero_add, add_mul, mul_add, smul_mul_smul, hg, smul_zero,
           op_smul_eq_smul]
-        rw [← RingHom.map_mul, LinearMap.map_add, ← Algebra.commutes _ (f _), ← Algebra.smul_def, ←
-          Algebra.smul_def, add_right_comm, add_assoc, LinearMap.map_smul, LinearMap.map_smul])
-#align triv_sq_zero_ext.lift_aux TrivSqZeroExt.liftAux
-
-@[simp]
-theorem liftAux_apply_inr (f : M →ₗ[R'] A) (hf : ∀ x y, f x * f y = 0) (m : M) :
-    liftAux f hf (inr m) = f m :=
-  show algebraMap R' A 0 + f m = f m by rw [RingHom.map_zero, zero_add]
-#align triv_sq_zero_ext.lift_aux_apply_inr TrivSqZeroExt.liftAux_apply_inr
-
-@[simp]
-theorem liftAux_comp_inrHom (f : M →ₗ[R'] A) (hf : ∀ x y, f x * f y = 0) :
-    (liftAux f hf).toLinearMap.comp (inrHom R' M) = f :=
-  LinearMap.ext <| liftAux_apply_inr f hf
-#align triv_sq_zero_ext.lift_aux_comp_inr_hom TrivSqZeroExt.liftAux_comp_inrHom
-
-/-- When applied to `inr` itself, `liftAux` is the identity. -/
-@[simp]
-theorem liftAux_inrHom : liftAux (inrHom R' M) (inr_mul_inr R') = AlgHom.id R' (tsze R' M) :=
-  algHom_ext' <| liftAux_comp_inrHom _ _
-#align triv_sq_zero_ext.lift_aux_inr_hom TrivSqZeroExt.liftAux_inrHom
+        rw [← AlgHom.map_mul, LinearMap.map_add, add_comm (g _), add_assoc, hfg, hgf])
+#align triv_sq_zero_ext.lift_aux TrivSqZeroExt.lift
+
+@[simp]
+theorem lift_apply_inl (f : R →ₐ[S] A) (g : M →ₗ[S] A)
+    (hg : ∀ x y, g x * g y = 0)
+    (hfg : ∀ r x, g (r • x) = f r * g x)
+    (hgf : ∀ r x, g (op r • x) = g x * f r)
+    (r : R) :
+    lift f g hg hfg hgf (inl r) = f r :=
+  show f r + g 0 = f r by rw [map_zero, add_zero]
+
+@[simp]
+theorem lift_apply_inr (f : R →ₐ[S] A) (g : M →ₗ[S] A)
+    (hg : ∀ x y, g x * g y = 0)
+    (hfg : ∀ r x, g (r • x) = f r * g x)
+    (hgf : ∀ r x, g (op r • x) = g x * f r)
+    (m : M) :
+    lift f g hg hfg hgf (inr m) = g m :=
+  show f 0 + g m = g m by rw [map_zero, zero_add]
+#align triv_sq_zero_ext.lift_aux_apply_inr TrivSqZeroExt.lift_apply_inr
+
+@[simp]
+theorem lift_comp_inlHom (f : R →ₐ[S] A) (g : M →ₗ[S] A)
+    (hg : ∀ x y, g x * g y = 0)
+    (hfg : ∀ r x, g (r • x) = f r * g x)
+    (hgf : ∀ r x, g (op r • x) = g x * f r) :
+    (lift f g hg hfg hgf).comp (inlAlgHom S R M) = f :=
+  AlgHom.ext <| lift_apply_inl f g hg hfg hgf
+
+@[simp]
+theorem lift_comp_inrHom (f : R →ₐ[S] A) (g : M →ₗ[S] A)
+    (hg : ∀ x y, g x * g y = 0)
+    (hfg : ∀ r x, g (r • x) = f r * g x)
+    (hgf : ∀ r x, g (op r • x) = g x * f r) :
+    (lift f g hg hfg hgf).toLinearMap.comp (inrHom R M |>.restrictScalars S) = g :=
+  LinearMap.ext <| lift_apply_inr f g hg hfg hgf
+#align triv_sq_zero_ext.lift_aux_comp_inr_hom TrivSqZeroExt.lift_comp_inrHom
+
+/-- When applied to `inr` and `inl` themselves, `lift` is the identity. -/
+@[simp]
+theorem lift_inlAlgHom_inrHom :
+    lift (inlAlgHom _ _ _) (inrHom R M |>.restrictScalars S)
+      (inr_mul_inr R) (fun _ _ => (inl_mul_inr _ _).symm) (fun _ _ => (inr_mul_inl _ _).symm) =
+    AlgHom.id S (tsze R M) :=
+  algHom_ext' (lift_comp_inlHom _ _ _ _ _) (lift_comp_inrHom _ _ _ _ _)
+#align triv_sq_zero_ext.lift_aux_inr_hom TrivSqZeroExt.lift_inlAlgHom_inrHomₓ
 
 /-- A universal property of the trivial square-zero extension, providing a unique
-`TrivSqZeroExt R M →ₐ[R] A` for every linear map `M →ₗ[R] A` whose range has no non-zero
-products.
+`TrivSqZeroExt R M →ₐ[R] A` for every pair of maps `f : R →ₐ[S] A` and `g : M →ₗ[S] A`,
+where the range of `g` has no non-zero products, and scaling the input to `g` on the left or right
+amounts to a corresponding multiplication by `f` in the output.
 
 This isomorphism is named to match the very similar `Complex.lift`. -/
-@[simps]
-def lift : { f : M →ₗ[R'] A // ∀ x y, f x * f y = 0 } ≃ (tsze R' M →ₐ[R'] A) where
-  toFun f := liftAux f f.prop
+@[simps!]
+def liftEquiv :
+    {fg : (R →ₐ[S] A) × (M →ₗ[S] A) //
+      (∀ x y, fg.2 x * fg.2 y = 0) ∧
+      (∀ r x, fg.2 (r • x) = fg.1 r * fg.2 x) ∧
+      (∀ r x, fg.2 (op r • x) = fg.2 x * fg.1 r)} ≃ (tsze R M →ₐ[S] A) where
+  toFun fg := lift fg.val.1 fg.val.2 fg.prop.1 fg.prop.2.1 fg.prop.2.2
   invFun F :=
-    ⟨F.toLinearMap.comp (inrHom R' M), fun _x _y =>
-      (F.map_mul _ _).symm.trans <| (F.congr_arg <| inr_mul_inr _ _ _).trans F.map_zero⟩
-  left_inv f := Subtype.ext <| liftAux_comp_inrHom _ f.prop
-  right_inv _F := algHom_ext' <| liftAux_comp_inrHom _ _
-#align triv_sq_zero_ext.lift TrivSqZeroExt.lift
-
-attribute [nolint simpNF] lift_symm_apply_coe
+    ⟨(F.comp (inlAlgHom _ _ _), F.toLinearMap ∘ₗ (inrHom _ _ |>.restrictScalars _)),
+      (fun _x _y =>
+        (F.map_mul _ _).symm.trans <| (F.congr_arg <| inr_mul_inr _ _ _).trans F.map_zero),
+      (fun _r _x => (F.congr_arg (inl_mul_inr _ _).symm).trans (F.map_mul _ _)),
+      (fun _r _x => (F.congr_arg (inr_mul_inl _ _).symm).trans (F.map_mul _ _))⟩
+  left_inv _f := Subtype.ext <| Prod.ext (lift_comp_inlHom _ _ _ _ _) (lift_comp_inrHom _ _ _ _ _)
+  right_inv _F := algHom_ext' (lift_comp_inlHom _ _ _ _ _) (lift_comp_inrHom _ _ _ _ _)
+
+/-- A simplified version of `TrivSqZeroExt.liftEquiv` for the commutative case. -/
+def liftEquivOfComm :
+    { f : M →ₗ[R'] A // ∀ x y, f x * f y = 0 } ≃ (tsze R' M →ₐ[R'] A) := by
+  refine Equiv.trans ?_ liftEquiv
+  exact {
+    toFun := fun f => ⟨(Algebra.ofId _ _, f.val), f.prop,
+      fun r x => by simp [Algebra.smul_def, Algebra.ofId_apply],
+      fun r x => by simp [Algebra.smul_def, Algebra.ofId_apply, Algebra.commutes]⟩
+    invFun := fun fg => ⟨fg.val.2, fg.prop.1⟩
+    left_inv := fun f => rfl
+    right_inv := fun fg => Subtype.ext <|
+      Prod.ext (AlgHom.toLinearMap_injective <| LinearMap.ext_ring <| by simp)
+      rfl }
+#align triv_sq_zero_ext.lift TrivSqZeroExt.liftEquiv
 
 end Algebra
 
chore: redistribute some of the results in LinearAlgebra.Basic (#7801)

This reduces the file from ~2600 lines to ~1600 lines.

Co-authored-by: Vierkantor <vierkantor@vierkantor.com> Co-authored-by: Floris van Doorn <fpvdoorn@gmail.com>

Diff
@@ -4,6 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Kenny Lau, Eric Wieser
 -/
 import Mathlib.Algebra.Algebra.Basic
+import Mathlib.GroupTheory.GroupAction.BigOperators
 import Mathlib.LinearAlgebra.Prod
 
 #align_import algebra.triv_sq_zero_ext from "leanprover-community/mathlib"@"ce7e9d53d4bbc38065db3b595cd5bd73c323bc1d"
doc: convert comments to docstrings and doc-comments (#7951)
Diff
@@ -824,7 +824,7 @@ theorem liftAux_comp_inrHom (f : M →ₗ[R'] A) (hf : ∀ x y, f x * f y = 0) :
   LinearMap.ext <| liftAux_apply_inr f hf
 #align triv_sq_zero_ext.lift_aux_comp_inr_hom TrivSqZeroExt.liftAux_comp_inrHom
 
--- When applied to `inr` itself, `lift_aux` is the identity.
+/-- When applied to `inr` itself, `liftAux` is the identity. -/
 @[simp]
 theorem liftAux_inrHom : liftAux (inrHom R' M) (inr_mul_inr R') = AlgHom.id R' (tsze R' M) :=
   algHom_ext' <| liftAux_comp_inrHom _ _
chore: use _root_.map_sum more consistently (#7189)

Also _root_.map_smul when in the neighbourhood.

Diff
@@ -335,7 +335,7 @@ theorem inl_smul [Monoid S] [AddMonoid M] [SMul S R] [DistribMulAction S M] (s :
 
 theorem inl_sum {ι} [AddCommMonoid R] [AddCommMonoid M] (s : Finset ι) (f : ι → R) :
     (inl (∑ i in s, f i) : tsze R M) = ∑ i in s, inl (f i) :=
-  (LinearMap.inl ℕ _ _).map_sum
+  map_sum (LinearMap.inl ℕ _ _) _ _
 #align triv_sq_zero_ext.inl_sum TrivSqZeroExt.inl_sum
 
 end
@@ -374,7 +374,7 @@ theorem inr_smul [Zero R] [Zero S] [SMulWithZero S R] [SMul S M] (r : S) (m : M)
 
 theorem inr_sum {ι} [AddCommMonoid R] [AddCommMonoid M] (s : Finset ι) (f : ι → M) :
     (inr (∑ i in s, f i) : tsze R M) = ∑ i in s, inr (f i) :=
-  (LinearMap.inr ℕ _ _).map_sum
+  map_sum (LinearMap.inr ℕ _ _) _ _
 #align triv_sq_zero_ext.inr_sum TrivSqZeroExt.inr_sum
 
 end
chore: drop MulZeroClass. in mul_zero/zero_mul (#6682)

Search&replace MulZeroClass.mul_zero -> mul_zero, MulZeroClass.zero_mul -> zero_mul.

These were introduced by Mathport, as the full name of mul_zero is actually MulZeroClass.mul_zero (it's exported with the short name).

Diff
@@ -481,7 +481,7 @@ variable (R)
 @[simp]
 theorem inr_mul_inr [Semiring R] [AddCommMonoid M] [Module R M] [Module Rᵐᵒᵖ M] (m₁ m₂ : M) :
     (inr m₁ * inr m₂ : tsze R M) = 0 :=
-  ext (MulZeroClass.mul_zero _) <|
+  ext (mul_zero _) <|
     show (0 : R) • m₂ + (0 : Rᵐᵒᵖ) • m₁ = 0 by rw [zero_smul, zero_add, zero_smul]
 #align triv_sq_zero_ext.inr_mul_inr TrivSqZeroExt.inr_mul_inr
 
@@ -489,13 +489,13 @@ end
 
 theorem inl_mul_inr [Semiring R] [AddCommMonoid M] [Module R M] [Module Rᵐᵒᵖ M] (r : R) (m : M) :
     (inl r * inr m : tsze R M) = inr (r • m) :=
-  ext (MulZeroClass.mul_zero r) <|
+  ext (mul_zero r) <|
     show r • m + (0 : Rᵐᵒᵖ) • (0 : M) = r • m by rw [smul_zero, add_zero]
 #align triv_sq_zero_ext.inl_mul_inr TrivSqZeroExt.inl_mul_inr
 
 theorem inr_mul_inl [Semiring R] [AddCommMonoid M] [Module R M] [Module Rᵐᵒᵖ M] (r : R) (m : M) :
     (inr m * inl r : tsze R M) = inr (op r • m) :=
-  ext (MulZeroClass.zero_mul r) <|
+  ext (zero_mul r) <|
     show (0 : R) • (0 : M) + op r • m = op r • m by rw [smul_zero, zero_add]
 #align triv_sq_zero_ext.inr_mul_inl TrivSqZeroExt.inr_mul_inl
 
@@ -555,10 +555,10 @@ instance nonAssocSemiring [Semiring R] [AddCommMonoid M] [Module R M] [Module R
     NonAssocSemiring (tsze R M) :=
   { TrivSqZeroExt.addMonoidWithOne, TrivSqZeroExt.mulOneClass, TrivSqZeroExt.addCommMonoid with
     zero_mul := fun x =>
-      ext (MulZeroClass.zero_mul x.1) <|
+      ext (zero_mul x.1) <|
         show (0 : R) • x.2 + op x.1 • (0 : M) = 0 by rw [zero_smul, zero_add, smul_zero]
     mul_zero := fun x =>
-      ext (MulZeroClass.mul_zero x.1) <|
+      ext (mul_zero x.1) <|
         show x.1 • (0 : M) + (0 : Rᵐᵒᵖ) • x.2 = 0 by rw [smul_zero, zero_add, zero_smul]
     left_distrib := fun x₁ x₂ x₃ =>
       ext (mul_add x₁.1 x₂.1 x₃.1) <|
chore: banish Type _ and Sort _ (#6499)

We remove all possible occurences of Type _ and Sort _ in favor of Type* and Sort*.

This has nice performance benefits.

Diff
@@ -177,7 +177,7 @@ Additive operators and scalar multiplication operate elementwise. -/
 
 section Additive
 
-variable {T : Type _} {S : Type _} {R : Type u} {M : Type v}
+variable {T : Type*} {S : Type*} {R : Type u} {M : Type v}
 
 instance inhabited [Inhabited R] [Inhabited M] : Inhabited (tsze R M) :=
   instInhabitedProd
@@ -724,7 +724,7 @@ end Mul
 
 section Algebra
 
-variable (S : Type _) (R R' : Type u) (M : Type v)
+variable (S : Type*) (R R' : Type u) (M : Type v)
 
 variable [CommSemiring S] [Semiring R] [CommSemiring R'] [AddCommMonoid M]
 
@@ -793,7 +793,7 @@ theorem algHom_ext' {A} [Semiring A] [Algebra R' A] ⦃f g : tsze R' M →ₐ[R'
   algHom_ext <| LinearMap.congr_fun h
 #align triv_sq_zero_ext.alg_hom_ext' TrivSqZeroExt.algHom_ext'
 
-variable {A : Type _} [Semiring A] [Algebra R' A]
+variable {A : Type*} [Semiring A] [Algebra R' A]
 
 /-- There is an alg_hom from the trivial square zero extension to any `R`-algebra with a submodule
 whose products are all zero.
chore: ensure all instances referred to directly have explicit names (#6423)

Per https://github.com/leanprover/lean4/issues/2343, we are going to need to change the automatic generation of instance names, as they become too long.

This PR ensures that everywhere in Mathlib that refers to an instance by name, that name is given explicitly, rather than being automatically generated.

There are four exceptions, which are now commented, with links to https://github.com/leanprover/lean4/issues/2343.

This was implemented by running Mathlib against a modified Lean that appended _ᾰ to all automatically generated names, and fixing everything.

Co-authored-by: Scott Morrison <scott.morrison@gmail.com>

Diff
@@ -183,37 +183,37 @@ instance inhabited [Inhabited R] [Inhabited M] : Inhabited (tsze R M) :=
   instInhabitedProd
 
 instance zero [Zero R] [Zero M] : Zero (tsze R M) :=
-  Prod.instZeroSum
+  Prod.instZero
 
 instance add [Add R] [Add M] : Add (tsze R M) :=
-  Prod.instAddSum
+  Prod.instAdd
 
 instance sub [Sub R] [Sub M] : Sub (tsze R M) :=
-  Prod.instSubSum
+  Prod.instSub
 
 instance neg [Neg R] [Neg M] : Neg (tsze R M) :=
-  Prod.instNegSum
+  Prod.instNeg
 
 instance addSemigroup [AddSemigroup R] [AddSemigroup M] : AddSemigroup (tsze R M) :=
-  Prod.instAddSemigroupSum
+  Prod.instAddSemigroup
 
 instance addZeroClass [AddZeroClass R] [AddZeroClass M] : AddZeroClass (tsze R M) :=
-  Prod.instAddZeroClassSum
+  Prod.instAddZeroClass
 
 instance addMonoid [AddMonoid R] [AddMonoid M] : AddMonoid (tsze R M) :=
-  Prod.instAddMonoidSum
+  Prod.instAddMonoid
 
 instance addGroup [AddGroup R] [AddGroup M] : AddGroup (tsze R M) :=
-  Prod.instAddGroupSum
+  Prod.instAddGroup
 
 instance addCommSemigroup [AddCommSemigroup R] [AddCommSemigroup M] : AddCommSemigroup (tsze R M) :=
-  Prod.instAddCommSemigroupSum
+  Prod.instAddCommSemigroup
 
 instance addCommMonoid [AddCommMonoid R] [AddCommMonoid M] : AddCommMonoid (tsze R M) :=
-  Prod.instAddCommMonoidSum
+  Prod.instAddCommMonoid
 
 instance addCommGroup [AddCommGroup R] [AddCommGroup M] : AddCommGroup (tsze R M) :=
-  Prod.instAddCommGroupSum
+  Prod.instAddCommGroup
 
 instance smul [SMul S R] [SMul S M] : SMul S (tsze R M) :=
   Prod.smul
@@ -239,7 +239,7 @@ instance distribMulAction [Monoid S] [AddMonoid R] [AddMonoid M]
 
 instance module [Semiring S] [AddCommMonoid R] [AddCommMonoid M] [Module S R] [Module S M] :
     Module S (tsze R M) :=
-  Prod.module
+  Prod.instModule
 
 @[simp]
 theorem fst_zero [Zero R] [Zero M] : (0 : tsze R M).fst = 0 :=
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 Kenny Lau. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Kenny Lau, Eric Wieser
-
-! This file was ported from Lean 3 source module algebra.triv_sq_zero_ext
-! leanprover-community/mathlib commit ce7e9d53d4bbc38065db3b595cd5bd73c323bc1d
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
 -/
 import Mathlib.Algebra.Algebra.Basic
 import Mathlib.LinearAlgebra.Prod
 
+#align_import algebra.triv_sq_zero_ext from "leanprover-community/mathlib"@"ce7e9d53d4bbc38065db3b595cd5bd73c323bc1d"
+
 /-!
 # Trivial Square-Zero Extension
 
chore: fix upper/lowercase in comments (#4360)
  • Run a non-interactive version of fix-comments.py on all files.
  • Go through the diff and manually add/discard/edit chunks.
Diff
@@ -837,7 +837,7 @@ theorem liftAux_inrHom : liftAux (inrHom R' M) (inr_mul_inr R') = AlgHom.id R' (
 `TrivSqZeroExt R M →ₐ[R] A` for every linear map `M →ₗ[R] A` whose range has no non-zero
 products.
 
-This isomorphism is named to match the very similar `complex.lift`. -/
+This isomorphism is named to match the very similar `Complex.lift`. -/
 @[simps]
 def lift : { f : M →ₗ[R'] A // ∀ x y, f x * f y = 0 } ≃ (tsze R' M →ₐ[R'] A) where
   toFun f := liftAux f f.prop
chore: bump Std (#3113)

Notably incorporates https://github.com/leanprover/std4/pull/98 and https://github.com/leanprover/std4/pull/109.

https://github.com/leanprover/std4/pull/98 moves a number of lemmas from Mathlib to Std, so the bump requires deleting them in Mathlib. I did check on each lemma whether its attributes were kept in the move (and gave attribute markings in Mathlib if they were not present in Std), but a reviewer may wish to re-check.

List.mem_map changed statement from b ∈ l.map f ↔ ∃ a, a ∈ l ∧ b = f a to b ∈ l.map f ↔ ∃ a, a ∈ l ∧ f a = b. Similarly for List.exists_of_mem_map. This was a deliberate change, so I have simply adjusted proofs (many become simpler, which supports the change). I also deleted List.mem_map', List.exists_of_mem_map', which were temporary versions in Mathlib while waiting for this change (replacing their uses with the unprimed versions).

Also, the lemma sublist_nil_iff_eq_nil seems to have been renamed to sublist_nil during the move, so I added an alias for the old name.

(another issue fixed during review by @digama0) List.Sublist.filter had an argument change from explicit to implicit. This appears to have been an oversight (cc @JamesGallicchio). I have temporarily introduced List.Sublist.filter' with the argument explicit, and replaced Mathlib uses of Sublist.filter with Sublist.filter'. Later we can fix the argument in Std, and then delete List.Sublist.filter'.

Diff
@@ -622,7 +622,7 @@ theorem snd_pow_of_smul_comm [Monoid R] [AddMonoid M] [DistribMulAction R M]
     simp_rw [Nat.pred_succ]
     refine' (List.sum_eq_card_nsmul _ (x.fst ^ n • x.snd) _).trans _
     · rintro m hm
-      simp_rw [List.mem_map', List.mem_range] at hm
+      simp_rw [List.mem_map, List.mem_range] at hm
       obtain ⟨i, hi, rfl⟩ := hm
       rw [tsub_add_cancel_of_le (Nat.lt_succ_iff.mp hi)]
     · rw [List.length_map, List.length_range]
feat: port Algebra.TrivSqZeroExt (#2951)

Note that the note on the port comment wiki is out of date; the PR to wait for has made it through mathport already.

The main difficulty here comes from the fact that Lean can no longer work out the type of the zero in (r • 0 : M) due to being HSMul. The rest of the port is just adding instance names, and one cases where cases n resulted in an unwanted Nat.zero where using match n gives a better 0.

Dependencies 8 + 373

374 files ported (97.9%)
155576 lines ported (98.0%)
Show graph

The unported dependencies are