algebra.triv_sq_zero_ext
⟷
Mathlib.Algebra.TrivSqZeroExt
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.
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(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)
mathlib commit https://github.com/leanprover-community/mathlib/commit/65a1391a0106c9204fe45bc73a039f056558cb83
@@ -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] :
mathlib commit https://github.com/leanprover-community/mathlib/commit/65a1391a0106c9204fe45bc73a039f056558cb83
@@ -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 /-
mathlib commit https://github.com/leanprover-community/mathlib/commit/65a1391a0106c9204fe45bc73a039f056558cb83
@@ -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
mathlib commit https://github.com/leanprover-community/mathlib/commit/65a1391a0106c9204fe45bc73a039f056558cb83
@@ -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 /-
mathlib commit https://github.com/leanprover-community/mathlib/commit/65a1391a0106c9204fe45bc73a039f056558cb83
@@ -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
mathlib commit https://github.com/leanprover-community/mathlib/commit/ce64cd319bb6b3e82f31c2d38e79080d377be451
@@ -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"
mathlib commit https://github.com/leanprover-community/mathlib/commit/32a7e535287f9c73f2e4d2aef306a39190f0b504
@@ -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
mathlib commit https://github.com/leanprover-community/mathlib/commit/32a7e535287f9c73f2e4d2aef306a39190f0b504
@@ -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]
mathlib commit https://github.com/leanprover-community/mathlib/commit/8ea5598db6caeddde6cb734aa179cc2408dbd345
@@ -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
mathlib commit https://github.com/leanprover-community/mathlib/commit/9fb8964792b4237dac6200193a0d533f1b3f7423
@@ -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
mathlib commit https://github.com/leanprover-community/mathlib/commit/cca40788df1b8755d5baf17ab2f27dacc2e17acb
@@ -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]
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -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
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -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.
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -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
mathlib commit https://github.com/leanprover-community/mathlib/commit/8d33f09cd7089ecf074b4791907588245aec5d1b
@@ -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
mathlib commit https://github.com/leanprover-community/mathlib/commit/95a87616d63b3cb49d3fe678d416fbe9c4217bf4
@@ -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
mathlib commit https://github.com/leanprover-community/mathlib/commit/c89fe2d59ae06402c3f55f978016d1ada444f57e
@@ -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
mathlib commit https://github.com/leanprover-community/mathlib/commit/ce86f4e05e9a9b8da5e316b22c76ce76440c56a1
@@ -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]
mathlib commit https://github.com/leanprover-community/mathlib/commit/b19481deb571022990f1baa9cbf9172e6757a479
@@ -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
mathlib commit https://github.com/leanprover-community/mathlib/commit/1f4705ccdfe1e557fc54a0ce081a05e33d2e6240
@@ -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₂`.
mathlib commit https://github.com/leanprover-community/mathlib/commit/da3fc4a33ff6bc75f077f691dc94c217b8d41559
@@ -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.
mathlib commit https://github.com/leanprover-community/mathlib/commit/ce7e9d53d4bbc38065db3b595cd5bd73c323bc1d
@@ -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 }
mathlib commit https://github.com/leanprover-community/mathlib/commit/3180fab693e2cee3bff62675571264cb8778b212
@@ -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) <|
mathlib commit https://github.com/leanprover-community/mathlib/commit/eb0cb4511aaef0da2462207b67358a0e1fe1e2ee
@@ -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}
mathlib commit https://github.com/leanprover-community/mathlib/commit/22131150f88a2d125713ffa0f4693e3355b1eb49
@@ -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
mathlib commit https://github.com/leanprover-community/mathlib/commit/bd9851ca476957ea4549eb19b40e7b5ade9428cc
@@ -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 :=
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>
@@ -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
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.
@@ -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) :=
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>
@@ -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)
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.
@@ -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]
@@ -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
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 notnpowRec n x * x
in the definition to make sure that definitional unfolding ofnpowRec
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.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
.@@ -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 :=
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)
@@ -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) :=
@@ -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`.
@@ -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 _)),
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:
CliffordAlgebra.map_surjective
in LinearAlgebra/CliffordAlgebra/Basic.lean
. For exterior algebras, the converse holds and is also proved.Establish some properties of ExteriorAlgebra.ιMulti
:
ExteriorAlgebra.ιMulti_range
: The range of ιMulti R n
is contained in the n
th exterior power (define here as LinearMap.range (ι R : M →ₗ[R] ExteriorAlgebra R M) ^ n
).ExteriorAlgebra.ιMulti_span_fixedDegree
: This range spans the n
th 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 n
th exterior power.)
Co-authored-by: morel <smorel@math.princeton.edu> Co-authored-by: smorel394 <67864981+smorel394@users.noreply.github.com>
@@ -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
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.
@@ -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
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>
@@ -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"
@@ -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 _ _
_root_.map_sum
more consistently (#7189)
Also _root_.map_smul
when in the neighbourhood.
@@ -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
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).
@@ -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) <|
Type _
and Sort _
(#6499)
We remove all possible occurences of Type _
and Sort _
in favor of Type*
and Sort*
.
This has nice performance benefits.
@@ -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.
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>
@@ -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 :=
@@ -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
fix-comments.py
on all files.@@ -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
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'
.
@@ -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]
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
.
The unported dependencies are