ring_theory.is_tensor_productMathlib.RingTheory.IsTensorProduct

This file has been ported!

Changes since the initial port

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

Changes in mathlib3

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(last sync)

Changes in mathlib3port

mathlib3
mathlib3port
Diff
@@ -3,8 +3,8 @@ Copyright (c) 2022 Andrew Yang. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Andrew Yang
 -/
-import RingTheory.TensorProduct
-import Algebra.Module.Ulift
+import LinearAlgebra.TensorProduct.Tower
+import Algebra.Module.ULift
 
 #align_import ring_theory.is_tensor_product from "leanprover-community/mathlib"@"0b7c740e25651db0ba63648fbae9f9d6f941e31b"
 
Diff
@@ -321,7 +321,7 @@ theorem IsBaseChange.of_lift_unique
           TensorProduct.induction_on x _ (fun s' y => smul_assoc s s' _) fun x y hx hy => _ }
     · rw [map_zero, smul_zero, map_zero, smul_zero]
     · rw [smul_add, map_add, map_add, smul_add, hx, hy]
-  simp_rw [DFunLike.ext_iff, LinearMap.comp_apply, LinearMap.restrictScalars_apply] at hg 
+  simp_rw [DFunLike.ext_iff, LinearMap.comp_apply, LinearMap.restrictScalars_apply] at hg
   let fe : S ⊗[R] M ≃ₗ[S] N :=
     LinearEquiv.ofLinear f'' (ulift.module_equiv.to_linear_map.comp g) _ _
   · exact fe.bijective
Diff
@@ -321,7 +321,7 @@ theorem IsBaseChange.of_lift_unique
           TensorProduct.induction_on x _ (fun s' y => smul_assoc s s' _) fun x y hx hy => _ }
     · rw [map_zero, smul_zero, map_zero, smul_zero]
     · rw [smul_add, map_add, map_add, smul_add, hx, hy]
-  simp_rw [FunLike.ext_iff, LinearMap.comp_apply, LinearMap.restrictScalars_apply] at hg 
+  simp_rw [DFunLike.ext_iff, LinearMap.comp_apply, LinearMap.restrictScalars_apply] at hg 
   let fe : S ⊗[R] M ≃ₗ[S] N :=
     LinearEquiv.ofLinear f'' (ulift.module_equiv.to_linear_map.comp g) _ _
   · exact fe.bijective
Diff
@@ -3,8 +3,8 @@ Copyright (c) 2022 Andrew Yang. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Andrew Yang
 -/
-import Mathbin.RingTheory.TensorProduct
-import Mathbin.Algebra.Module.Ulift
+import RingTheory.TensorProduct
+import Algebra.Module.Ulift
 
 #align_import ring_theory.is_tensor_product from "leanprover-community/mathlib"@"0b7c740e25651db0ba63648fbae9f9d6f941e31b"
 
Diff
@@ -236,8 +236,8 @@ theorem IsBaseChange.inductionOn (x : N) (P : N → Prop) (h₁ : P 0) (h₂ : 
 #align is_base_change.induction_on IsBaseChange.inductionOn
 -/
 
-#print IsBaseChange.alg_hom_ext /-
-theorem IsBaseChange.alg_hom_ext (g₁ g₂ : N →ₗ[S] Q) (e : ∀ x, g₁ (f x) = g₂ (f x)) : g₁ = g₂ :=
+#print IsBaseChange.algHom_ext /-
+theorem IsBaseChange.algHom_ext (g₁ g₂ : N →ₗ[S] Q) (e : ∀ x, g₁ (f x) = g₂ (f x)) : g₁ = g₂ :=
   by
   ext x
   apply h.induction_on x
@@ -245,14 +245,14 @@ theorem IsBaseChange.alg_hom_ext (g₁ g₂ : N →ₗ[S] Q) (e : ∀ x, g₁ (f
   · assumption
   · intro s n e'; rw [g₁.map_smul, g₂.map_smul, e']
   · intro x y e₁ e₂; rw [map_add, map_add, e₁, e₂]
-#align is_base_change.alg_hom_ext IsBaseChange.alg_hom_ext
+#align is_base_change.alg_hom_ext IsBaseChange.algHom_ext
 -/
 
-#print IsBaseChange.alg_hom_ext' /-
-theorem IsBaseChange.alg_hom_ext' [Module R Q] [IsScalarTower R S Q] (g₁ g₂ : N →ₗ[S] Q)
+#print IsBaseChange.algHom_ext' /-
+theorem IsBaseChange.algHom_ext' [Module R Q] [IsScalarTower R S Q] (g₁ g₂ : N →ₗ[S] Q)
     (e : (g₁.restrictScalars R).comp f = (g₂.restrictScalars R).comp f) : g₁ = g₂ :=
-  h.alg_hom_ext g₁ g₂ (LinearMap.congr_fun e)
-#align is_base_change.alg_hom_ext' IsBaseChange.alg_hom_ext'
+  h.algHom_ext g₁ g₂ (LinearMap.congr_fun e)
+#align is_base_change.alg_hom_ext' IsBaseChange.algHom_ext'
 -/
 
 variable (R M N S)
Diff
@@ -2,15 +2,12 @@
 Copyright (c) 2022 Andrew Yang. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Andrew Yang
-
-! This file was ported from Lean 3 source module ring_theory.is_tensor_product
-! leanprover-community/mathlib commit 0b7c740e25651db0ba63648fbae9f9d6f941e31b
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
 -/
 import Mathbin.RingTheory.TensorProduct
 import Mathbin.Algebra.Module.Ulift
 
+#align_import ring_theory.is_tensor_product from "leanprover-community/mathlib"@"0b7c740e25651db0ba63648fbae9f9d6f941e31b"
+
 /-!
 # The characteristice predicate of tensor product
 
Diff
@@ -265,7 +265,7 @@ theorem TensorProduct.isBaseChange : IsBaseChange S (TensorProduct.mk R S M 1) :
   by
   delta IsBaseChange
   convert TensorProduct.isTensorProduct R S M using 1
-  ext (s x)
+  ext s x
   change s • 1 ⊗ₜ x = s ⊗ₜ x
   rw [TensorProduct.smul_tmul']
   congr 1
@@ -360,7 +360,7 @@ theorem IsBaseChange.ofEquiv (e : M ≃ₗ[R] N) : IsBaseChange R e.toLinearMap
   apply IsBaseChange.of_lift_unique
   intro Q I₁ I₂ I₃ I₄ g
   have : I₂ = I₃ := by
-    ext (r q)
+    ext r q
     rw [← one_smul R q, smul_smul, ← smul_assoc, smul_eq_mul, mul_one]
   cases this
   refine' ⟨g.comp e.symm.to_linear_map, by ext; simp, _⟩
Diff
@@ -74,6 +74,7 @@ def IsTensorProduct : Prop :=
 
 variable (R M N) {f}
 
+#print TensorProduct.isTensorProduct /-
 theorem TensorProduct.isTensorProduct : IsTensorProduct (TensorProduct.mk R M N) :=
   by
   delta IsTensorProduct
@@ -81,6 +82,7 @@ theorem TensorProduct.isTensorProduct : IsTensorProduct (TensorProduct.mk R M N)
   · apply TensorProduct.ext'; simp
   · exact Function.bijective_id
 #align tensor_product.is_tensor_product TensorProduct.isTensorProduct
+-/
 
 variable {R M N}
 
@@ -92,12 +94,15 @@ noncomputable def IsTensorProduct.equiv (h : IsTensorProduct f) : M₁ ⊗[R] M
 #align is_tensor_product.equiv IsTensorProduct.equiv
 -/
 
+#print IsTensorProduct.equiv_toLinearMap /-
 @[simp]
 theorem IsTensorProduct.equiv_toLinearMap (h : IsTensorProduct f) :
     h.Equiv.toLinearMap = TensorProduct.lift f :=
   rfl
 #align is_tensor_product.equiv_to_linear_map IsTensorProduct.equiv_toLinearMap
+-/
 
+#print IsTensorProduct.equiv_symm_apply /-
 @[simp]
 theorem IsTensorProduct.equiv_symm_apply (h : IsTensorProduct f) (x₁ : M₁) (x₂ : M₂) :
     h.Equiv.symm (f x₁ x₂) = x₁ ⊗ₜ x₂ :=
@@ -106,6 +111,7 @@ theorem IsTensorProduct.equiv_symm_apply (h : IsTensorProduct f) (x₁ : M₁) (
   refine' (h.equiv.apply_symm_apply _).trans _
   simp
 #align is_tensor_product.equiv_symm_apply IsTensorProduct.equiv_symm_apply
+-/
 
 #print IsTensorProduct.lift /-
 /-- If `M` is the tensor product of `M₁` and `M₂`, we may lift a bilinear map `M₁ →ₗ[R] M₂ →ₗ[R] M'`
@@ -116,12 +122,14 @@ noncomputable def IsTensorProduct.lift (h : IsTensorProduct f) (f' : M₁ →ₗ
 #align is_tensor_product.lift IsTensorProduct.lift
 -/
 
+#print IsTensorProduct.lift_eq /-
 theorem IsTensorProduct.lift_eq (h : IsTensorProduct f) (f' : M₁ →ₗ[R] M₂ →ₗ[R] M') (x₁ : M₁)
     (x₂ : M₂) : h.lift f' (f x₁ x₂) = f' x₁ x₂ :=
   by
   delta IsTensorProduct.lift
   simp
 #align is_tensor_product.lift_eq IsTensorProduct.lift_eq
+-/
 
 #print IsTensorProduct.map /-
 /-- The tensor product of a pair of linear maps between modules. -/
@@ -131,13 +139,16 @@ noncomputable def IsTensorProduct.map (hf : IsTensorProduct f) (hg : IsTensorPro
 #align is_tensor_product.map IsTensorProduct.map
 -/
 
+#print IsTensorProduct.map_eq /-
 theorem IsTensorProduct.map_eq (hf : IsTensorProduct f) (hg : IsTensorProduct g) (i₁ : M₁ →ₗ[R] N₁)
     (i₂ : M₂ →ₗ[R] N₂) (x₁ : M₁) (x₂ : M₂) : hf.map hg i₁ i₂ (f x₁ x₂) = g (i₁ x₁) (i₂ x₂) :=
   by
   delta IsTensorProduct.map
   simp
 #align is_tensor_product.map_eq IsTensorProduct.map_eq
+-/
 
+#print IsTensorProduct.inductionOn /-
 theorem IsTensorProduct.inductionOn (h : IsTensorProduct f) {C : M → Prop} (m : M) (h0 : C 0)
     (htmul : ∀ x y, C (f x y)) (hadd : ∀ x y, C x → C y → C (x + y)) : C m :=
   by
@@ -149,6 +160,7 @@ theorem IsTensorProduct.inductionOn (h : IsTensorProduct f) {C : M → Prop} (m
   · rw [TensorProduct.lift.tmul]; apply htmul
   · rw [map_add]; apply hadd <;> assumption
 #align is_tensor_product.induction_on IsTensorProduct.inductionOn
+-/
 
 end IsTensorProduct
 
@@ -162,8 +174,6 @@ variable [CommRing S] [Algebra R S] [Module R M] [Module R N] [Module S N] [IsSc
 
 variable (f : M →ₗ[R] N)
 
-include f
-
 #print IsBaseChange /-
 /-- Given an `R`-algebra `S` and an `R`-module `M`, an `S`-module `N` together with a map
 `f : M →ₗ[R] N` is the base change of `M` to `S` if the map `S × M → N, (s, m) ↦ s • f m` is the
@@ -205,26 +215,31 @@ noncomputable def IsBaseChange.lift (g : M →ₗ[R] Q) : N →ₗ[S] Q :=
 #align is_base_change.lift IsBaseChange.lift
 -/
 
+#print IsBaseChange.lift_eq /-
 theorem IsBaseChange.lift_eq (g : M →ₗ[R] Q) (x : M) : h.lift g (f x) = g x :=
   by
   have hF : ∀ (s : S) (m : M), h.lift g (s • f m) = s • g m := h.lift_eq _
   convert hF 1 x <;> rw [one_smul]
 #align is_base_change.lift_eq IsBaseChange.lift_eq
+-/
 
+#print IsBaseChange.lift_comp /-
 theorem IsBaseChange.lift_comp (g : M →ₗ[R] Q) : ((h.lift g).restrictScalars R).comp f = g :=
   LinearMap.ext (h.liftEq g)
 #align is_base_change.lift_comp IsBaseChange.lift_comp
+-/
 
 end
 
-include h
-
+#print IsBaseChange.inductionOn /-
 @[elab_as_elim]
 theorem IsBaseChange.inductionOn (x : N) (P : N → Prop) (h₁ : P 0) (h₂ : ∀ m : M, P (f m))
     (h₃ : ∀ (s : S) (n), P n → P (s • n)) (h₄ : ∀ n₁ n₂, P n₁ → P n₂ → P (n₁ + n₂)) : P x :=
   h.inductionOn x h₁ (fun s y => h₃ _ _ (h₂ _)) h₄
 #align is_base_change.induction_on IsBaseChange.inductionOn
+-/
 
+#print IsBaseChange.alg_hom_ext /-
 theorem IsBaseChange.alg_hom_ext (g₁ g₂ : N →ₗ[S] Q) (e : ∀ x, g₁ (f x) = g₂ (f x)) : g₁ = g₂ :=
   by
   ext x
@@ -234,16 +249,18 @@ theorem IsBaseChange.alg_hom_ext (g₁ g₂ : N →ₗ[S] Q) (e : ∀ x, g₁ (f
   · intro s n e'; rw [g₁.map_smul, g₂.map_smul, e']
   · intro x y e₁ e₂; rw [map_add, map_add, e₁, e₂]
 #align is_base_change.alg_hom_ext IsBaseChange.alg_hom_ext
+-/
 
+#print IsBaseChange.alg_hom_ext' /-
 theorem IsBaseChange.alg_hom_ext' [Module R Q] [IsScalarTower R S Q] (g₁ g₂ : N →ₗ[S] Q)
     (e : (g₁.restrictScalars R).comp f = (g₂.restrictScalars R).comp f) : g₁ = g₂ :=
   h.alg_hom_ext g₁ g₂ (LinearMap.congr_fun e)
 #align is_base_change.alg_hom_ext' IsBaseChange.alg_hom_ext'
+-/
 
 variable (R M N S)
 
-omit h f
-
+#print TensorProduct.isBaseChange /-
 theorem TensorProduct.isBaseChange : IsBaseChange S (TensorProduct.mk R S M 1) :=
   by
   delta IsBaseChange
@@ -254,6 +271,7 @@ theorem TensorProduct.isBaseChange : IsBaseChange S (TensorProduct.mk R S M 1) :
   congr 1
   exact mul_one _
 #align tensor_product.is_base_change TensorProduct.isBaseChange
+-/
 
 variable {R M N S}
 
@@ -270,16 +288,21 @@ noncomputable def IsBaseChange.equiv : S ⊗[R] M ≃ₗ[S] N :=
 #align is_base_change.equiv IsBaseChange.equiv
 -/
 
+#print IsBaseChange.equiv_tmul /-
 theorem IsBaseChange.equiv_tmul (s : S) (m : M) : h.Equiv (s ⊗ₜ m) = s • f m :=
   TensorProduct.lift.tmul s m
 #align is_base_change.equiv_tmul IsBaseChange.equiv_tmul
+-/
 
+#print IsBaseChange.equiv_symm_apply /-
 theorem IsBaseChange.equiv_symm_apply (m : M) : h.Equiv.symm (f m) = 1 ⊗ₜ m := by
   rw [h.equiv.symm_apply_eq, h.equiv_tmul, one_smul]
 #align is_base_change.equiv_symm_apply IsBaseChange.equiv_symm_apply
+-/
 
 variable (f)
 
+#print IsBaseChange.of_lift_unique /-
 theorem IsBaseChange.of_lift_unique
     (h :
       ∀ (Q : Type max v₁ v₂ v₃) [AddCommMonoid Q],
@@ -313,9 +336,11 @@ theorem IsBaseChange.of_lift_unique
     apply one_smul
   · ext x; change (g <| (1 : S) • f x).down = _; rw [one_smul, hg]; rfl
 #align is_base_change.of_lift_unique IsBaseChange.of_lift_unique
+-/
 
 variable {f}
 
+#print IsBaseChange.iff_lift_unique /-
 theorem IsBaseChange.iff_lift_unique :
     IsBaseChange S f ↔
       ∀ (Q : Type max v₁ v₂ v₃) [AddCommMonoid Q],
@@ -327,7 +352,9 @@ theorem IsBaseChange.iff_lift_unique :
     exact ⟨h.lift g, h.lift_comp g, fun g' e => h.alg_hom_ext' _ _ (e.trans (h.lift_comp g).symm)⟩,
     IsBaseChange.of_lift_unique f⟩
 #align is_base_change.iff_lift_unique IsBaseChange.iff_lift_unique
+-/
 
+#print IsBaseChange.ofEquiv /-
 theorem IsBaseChange.ofEquiv (e : M ≃ₗ[R] N) : IsBaseChange R e.toLinearMap :=
   by
   apply IsBaseChange.of_lift_unique
@@ -341,6 +368,7 @@ theorem IsBaseChange.ofEquiv (e : M ≃ₗ[R] N) : IsBaseChange R e.toLinearMap
   ext
   simp
 #align is_base_change.of_equiv IsBaseChange.ofEquiv
+-/
 
 variable {T O : Type _} [CommRing T] [Algebra R T] [Algebra S T] [IsScalarTower R S T]
 
@@ -348,6 +376,7 @@ variable [AddCommMonoid O] [Module R O] [Module S O] [Module T O] [IsScalarTower
 
 variable [IsScalarTower R S O] [IsScalarTower R T O]
 
+#print IsBaseChange.comp /-
 theorem IsBaseChange.comp {f : M →ₗ[R] N} (hf : IsBaseChange S f) {g : N →ₗ[S] O}
     (hg : IsBaseChange T g) : IsBaseChange T ((g.restrictScalars R).comp f) :=
   by
@@ -367,6 +396,7 @@ theorem IsBaseChange.comp {f : M →ₗ[R] N} (hf : IsBaseChange S f) {g : N →
   ext
   rfl
 #align is_base_change.comp IsBaseChange.comp
+-/
 
 variable {R' S' : Type _} [CommRing R'] [CommRing S']
 
@@ -393,6 +423,7 @@ class Algebra.IsPushout : Prop where
 
 variable {R S R' S'}
 
+#print Algebra.IsPushout.symm /-
 theorem Algebra.IsPushout.symm (h : Algebra.IsPushout R S R' S') : Algebra.IsPushout R R' S S' :=
   by
   letI := (Algebra.TensorProduct.includeRight : R' →ₐ[R] S ⊗ R').toRingHom.toAlgebra
@@ -416,27 +447,35 @@ theorem Algebra.IsPushout.symm (h : Algebra.IsPushout R S R' S') : Algebra.IsPus
   rw [this]
   exact (TensorProduct.isBaseChange R S R').comp (IsBaseChange.ofEquiv e)
 #align algebra.is_pushout.symm Algebra.IsPushout.symm
+-/
 
 variable (R S R' S')
 
+#print Algebra.IsPushout.comm /-
 theorem Algebra.IsPushout.comm : Algebra.IsPushout R S R' S' ↔ Algebra.IsPushout R R' S S' :=
   ⟨Algebra.IsPushout.symm, Algebra.IsPushout.symm⟩
 #align algebra.is_pushout.comm Algebra.IsPushout.comm
+-/
 
 variable {R S R'}
 
 attribute [local instance] Algebra.TensorProduct.rightAlgebra
 
+#print TensorProduct.isPushout /-
 instance TensorProduct.isPushout {R S T : Type _} [CommRing R] [CommRing S] [CommRing T]
     [Algebra R S] [Algebra R T] : Algebra.IsPushout R S T (TensorProduct R S T) :=
   ⟨TensorProduct.isBaseChange R T S⟩
 #align tensor_product.is_pushout TensorProduct.isPushout
+-/
 
+#print TensorProduct.isPushout' /-
 instance TensorProduct.isPushout' {R S T : Type _} [CommRing R] [CommRing S] [CommRing T]
     [Algebra R S] [Algebra R T] : Algebra.IsPushout R T S (TensorProduct R S T) :=
   Algebra.IsPushout.symm inferInstance
 #align tensor_product.is_pushout' TensorProduct.isPushout'
+-/
 
+#print Algebra.pushoutDesc /-
 /-- If `S' = S ⊗[R] R'`, then any pair of `R`-algebra homomorphisms `f : S → A` and `g : R' → A`
 such that `f x` and `g y` commutes for all `x, y` descends to a (unique) homomoprhism `S' → A`.
 -/
@@ -471,7 +510,9 @@ noncomputable def Algebra.pushoutDesc [H : Algebra.IsPushout R S R' S'] {A : Typ
       rw [← mul_assoc, ← mul_assoc, hf]
     · intro s s' e₁ e₂; rw [mul_add, map_add, map_add, mul_add, e₁, e₂]
 #align algebra.pushout_desc Algebra.pushoutDesc
+-/
 
+#print Algebra.pushoutDesc_left /-
 @[simp]
 theorem Algebra.pushoutDesc_left [H : Algebra.IsPushout R S R' S'] {A : Type _} [Semiring A]
     [Algebra R A] (f : S →ₐ[R] A) (g : R' →ₐ[R] A) (H) (x : S) :
@@ -481,26 +522,34 @@ theorem Algebra.pushoutDesc_left [H : Algebra.IsPushout R S R' S'] {A : Type _}
     Algebra.pushoutDesc_apply S' f g H, _root_.map_one]
   exact mul_one (f x)
 #align algebra.pushout_desc_left Algebra.pushoutDesc_left
+-/
 
+#print Algebra.lift_algHom_comp_left /-
 theorem Algebra.lift_algHom_comp_left [H : Algebra.IsPushout R S R' S'] {A : Type _} [Semiring A]
     [Algebra R A] (f : S →ₐ[R] A) (g : R' →ₐ[R] A) (H) :
     (Algebra.pushoutDesc S' f g H).comp (toAlgHom R S S') = f :=
   AlgHom.ext fun x => (Algebra.pushoutDesc_left S' f g H x : _)
 #align algebra.lift_alg_hom_comp_left Algebra.lift_algHom_comp_left
+-/
 
+#print Algebra.pushoutDesc_right /-
 @[simp]
 theorem Algebra.pushoutDesc_right [H : Algebra.IsPushout R S R' S'] {A : Type _} [Semiring A]
     [Algebra R A] (f : S →ₐ[R] A) (g : R' →ₐ[R] A) (H) (x : R') :
     Algebra.pushoutDesc S' f g H (algebraMap R' S' x) = g x := by
   apply (config := { instances := false }) @IsBaseChange.lift_eq
 #align algebra.pushout_desc_right Algebra.pushoutDesc_right
+-/
 
+#print Algebra.lift_algHom_comp_right /-
 theorem Algebra.lift_algHom_comp_right [H : Algebra.IsPushout R S R' S'] {A : Type _} [Semiring A]
     [Algebra R A] (f : S →ₐ[R] A) (g : R' →ₐ[R] A) (H) :
     (Algebra.pushoutDesc S' f g H).comp (toAlgHom R R' S') = g :=
   AlgHom.ext fun x => (Algebra.pushoutDesc_right S' f g H x : _)
 #align algebra.lift_alg_hom_comp_right Algebra.lift_algHom_comp_right
+-/
 
+#print Algebra.IsPushout.algHom_ext /-
 @[ext]
 theorem Algebra.IsPushout.algHom_ext [H : Algebra.IsPushout R S R' S'] {A : Type _} [Semiring A]
     [Algebra R A] {f g : S' →ₐ[R] A} (h₁ : f.comp (toAlgHom R R' S') = g.comp (toAlgHom R R' S'))
@@ -514,6 +563,7 @@ theorem Algebra.IsPushout.algHom_ext [H : Algebra.IsPushout R S R' S'] {A : Type
     congr 1; exact (AlgHom.congr_fun h₂ s : _)
   · intro s₁ s₂ e₁ e₂; rw [map_add, map_add, e₁, e₂]
 #align algebra.is_pushout.alg_hom_ext Algebra.IsPushout.algHom_ext
+-/
 
 end IsBaseChange
 
Diff
@@ -301,7 +301,7 @@ theorem IsBaseChange.of_lift_unique
           TensorProduct.induction_on x _ (fun s' y => smul_assoc s s' _) fun x y hx hy => _ }
     · rw [map_zero, smul_zero, map_zero, smul_zero]
     · rw [smul_add, map_add, map_add, smul_add, hx, hy]
-  simp_rw [FunLike.ext_iff, LinearMap.comp_apply, LinearMap.restrictScalars_apply] at hg
+  simp_rw [FunLike.ext_iff, LinearMap.comp_apply, LinearMap.restrictScalars_apply] at hg 
   let fe : S ⊗[R] M ≃ₗ[S] N :=
     LinearEquiv.ofLinear f'' (ulift.module_equiv.to_linear_map.comp g) _ _
   · exact fe.bijective
@@ -458,9 +458,9 @@ noncomputable def Algebra.pushoutDesc [H : Algebra.IsPushout R S R' S'] {A : Typ
     apply H.out.induction_on x
     · rw [MulZeroClass.zero_mul, map_zero, MulZeroClass.zero_mul]
     rotate_left
-    · intro s s' e; dsimp only [LinearMap.restrictScalars_apply] at e⊢
+    · intro s s' e; dsimp only [LinearMap.restrictScalars_apply] at e ⊢
       rw [LinearMap.map_smul, smul_mul_assoc, LinearMap.map_smul, e, smul_mul_assoc]
-    · intro s s' e₁ e₂; dsimp only [LinearMap.restrictScalars_apply] at e₁ e₂⊢
+    · intro s s' e₁ e₂; dsimp only [LinearMap.restrictScalars_apply] at e₁ e₂ ⊢
       rw [add_mul, map_add, map_add, add_mul, e₁, e₂]
     intro x; dsimp; rw [this]; apply H.out.induction_on y
     · rw [MulZeroClass.mul_zero, map_zero, MulZeroClass.mul_zero]
Diff
@@ -40,7 +40,7 @@ import Mathbin.Algebra.Module.Ulift
 
 universe u v₁ v₂ v₃ v₄
 
-open TensorProduct
+open scoped TensorProduct
 
 open TensorProduct
 
Diff
@@ -74,12 +74,6 @@ def IsTensorProduct : Prop :=
 
 variable (R M N) {f}
 
-/- warning: tensor_product.is_tensor_product -> TensorProduct.isTensorProduct is a dubious translation:
-lean 3 declaration is
-  forall (R : Type.{u1}) [_inst_1 : CommRing.{u1} R] (M : Type.{u2}) [_inst_4 : AddCommMonoid.{u2} M] [_inst_8 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_4] (N : Type.{u3}) [_inst_12 : AddCommMonoid.{u3} N] [_inst_15 : Module.{u1, u3} R N (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_12], IsTensorProduct.{u1, u2, u3, max u2 u3} R _inst_1 M N (TensorProduct.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M N _inst_4 _inst_12 _inst_8 _inst_15) _inst_4 _inst_12 (TensorProduct.addCommMonoid.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M N _inst_4 _inst_12 _inst_8 _inst_15) _inst_8 _inst_15 (TensorProduct.module.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M N _inst_4 _inst_12 _inst_8 _inst_15) (TensorProduct.mk.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M N _inst_4 _inst_12 _inst_8 _inst_15)
-but is expected to have type
-  forall (R : Type.{u3}) [_inst_1 : CommRing.{u3} R] (M : Type.{u2}) [_inst_4 : AddCommMonoid.{u2} M] [_inst_8 : Module.{u3, u2} R M (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) _inst_4] (N : Type.{u1}) [_inst_12 : AddCommMonoid.{u1} N] [_inst_15 : Module.{u3, u1} R N (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) _inst_12], IsTensorProduct.{u3, u2, u1, max u2 u1} R _inst_1 M N (TensorProduct.{u3, u2, u1} R (CommRing.toCommSemiring.{u3} R _inst_1) M N _inst_4 _inst_12 _inst_8 _inst_15) _inst_4 _inst_12 (TensorProduct.addCommMonoid.{u3, u2, u1} R (CommRing.toCommSemiring.{u3} R _inst_1) M N _inst_4 _inst_12 _inst_8 _inst_15) _inst_8 _inst_15 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u3, u2, u1} R (CommRing.toCommSemiring.{u3} R _inst_1) M N _inst_4 _inst_12 _inst_8 _inst_15) (TensorProduct.mk.{u3, u2, u1} R (CommRing.toCommSemiring.{u3} R _inst_1) M N _inst_4 _inst_12 _inst_8 _inst_15)
-Case conversion may be inaccurate. Consider using '#align tensor_product.is_tensor_product TensorProduct.isTensorProductₓ'. -/
 theorem TensorProduct.isTensorProduct : IsTensorProduct (TensorProduct.mk R M N) :=
   by
   delta IsTensorProduct
@@ -98,18 +92,12 @@ noncomputable def IsTensorProduct.equiv (h : IsTensorProduct f) : M₁ ⊗[R] M
 #align is_tensor_product.equiv IsTensorProduct.equiv
 -/
 
-/- warning: is_tensor_product.equiv_to_linear_map -> IsTensorProduct.equiv_toLinearMap is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align is_tensor_product.equiv_to_linear_map IsTensorProduct.equiv_toLinearMapₓ'. -/
 @[simp]
 theorem IsTensorProduct.equiv_toLinearMap (h : IsTensorProduct f) :
     h.Equiv.toLinearMap = TensorProduct.lift f :=
   rfl
 #align is_tensor_product.equiv_to_linear_map IsTensorProduct.equiv_toLinearMap
 
-/- warning: is_tensor_product.equiv_symm_apply -> IsTensorProduct.equiv_symm_apply is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align is_tensor_product.equiv_symm_apply IsTensorProduct.equiv_symm_applyₓ'. -/
 @[simp]
 theorem IsTensorProduct.equiv_symm_apply (h : IsTensorProduct f) (x₁ : M₁) (x₂ : M₂) :
     h.Equiv.symm (f x₁ x₂) = x₁ ⊗ₜ x₂ :=
@@ -128,9 +116,6 @@ noncomputable def IsTensorProduct.lift (h : IsTensorProduct f) (f' : M₁ →ₗ
 #align is_tensor_product.lift IsTensorProduct.lift
 -/
 
-/- warning: is_tensor_product.lift_eq -> IsTensorProduct.lift_eq is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align is_tensor_product.lift_eq IsTensorProduct.lift_eqₓ'. -/
 theorem IsTensorProduct.lift_eq (h : IsTensorProduct f) (f' : M₁ →ₗ[R] M₂ →ₗ[R] M') (x₁ : M₁)
     (x₂ : M₂) : h.lift f' (f x₁ x₂) = f' x₁ x₂ :=
   by
@@ -146,9 +131,6 @@ noncomputable def IsTensorProduct.map (hf : IsTensorProduct f) (hg : IsTensorPro
 #align is_tensor_product.map IsTensorProduct.map
 -/
 
-/- warning: is_tensor_product.map_eq -> IsTensorProduct.map_eq is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align is_tensor_product.map_eq IsTensorProduct.map_eqₓ'. -/
 theorem IsTensorProduct.map_eq (hf : IsTensorProduct f) (hg : IsTensorProduct g) (i₁ : M₁ →ₗ[R] N₁)
     (i₂ : M₂ →ₗ[R] N₂) (x₁ : M₁) (x₂ : M₂) : hf.map hg i₁ i₂ (f x₁ x₂) = g (i₁ x₁) (i₂ x₂) :=
   by
@@ -156,9 +138,6 @@ theorem IsTensorProduct.map_eq (hf : IsTensorProduct f) (hg : IsTensorProduct g)
   simp
 #align is_tensor_product.map_eq IsTensorProduct.map_eq
 
-/- warning: is_tensor_product.induction_on -> IsTensorProduct.inductionOn is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align is_tensor_product.induction_on IsTensorProduct.inductionOnₓ'. -/
 theorem IsTensorProduct.inductionOn (h : IsTensorProduct f) {C : M → Prop} (m : M) (h0 : C 0)
     (htmul : ∀ x y, C (f x y)) (hadd : ∀ x y, C x → C y → C (x + y)) : C m :=
   by
@@ -226,18 +205,12 @@ noncomputable def IsBaseChange.lift (g : M →ₗ[R] Q) : N →ₗ[S] Q :=
 #align is_base_change.lift IsBaseChange.lift
 -/
 
-/- warning: is_base_change.lift_eq -> IsBaseChange.lift_eq is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align is_base_change.lift_eq IsBaseChange.lift_eqₓ'. -/
 theorem IsBaseChange.lift_eq (g : M →ₗ[R] Q) (x : M) : h.lift g (f x) = g x :=
   by
   have hF : ∀ (s : S) (m : M), h.lift g (s • f m) = s • g m := h.lift_eq _
   convert hF 1 x <;> rw [one_smul]
 #align is_base_change.lift_eq IsBaseChange.lift_eq
 
-/- warning: is_base_change.lift_comp -> IsBaseChange.lift_comp is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align is_base_change.lift_comp IsBaseChange.lift_compₓ'. -/
 theorem IsBaseChange.lift_comp (g : M →ₗ[R] Q) : ((h.lift g).restrictScalars R).comp f = g :=
   LinearMap.ext (h.liftEq g)
 #align is_base_change.lift_comp IsBaseChange.lift_comp
@@ -246,18 +219,12 @@ end
 
 include h
 
-/- warning: is_base_change.induction_on -> IsBaseChange.inductionOn is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align is_base_change.induction_on IsBaseChange.inductionOnₓ'. -/
 @[elab_as_elim]
 theorem IsBaseChange.inductionOn (x : N) (P : N → Prop) (h₁ : P 0) (h₂ : ∀ m : M, P (f m))
     (h₃ : ∀ (s : S) (n), P n → P (s • n)) (h₄ : ∀ n₁ n₂, P n₁ → P n₂ → P (n₁ + n₂)) : P x :=
   h.inductionOn x h₁ (fun s y => h₃ _ _ (h₂ _)) h₄
 #align is_base_change.induction_on IsBaseChange.inductionOn
 
-/- warning: is_base_change.alg_hom_ext -> IsBaseChange.alg_hom_ext is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align is_base_change.alg_hom_ext IsBaseChange.alg_hom_extₓ'. -/
 theorem IsBaseChange.alg_hom_ext (g₁ g₂ : N →ₗ[S] Q) (e : ∀ x, g₁ (f x) = g₂ (f x)) : g₁ = g₂ :=
   by
   ext x
@@ -268,9 +235,6 @@ theorem IsBaseChange.alg_hom_ext (g₁ g₂ : N →ₗ[S] Q) (e : ∀ x, g₁ (f
   · intro x y e₁ e₂; rw [map_add, map_add, e₁, e₂]
 #align is_base_change.alg_hom_ext IsBaseChange.alg_hom_ext
 
-/- warning: is_base_change.alg_hom_ext' -> IsBaseChange.alg_hom_ext' is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align is_base_change.alg_hom_ext' IsBaseChange.alg_hom_ext'ₓ'. -/
 theorem IsBaseChange.alg_hom_ext' [Module R Q] [IsScalarTower R S Q] (g₁ g₂ : N →ₗ[S] Q)
     (e : (g₁.restrictScalars R).comp f = (g₂.restrictScalars R).comp f) : g₁ = g₂ :=
   h.alg_hom_ext g₁ g₂ (LinearMap.congr_fun e)
@@ -280,9 +244,6 @@ variable (R M N S)
 
 omit h f
 
-/- warning: tensor_product.is_base_change -> TensorProduct.isBaseChange is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align tensor_product.is_base_change TensorProduct.isBaseChangeₓ'. -/
 theorem TensorProduct.isBaseChange : IsBaseChange S (TensorProduct.mk R S M 1) :=
   by
   delta IsBaseChange
@@ -309,25 +270,16 @@ noncomputable def IsBaseChange.equiv : S ⊗[R] M ≃ₗ[S] N :=
 #align is_base_change.equiv IsBaseChange.equiv
 -/
 
-/- warning: is_base_change.equiv_tmul -> IsBaseChange.equiv_tmul is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align is_base_change.equiv_tmul IsBaseChange.equiv_tmulₓ'. -/
 theorem IsBaseChange.equiv_tmul (s : S) (m : M) : h.Equiv (s ⊗ₜ m) = s • f m :=
   TensorProduct.lift.tmul s m
 #align is_base_change.equiv_tmul IsBaseChange.equiv_tmul
 
-/- warning: is_base_change.equiv_symm_apply -> IsBaseChange.equiv_symm_apply is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align is_base_change.equiv_symm_apply IsBaseChange.equiv_symm_applyₓ'. -/
 theorem IsBaseChange.equiv_symm_apply (m : M) : h.Equiv.symm (f m) = 1 ⊗ₜ m := by
   rw [h.equiv.symm_apply_eq, h.equiv_tmul, one_smul]
 #align is_base_change.equiv_symm_apply IsBaseChange.equiv_symm_apply
 
 variable (f)
 
-/- warning: is_base_change.of_lift_unique -> IsBaseChange.of_lift_unique is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align is_base_change.of_lift_unique IsBaseChange.of_lift_uniqueₓ'. -/
 theorem IsBaseChange.of_lift_unique
     (h :
       ∀ (Q : Type max v₁ v₂ v₃) [AddCommMonoid Q],
@@ -364,9 +316,6 @@ theorem IsBaseChange.of_lift_unique
 
 variable {f}
 
-/- warning: is_base_change.iff_lift_unique -> IsBaseChange.iff_lift_unique is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align is_base_change.iff_lift_unique IsBaseChange.iff_lift_uniqueₓ'. -/
 theorem IsBaseChange.iff_lift_unique :
     IsBaseChange S f ↔
       ∀ (Q : Type max v₁ v₂ v₃) [AddCommMonoid Q],
@@ -379,12 +328,6 @@ theorem IsBaseChange.iff_lift_unique :
     IsBaseChange.of_lift_unique f⟩
 #align is_base_change.iff_lift_unique IsBaseChange.iff_lift_unique
 
-/- warning: is_base_change.of_equiv -> IsBaseChange.ofEquiv is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u3}} {M : Type.{u1}} {N : Type.{u2}} [_inst_1 : AddCommMonoid.{u1} M] [_inst_2 : AddCommMonoid.{u2} N] [_inst_3 : CommRing.{u3} R] [_inst_6 : Module.{u3, u1} R M (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_3)) _inst_1] [_inst_7 : Module.{u3, u2} R N (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_3)) _inst_2] (e : LinearEquiv.{u3, u3, u1, u2} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_3)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_3)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_3)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_3)))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_3))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_3))) M N _inst_1 _inst_2 _inst_6 _inst_7), IsBaseChange.{u1, u2, u3, u3} R M N R _inst_1 _inst_2 _inst_3 _inst_3 (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) _inst_6 _inst_7 _inst_7 (IsScalarTower.left.{u3, u2} R N (Ring.toMonoid.{u3} R (CommRing.toRing.{u3} R _inst_3)) (MulActionWithZero.toMulAction.{u3, u2} R N (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_3))) (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_2))) (Module.toMulActionWithZero.{u3, u2} R N (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_3)) _inst_2 _inst_7))) (LinearEquiv.toLinearMap.{u3, u3, u1, u2} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_3)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_3)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_3)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_3)))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_3))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_3))) M N _inst_1 _inst_2 _inst_6 _inst_7 e)
-but is expected to have type
-  forall {R : Type.{u1}} {M : Type.{u2}} {N : Type.{u3}} [_inst_1 : AddCommMonoid.{u2} M] [_inst_2 : AddCommMonoid.{u3} N] [_inst_3 : CommRing.{u1} R] [_inst_6 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) _inst_1] [_inst_7 : Module.{u1, u3} R N (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) _inst_2] (e : LinearEquiv.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3))) M N _inst_1 _inst_2 _inst_6 _inst_7), IsBaseChange.{u2, u3, u1, u1} R M N R _inst_1 _inst_2 _inst_3 _inst_3 (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) _inst_6 _inst_7 _inst_7 (IsScalarTower.left.{u1, u3} R N (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)))) (MulActionWithZero.toMulAction.{u1, u3} R N (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3))) (AddMonoid.toZero.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_2)) (Module.toMulActionWithZero.{u1, u3} R N (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) _inst_2 _inst_7))) (LinearEquiv.toLinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3))) M N _inst_1 _inst_2 _inst_6 _inst_7 e)
-Case conversion may be inaccurate. Consider using '#align is_base_change.of_equiv IsBaseChange.ofEquivₓ'. -/
 theorem IsBaseChange.ofEquiv (e : M ≃ₗ[R] N) : IsBaseChange R e.toLinearMap :=
   by
   apply IsBaseChange.of_lift_unique
@@ -405,9 +348,6 @@ variable [AddCommMonoid O] [Module R O] [Module S O] [Module T O] [IsScalarTower
 
 variable [IsScalarTower R S O] [IsScalarTower R T O]
 
-/- warning: is_base_change.comp -> IsBaseChange.comp is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align is_base_change.comp IsBaseChange.compₓ'. -/
 theorem IsBaseChange.comp {f : M →ₗ[R] N} (hf : IsBaseChange S f) {g : N →ₗ[S] O}
     (hg : IsBaseChange T g) : IsBaseChange T ((g.restrictScalars R).comp f) :=
   by
@@ -453,9 +393,6 @@ class Algebra.IsPushout : Prop where
 
 variable {R S R' S'}
 
-/- warning: algebra.is_pushout.symm -> Algebra.IsPushout.symm is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align algebra.is_pushout.symm Algebra.IsPushout.symmₓ'. -/
 theorem Algebra.IsPushout.symm (h : Algebra.IsPushout R S R' S') : Algebra.IsPushout R R' S S' :=
   by
   letI := (Algebra.TensorProduct.includeRight : R' →ₐ[R] S ⊗ R').toRingHom.toAlgebra
@@ -482,9 +419,6 @@ theorem Algebra.IsPushout.symm (h : Algebra.IsPushout R S R' S') : Algebra.IsPus
 
 variable (R S R' S')
 
-/- warning: algebra.is_pushout.comm -> Algebra.IsPushout.comm is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align algebra.is_pushout.comm Algebra.IsPushout.commₓ'. -/
 theorem Algebra.IsPushout.comm : Algebra.IsPushout R S R' S' ↔ Algebra.IsPushout R R' S S' :=
   ⟨Algebra.IsPushout.symm, Algebra.IsPushout.symm⟩
 #align algebra.is_pushout.comm Algebra.IsPushout.comm
@@ -493,31 +427,16 @@ variable {R S R'}
 
 attribute [local instance] Algebra.TensorProduct.rightAlgebra
 
-/- warning: tensor_product.is_pushout -> TensorProduct.isPushout is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {S : Type.{u2}} {T : Type.{u3}} [_inst_33 : CommRing.{u1} R] [_inst_34 : CommRing.{u2} S] [_inst_35 : CommRing.{u3} T] [_inst_36 : Algebra.{u1, u2} R S (CommRing.toCommSemiring.{u1} R _inst_33) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_34))] [_inst_37 : Algebra.{u1, u3} R T (CommRing.toCommSemiring.{u1} R _inst_33) (Ring.toSemiring.{u3} T (CommRing.toRing.{u3} T _inst_35))], Algebra.IsPushout.{u2, u1, u3, max u2 u3} R S _inst_33 _inst_34 _inst_36 T (TensorProduct.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_33) S T (AddCommGroup.toAddCommMonoid.{u2} S (NonUnitalNonAssocRing.toAddCommGroup.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_34))))) (AddCommGroup.toAddCommMonoid.{u3} T (NonUnitalNonAssocRing.toAddCommGroup.{u3} T (NonAssocRing.toNonUnitalNonAssocRing.{u3} T (Ring.toNonAssocRing.{u3} T (CommRing.toRing.{u3} T _inst_35))))) (Algebra.toModule.{u1, u2} R S (CommRing.toCommSemiring.{u1} R _inst_33) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_34)) _inst_36) (Algebra.toModule.{u1, u3} R T (CommRing.toCommSemiring.{u1} R _inst_33) (Ring.toSemiring.{u3} T (CommRing.toRing.{u3} T _inst_35)) _inst_37)) _inst_35 (Algebra.TensorProduct.TensorProduct.commRing.{u1, u2, u3} R _inst_33 S _inst_34 _inst_36 T _inst_35 _inst_37) _inst_37 (Algebra.TensorProduct.leftAlgebra.{u1, u2, u3, u2} R (CommRing.toCommSemiring.{u1} R _inst_33) S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_34)) _inst_36 T (Ring.toSemiring.{u3} T (CommRing.toRing.{u3} T _inst_35)) _inst_37 S (CommRing.toCommSemiring.{u2} S _inst_34) _inst_36 (Algebra.id.{u2} S (CommRing.toCommSemiring.{u2} S _inst_34)) (IsScalarTower.right.{u1, u2} R S (CommRing.toCommSemiring.{u1} R _inst_33) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_34)) _inst_36)) (Algebra.TensorProduct.rightAlgebra.{u1, u2, u3} R _inst_33 S _inst_34 _inst_36 T _inst_35 _inst_37) (Algebra.TensorProduct.TensorProduct.algebra.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_33) S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_34)) _inst_36 T (Ring.toSemiring.{u3} T (CommRing.toRing.{u3} T _inst_35)) _inst_37) (Algebra.TensorProduct.right_isScalarTower.{u1, u2, u3} R _inst_33 S _inst_34 _inst_36 T _inst_35 _inst_37) (Algebra.TensorProduct.TensorProduct.isScalarTower.{u1, u2, u3, u2} R (CommRing.toCommSemiring.{u1} R _inst_33) S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_34)) _inst_36 T (Ring.toSemiring.{u3} T (CommRing.toRing.{u3} T _inst_35)) _inst_37 S (CommRing.toCommSemiring.{u2} S _inst_34) _inst_36 (Algebra.id.{u2} S (CommRing.toCommSemiring.{u2} S _inst_34)) (IsScalarTower.right.{u1, u2} R S (CommRing.toCommSemiring.{u1} R _inst_33) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_34)) _inst_36))
-but is expected to have type
-  forall {R : Type.{u1}} {S : Type.{u2}} {T : Type.{u3}} [_inst_33 : CommRing.{u1} R] [_inst_34 : CommRing.{u2} S] [_inst_35 : CommRing.{u3} T] [_inst_36 : Algebra.{u1, u2} R S (CommRing.toCommSemiring.{u1} R _inst_33) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_34))] [_inst_37 : Algebra.{u1, u3} R T (CommRing.toCommSemiring.{u1} R _inst_33) (CommSemiring.toSemiring.{u3} T (CommRing.toCommSemiring.{u3} T _inst_35))], Algebra.IsPushout.{u2, u1, u3, max u3 u2} R S _inst_33 _inst_34 _inst_36 T (TensorProduct.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_33) S T (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_34))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} T (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} T (NonAssocRing.toNonUnitalNonAssocRing.{u3} T (Ring.toNonAssocRing.{u3} T (CommRing.toRing.{u3} T _inst_35))))) (Algebra.toModule.{u1, u2} R S (CommRing.toCommSemiring.{u1} R _inst_33) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_34)) _inst_36) (Algebra.toModule.{u1, u3} R T (CommRing.toCommSemiring.{u1} R _inst_33) (CommSemiring.toSemiring.{u3} T (CommRing.toCommSemiring.{u3} T _inst_35)) _inst_37)) _inst_35 (Algebra.TensorProduct.instCommRingTensorProductToCommSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingToRingToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingToRingToModuleToSemiringToCommSemiringToModuleToSemiringToCommSemiring.{u1, u2, u3} R _inst_33 S _inst_34 _inst_36 T _inst_35 _inst_37) _inst_37 (Algebra.TensorProduct.leftAlgebra.{u1, u2, u3, u2} R (CommRing.toCommSemiring.{u1} R _inst_33) S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_34)) _inst_36 T (CommSemiring.toSemiring.{u3} T (CommRing.toCommSemiring.{u3} T _inst_35)) _inst_37 S (CommRing.toCommSemiring.{u2} S _inst_34) _inst_36 (Algebra.id.{u2} S (CommRing.toCommSemiring.{u2} S _inst_34)) (IsScalarTower.right.{u1, u2} R S (CommRing.toCommSemiring.{u1} R _inst_33) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_34)) _inst_36)) (Algebra.TensorProduct.rightAlgebra.{u1, u2, u3} R _inst_33 S _inst_34 _inst_36 T _inst_35 _inst_37) (Algebra.TensorProduct.instAlgebraTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModuleInstSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_33) S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_34)) _inst_36 T (CommSemiring.toSemiring.{u3} T (CommRing.toCommSemiring.{u3} T _inst_35)) _inst_37) (Algebra.TensorProduct.right_isScalarTower.{u1, u2, u3} R _inst_33 S _inst_34 _inst_36 T _inst_35 _inst_37) (Algebra.TensorProduct.instIsScalarTowerTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModuleToSMulToSemiringLeftHasSMulToMonoidToMonoidWithZeroToDistribMulActionToModuleTo_smulCommClassInstSMulTensorProduct.{u1, u2, u3, u2} R (CommRing.toCommSemiring.{u1} R _inst_33) S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_34)) _inst_36 T (CommSemiring.toSemiring.{u3} T (CommRing.toCommSemiring.{u3} T _inst_35)) _inst_37 S (CommRing.toCommSemiring.{u2} S _inst_34) _inst_36 (Algebra.id.{u2} S (CommRing.toCommSemiring.{u2} S _inst_34)) (IsScalarTower.right.{u1, u2} R S (CommRing.toCommSemiring.{u1} R _inst_33) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_34)) _inst_36))
-Case conversion may be inaccurate. Consider using '#align tensor_product.is_pushout TensorProduct.isPushoutₓ'. -/
 instance TensorProduct.isPushout {R S T : Type _} [CommRing R] [CommRing S] [CommRing T]
     [Algebra R S] [Algebra R T] : Algebra.IsPushout R S T (TensorProduct R S T) :=
   ⟨TensorProduct.isBaseChange R T S⟩
 #align tensor_product.is_pushout TensorProduct.isPushout
 
-/- warning: tensor_product.is_pushout' -> TensorProduct.isPushout' is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {S : Type.{u2}} {T : Type.{u3}} [_inst_33 : CommRing.{u1} R] [_inst_34 : CommRing.{u2} S] [_inst_35 : CommRing.{u3} T] [_inst_36 : Algebra.{u1, u2} R S (CommRing.toCommSemiring.{u1} R _inst_33) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_34))] [_inst_37 : Algebra.{u1, u3} R T (CommRing.toCommSemiring.{u1} R _inst_33) (Ring.toSemiring.{u3} T (CommRing.toRing.{u3} T _inst_35))], Algebra.IsPushout.{u3, u1, u2, max u2 u3} R T _inst_33 _inst_35 _inst_37 S (TensorProduct.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_33) S T (AddCommGroup.toAddCommMonoid.{u2} S (NonUnitalNonAssocRing.toAddCommGroup.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_34))))) (AddCommGroup.toAddCommMonoid.{u3} T (NonUnitalNonAssocRing.toAddCommGroup.{u3} T (NonAssocRing.toNonUnitalNonAssocRing.{u3} T (Ring.toNonAssocRing.{u3} T (CommRing.toRing.{u3} T _inst_35))))) (Algebra.toModule.{u1, u2} R S (CommRing.toCommSemiring.{u1} R _inst_33) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_34)) _inst_36) (Algebra.toModule.{u1, u3} R T (CommRing.toCommSemiring.{u1} R _inst_33) (Ring.toSemiring.{u3} T (CommRing.toRing.{u3} T _inst_35)) _inst_37)) _inst_34 (Algebra.TensorProduct.TensorProduct.commRing.{u1, u2, u3} R _inst_33 S _inst_34 _inst_36 T _inst_35 _inst_37) _inst_36 (Algebra.TensorProduct.rightAlgebra.{u1, u2, u3} R _inst_33 S _inst_34 _inst_36 T _inst_35 _inst_37) (Algebra.TensorProduct.leftAlgebra.{u1, u2, u3, u2} R (CommRing.toCommSemiring.{u1} R _inst_33) S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_34)) _inst_36 T (Ring.toSemiring.{u3} T (CommRing.toRing.{u3} T _inst_35)) _inst_37 S (CommRing.toCommSemiring.{u2} S _inst_34) _inst_36 (Algebra.id.{u2} S (CommRing.toCommSemiring.{u2} S _inst_34)) (IsScalarTower.right.{u1, u2} R S (CommRing.toCommSemiring.{u1} R _inst_33) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_34)) _inst_36)) (Algebra.TensorProduct.TensorProduct.algebra.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_33) S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_34)) _inst_36 T (Ring.toSemiring.{u3} T (CommRing.toRing.{u3} T _inst_35)) _inst_37) (Algebra.TensorProduct.TensorProduct.isScalarTower.{u1, u2, u3, u2} R (CommRing.toCommSemiring.{u1} R _inst_33) S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_34)) _inst_36 T (Ring.toSemiring.{u3} T (CommRing.toRing.{u3} T _inst_35)) _inst_37 S (CommRing.toCommSemiring.{u2} S _inst_34) _inst_36 (Algebra.id.{u2} S (CommRing.toCommSemiring.{u2} S _inst_34)) (IsScalarTower.right.{u1, u2} R S (CommRing.toCommSemiring.{u1} R _inst_33) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_34)) _inst_36)) (Algebra.TensorProduct.right_isScalarTower.{u1, u2, u3} R _inst_33 S _inst_34 _inst_36 T _inst_35 _inst_37)
-but is expected to have type
-  forall {R : Type.{u1}} {S : Type.{u2}} {T : Type.{u3}} [_inst_33 : CommRing.{u1} R] [_inst_34 : CommRing.{u2} S] [_inst_35 : CommRing.{u3} T] [_inst_36 : Algebra.{u1, u2} R S (CommRing.toCommSemiring.{u1} R _inst_33) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_34))] [_inst_37 : Algebra.{u1, u3} R T (CommRing.toCommSemiring.{u1} R _inst_33) (CommSemiring.toSemiring.{u3} T (CommRing.toCommSemiring.{u3} T _inst_35))], Algebra.IsPushout.{u3, u1, u2, max u3 u2} R T _inst_33 _inst_35 _inst_37 S (TensorProduct.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_33) S T (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_34))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} T (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} T (NonAssocRing.toNonUnitalNonAssocRing.{u3} T (Ring.toNonAssocRing.{u3} T (CommRing.toRing.{u3} T _inst_35))))) (Algebra.toModule.{u1, u2} R S (CommRing.toCommSemiring.{u1} R _inst_33) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_34)) _inst_36) (Algebra.toModule.{u1, u3} R T (CommRing.toCommSemiring.{u1} R _inst_33) (CommSemiring.toSemiring.{u3} T (CommRing.toCommSemiring.{u3} T _inst_35)) _inst_37)) _inst_34 (Algebra.TensorProduct.instCommRingTensorProductToCommSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingToRingToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingToRingToModuleToSemiringToCommSemiringToModuleToSemiringToCommSemiring.{u1, u2, u3} R _inst_33 S _inst_34 _inst_36 T _inst_35 _inst_37) _inst_36 (Algebra.TensorProduct.rightAlgebra.{u1, u2, u3} R _inst_33 S _inst_34 _inst_36 T _inst_35 _inst_37) (Algebra.TensorProduct.leftAlgebra.{u1, u2, u3, u2} R (CommRing.toCommSemiring.{u1} R _inst_33) S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_34)) _inst_36 T (CommSemiring.toSemiring.{u3} T (CommRing.toCommSemiring.{u3} T _inst_35)) _inst_37 S (CommRing.toCommSemiring.{u2} S _inst_34) _inst_36 (Algebra.id.{u2} S (CommRing.toCommSemiring.{u2} S _inst_34)) (IsScalarTower.right.{u1, u2} R S (CommRing.toCommSemiring.{u1} R _inst_33) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_34)) _inst_36)) (Algebra.TensorProduct.instAlgebraTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModuleInstSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_33) S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_34)) _inst_36 T (CommSemiring.toSemiring.{u3} T (CommRing.toCommSemiring.{u3} T _inst_35)) _inst_37) (Algebra.TensorProduct.instIsScalarTowerTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModuleToSMulToSemiringLeftHasSMulToMonoidToMonoidWithZeroToDistribMulActionToModuleTo_smulCommClassInstSMulTensorProduct.{u1, u2, u3, u2} R (CommRing.toCommSemiring.{u1} R _inst_33) S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_34)) _inst_36 T (CommSemiring.toSemiring.{u3} T (CommRing.toCommSemiring.{u3} T _inst_35)) _inst_37 S (CommRing.toCommSemiring.{u2} S _inst_34) _inst_36 (Algebra.id.{u2} S (CommRing.toCommSemiring.{u2} S _inst_34)) (IsScalarTower.right.{u1, u2} R S (CommRing.toCommSemiring.{u1} R _inst_33) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_34)) _inst_36)) (Algebra.TensorProduct.right_isScalarTower.{u1, u2, u3} R _inst_33 S _inst_34 _inst_36 T _inst_35 _inst_37)
-Case conversion may be inaccurate. Consider using '#align tensor_product.is_pushout' TensorProduct.isPushout'ₓ'. -/
 instance TensorProduct.isPushout' {R S T : Type _} [CommRing R] [CommRing S] [CommRing T]
     [Algebra R S] [Algebra R T] : Algebra.IsPushout R T S (TensorProduct R S T) :=
   Algebra.IsPushout.symm inferInstance
 #align tensor_product.is_pushout' TensorProduct.isPushout'
 
-/- warning: algebra.pushout_desc -> Algebra.pushoutDesc is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align algebra.pushout_desc Algebra.pushoutDescₓ'. -/
 /-- If `S' = S ⊗[R] R'`, then any pair of `R`-algebra homomorphisms `f : S → A` and `g : R' → A`
 such that `f x` and `g y` commutes for all `x, y` descends to a (unique) homomoprhism `S' → A`.
 -/
@@ -553,9 +472,6 @@ noncomputable def Algebra.pushoutDesc [H : Algebra.IsPushout R S R' S'] {A : Typ
     · intro s s' e₁ e₂; rw [mul_add, map_add, map_add, mul_add, e₁, e₂]
 #align algebra.pushout_desc Algebra.pushoutDesc
 
-/- warning: algebra.pushout_desc_left -> Algebra.pushoutDesc_left is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align algebra.pushout_desc_left Algebra.pushoutDesc_leftₓ'. -/
 @[simp]
 theorem Algebra.pushoutDesc_left [H : Algebra.IsPushout R S R' S'] {A : Type _} [Semiring A]
     [Algebra R A] (f : S →ₐ[R] A) (g : R' →ₐ[R] A) (H) (x : S) :
@@ -566,18 +482,12 @@ theorem Algebra.pushoutDesc_left [H : Algebra.IsPushout R S R' S'] {A : Type _}
   exact mul_one (f x)
 #align algebra.pushout_desc_left Algebra.pushoutDesc_left
 
-/- warning: algebra.lift_alg_hom_comp_left -> Algebra.lift_algHom_comp_left is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align algebra.lift_alg_hom_comp_left Algebra.lift_algHom_comp_leftₓ'. -/
 theorem Algebra.lift_algHom_comp_left [H : Algebra.IsPushout R S R' S'] {A : Type _} [Semiring A]
     [Algebra R A] (f : S →ₐ[R] A) (g : R' →ₐ[R] A) (H) :
     (Algebra.pushoutDesc S' f g H).comp (toAlgHom R S S') = f :=
   AlgHom.ext fun x => (Algebra.pushoutDesc_left S' f g H x : _)
 #align algebra.lift_alg_hom_comp_left Algebra.lift_algHom_comp_left
 
-/- warning: algebra.pushout_desc_right -> Algebra.pushoutDesc_right is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align algebra.pushout_desc_right Algebra.pushoutDesc_rightₓ'. -/
 @[simp]
 theorem Algebra.pushoutDesc_right [H : Algebra.IsPushout R S R' S'] {A : Type _} [Semiring A]
     [Algebra R A] (f : S →ₐ[R] A) (g : R' →ₐ[R] A) (H) (x : R') :
@@ -585,18 +495,12 @@ theorem Algebra.pushoutDesc_right [H : Algebra.IsPushout R S R' S'] {A : Type _}
   apply (config := { instances := false }) @IsBaseChange.lift_eq
 #align algebra.pushout_desc_right Algebra.pushoutDesc_right
 
-/- warning: algebra.lift_alg_hom_comp_right -> Algebra.lift_algHom_comp_right is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align algebra.lift_alg_hom_comp_right Algebra.lift_algHom_comp_rightₓ'. -/
 theorem Algebra.lift_algHom_comp_right [H : Algebra.IsPushout R S R' S'] {A : Type _} [Semiring A]
     [Algebra R A] (f : S →ₐ[R] A) (g : R' →ₐ[R] A) (H) :
     (Algebra.pushoutDesc S' f g H).comp (toAlgHom R R' S') = g :=
   AlgHom.ext fun x => (Algebra.pushoutDesc_right S' f g H x : _)
 #align algebra.lift_alg_hom_comp_right Algebra.lift_algHom_comp_right
 
-/- warning: algebra.is_pushout.alg_hom_ext -> Algebra.IsPushout.algHom_ext is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align algebra.is_pushout.alg_hom_ext Algebra.IsPushout.algHom_extₓ'. -/
 @[ext]
 theorem Algebra.IsPushout.algHom_ext [H : Algebra.IsPushout R S R' S'] {A : Type _} [Semiring A]
     [Algebra R A] {f g : S' →ₐ[R] A} (h₁ : f.comp (toAlgHom R R' S') = g.comp (toAlgHom R R' S'))
Diff
@@ -84,8 +84,7 @@ theorem TensorProduct.isTensorProduct : IsTensorProduct (TensorProduct.mk R M N)
   by
   delta IsTensorProduct
   convert_to Function.Bijective LinearMap.id using 2
-  · apply TensorProduct.ext'
-    simp
+  · apply TensorProduct.ext'; simp
   · exact Function.bijective_id
 #align tensor_product.is_tensor_product TensorProduct.isTensorProduct
 
@@ -168,10 +167,8 @@ theorem IsTensorProduct.inductionOn (h : IsTensorProduct f) {C : M → Prop} (m
   change C (TensorProduct.lift f y)
   induction y using TensorProduct.induction_on
   · rwa [map_zero]
-  · rw [TensorProduct.lift.tmul]
-    apply htmul
-  · rw [map_add]
-    apply hadd <;> assumption
+  · rw [TensorProduct.lift.tmul]; apply htmul
+  · rw [map_add]; apply hadd <;> assumption
 #align is_tensor_product.induction_on IsTensorProduct.inductionOn
 
 end IsTensorProduct
@@ -225,8 +222,7 @@ noncomputable def IsBaseChange.lift (g : M →ₗ[R] Q) : N →ₗ[S] Q :=
       · intro s m
         change h.lift F (r • s • f m) = r • h.lift F (s • f m)
         rw [← mul_smul, hF, hF, mul_smul]
-      · intro x₁ x₂ e₁ e₂
-        rw [map_add, smul_add, map_add, smul_add, e₁, e₂] }
+      · intro x₁ x₂ e₁ e₂; rw [map_add, smul_add, map_add, smul_add, e₁, e₂] }
 #align is_base_change.lift IsBaseChange.lift
 -/
 
@@ -268,10 +264,8 @@ theorem IsBaseChange.alg_hom_ext (g₁ g₂ : N →ₗ[S] Q) (e : ∀ x, g₁ (f
   apply h.induction_on x
   · rw [map_zero, map_zero]
   · assumption
-  · intro s n e'
-    rw [g₁.map_smul, g₂.map_smul, e']
-  · intro x y e₁ e₂
-    rw [map_add, map_add, e₁, e₂]
+  · intro s n e'; rw [g₁.map_smul, g₂.map_smul, e']
+  · intro x y e₁ e₂; rw [map_add, map_add, e₁, e₂]
 #align is_base_change.alg_hom_ext IsBaseChange.alg_hom_ext
 
 /- warning: is_base_change.alg_hom_ext' -> IsBaseChange.alg_hom_ext' is a dubious translation:
@@ -310,10 +304,8 @@ noncomputable def IsBaseChange.equiv : S ⊗[R] M ≃ₗ[S] N :=
       change h.equiv (r • x) = r • h.equiv x
       apply TensorProduct.induction_on x
       · rw [smul_zero, map_zero, smul_zero]
-      · intro x y
-        simp [smul_tmul', Algebra.ofId_apply]
-      · intro x y hx hy
-        rw [map_add, smul_add, map_add, smul_add, hx, hy] }
+      · intro x y; simp [smul_tmul', Algebra.ofId_apply]
+      · intro x y hx hy; rw [map_add, smul_add, map_add, smul_add, hx, hy] }
 #align is_base_change.equiv IsBaseChange.equiv
 -/
 
@@ -347,8 +339,7 @@ theorem IsBaseChange.of_lift_unique
   obtain ⟨g, hg, -⟩ :=
     h (ULift.{v₂} <| S ⊗[R] M)
       (ulift.module_equiv.symm.to_linear_map.comp <| TensorProduct.mk R S M 1)
-  let f' : S ⊗[R] M →ₗ[R] N := _
-  change Function.Bijective f'
+  let f' : S ⊗[R] M →ₗ[R] N := _; change Function.Bijective f'
   let f'' : S ⊗[R] M →ₗ[S] N :=
     by
     refine'
@@ -368,10 +359,7 @@ theorem IsBaseChange.of_lift_unique
     ext x
     simp only [LinearMap.comp_apply, LinearMap.restrictScalars_apply, hg]
     apply one_smul
-  · ext x
-    change (g <| (1 : S) • f x).down = _
-    rw [one_smul, hg]
-    rfl
+  · ext x; change (g <| (1 : S) • f x).down = _; rw [one_smul, hg]; rfl
 #align is_base_change.of_lift_unique IsBaseChange.of_lift_unique
 
 variable {f}
@@ -405,10 +393,7 @@ theorem IsBaseChange.ofEquiv (e : M ≃ₗ[R] N) : IsBaseChange R e.toLinearMap
     ext (r q)
     rw [← one_smul R q, smul_smul, ← smul_assoc, smul_eq_mul, mul_one]
   cases this
-  refine'
-    ⟨g.comp e.symm.to_linear_map, by
-      ext
-      simp, _⟩
+  refine' ⟨g.comp e.symm.to_linear_map, by ext; simp, _⟩
   rintro y (rfl : _ = _)
   ext
   simp
@@ -429,19 +414,13 @@ theorem IsBaseChange.comp {f : M →ₗ[R] N} (hf : IsBaseChange S f) {g : N →
   apply IsBaseChange.of_lift_unique
   intro Q _ _ _ _ i
   letI := Module.compHom Q (algebraMap S T)
-  haveI : IsScalarTower S T Q :=
-    ⟨fun x y z => by
-      rw [Algebra.smul_def, mul_smul]
-      rfl⟩
+  haveI : IsScalarTower S T Q := ⟨fun x y z => by rw [Algebra.smul_def, mul_smul]; rfl⟩
   have : IsScalarTower R S Q := by
     refine' ⟨fun x y z => _⟩
     change (IsScalarTower.toAlgHom R S T) (x • y) • z = x • algebraMap S T y • z
     rw [AlgHom.map_smul, smul_assoc]
     rfl
-  refine'
-    ⟨hg.lift (hf.lift i), by
-      ext
-      simp [IsBaseChange.lift_eq], _⟩
+  refine' ⟨hg.lift (hf.lift i), by ext; simp [IsBaseChange.lift_eq], _⟩
   rintro g' (e : _ = _)
   refine' hg.alg_hom_ext' _ _ (hf.alg_hom_ext' _ _ _)
   rw [IsBaseChange.lift_comp, IsBaseChange.lift_comp, ← e]
@@ -491,14 +470,11 @@ theorem Algebra.IsPushout.symm (h : Algebra.IsPushout R S R' S') : Algebra.IsPus
     · intro x y
       simp [smul_tmul', Algebra.smul_def, RingHom.algebraMap_toAlgebra, h.1.equiv_tmul]
       ring
-    · intro x y hx hy
-      simp only [map_add, smul_add, hx, hy]
+    · intro x y hx hy; simp only [map_add, smul_add, hx, hy]
   have :
     (to_alg_hom R S S').toLinearMap =
       (e.to_linear_map.restrict_scalars R).comp (TensorProduct.mk R R' S 1) :=
-    by
-    ext
-    simp [e, h.1.equiv_tmul, Algebra.smul_def]
+    by ext; simp [e, h.1.equiv_tmul, Algebra.smul_def]
   constructor
   rw [this]
   exact (TensorProduct.isBaseChange R S R').comp (IsBaseChange.ofEquiv e)
@@ -563,26 +539,18 @@ noncomputable def Algebra.pushoutDesc [H : Algebra.IsPushout R S R' S'] {A : Typ
     apply H.out.induction_on x
     · rw [MulZeroClass.zero_mul, map_zero, MulZeroClass.zero_mul]
     rotate_left
-    · intro s s' e
-      dsimp only [LinearMap.restrictScalars_apply] at e⊢
+    · intro s s' e; dsimp only [LinearMap.restrictScalars_apply] at e⊢
       rw [LinearMap.map_smul, smul_mul_assoc, LinearMap.map_smul, e, smul_mul_assoc]
-    · intro s s' e₁ e₂
-      dsimp only [LinearMap.restrictScalars_apply] at e₁ e₂⊢
+    · intro s s' e₁ e₂; dsimp only [LinearMap.restrictScalars_apply] at e₁ e₂⊢
       rw [add_mul, map_add, map_add, add_mul, e₁, e₂]
-    intro x
-    dsimp
-    rw [this]
-    apply H.out.induction_on y
+    intro x; dsimp; rw [this]; apply H.out.induction_on y
     · rw [MulZeroClass.mul_zero, map_zero, MulZeroClass.mul_zero]
-    · intro y
-      dsimp
-      rw [← _root_.map_mul, this, this, _root_.map_mul]
+    · intro y; dsimp; rw [← _root_.map_mul, this, this, _root_.map_mul]
     · intro s s' e
       rw [mul_comm, smul_mul_assoc, LinearMap.map_smul, LinearMap.map_smul, mul_comm, e]
       change f s * (g x * _) = g x * (f s * _)
       rw [← mul_assoc, ← mul_assoc, hf]
-    · intro s s' e₁ e₂
-      rw [mul_add, map_add, map_add, mul_add, e₁, e₂]
+    · intro s s' e₁ e₂; rw [mul_add, map_add, map_add, mul_add, e₁, e₂]
 #align algebra.pushout_desc Algebra.pushoutDesc
 
 /- warning: algebra.pushout_desc_left -> Algebra.pushoutDesc_left is a dubious translation:
@@ -638,12 +606,9 @@ theorem Algebra.IsPushout.algHom_ext [H : Algebra.IsPushout R S R' S'] {A : Type
   apply H.1.inductionOn x
   · simp only [map_zero]
   · exact AlgHom.congr_fun h₁
-  · intro s s' e
-    rw [Algebra.smul_def, f.map_mul, g.map_mul, e]
-    congr 1
-    exact (AlgHom.congr_fun h₂ s : _)
-  · intro s₁ s₂ e₁ e₂
-    rw [map_add, map_add, e₁, e₂]
+  · intro s s' e; rw [Algebra.smul_def, f.map_mul, g.map_mul, e]
+    congr 1; exact (AlgHom.congr_fun h₂ s : _)
+  · intro s₁ s₂ e₁ e₂; rw [map_add, map_add, e₁, e₂]
 #align algebra.is_pushout.alg_hom_ext Algebra.IsPushout.algHom_ext
 
 end IsBaseChange
Diff
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Andrew Yang
 
 ! This file was ported from Lean 3 source module ring_theory.is_tensor_product
-! leanprover-community/mathlib commit c4926d76bb9c5a4a62ed2f03d998081786132105
+! leanprover-community/mathlib commit 0b7c740e25651db0ba63648fbae9f9d6f941e31b
 ! Please do not edit these lines, except to modify the commit id
 ! if you have ported upstream changes.
 -/
@@ -14,6 +14,9 @@ import Mathbin.Algebra.Module.Ulift
 /-!
 # The characteristice predicate of tensor product
 
+> THIS FILE IS SYNCHRONIZED WITH MATHLIB4.
+> Any changes to this file require a corresponding PR to mathlib4.
+
 ## Main definitions
 
 - `is_tensor_product`: A predicate on `f : M₁ →ₗ[R] M₂ →ₗ[R] M` expressing that `f` realizes `M` as
@@ -97,10 +100,7 @@ noncomputable def IsTensorProduct.equiv (h : IsTensorProduct f) : M₁ ⊗[R] M
 -/
 
 /- warning: is_tensor_product.equiv_to_linear_map -> IsTensorProduct.equiv_toLinearMap is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {M₁ : Type.{u2}} {M₂ : Type.{u3}} {M : Type.{u4}} [_inst_2 : AddCommMonoid.{u2} M₁] [_inst_3 : AddCommMonoid.{u3} M₂] [_inst_4 : AddCommMonoid.{u4} M] [_inst_6 : Module.{u1, u2} R M₁ (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_2] [_inst_7 : Module.{u1, u3} R M₂ (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_3] [_inst_8 : Module.{u1, u4} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_4] {f : LinearMap.{u1, u1, u2, max u3 u4} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M₁ (LinearMap.{u1, u1, u3, u4} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M₂ M _inst_3 _inst_4 _inst_7 _inst_8) _inst_2 (LinearMap.addCommMonoid.{u1, u1, u3, u4} R R M₂ M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_3 _inst_4 _inst_7 _inst_8 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) _inst_6 (LinearMap.module.{u1, u1, u1, u3, u4} R R R M₂ M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_3 _inst_4 _inst_7 _inst_8 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_8 (smulCommClass_self.{u1, u4} R M (CommRing.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u4} R M (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_4))) (Module.toMulActionWithZero.{u1, u4} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_4 _inst_8))))} (h : IsTensorProduct.{u1, u2, u3, u4} R _inst_1 M₁ M₂ M _inst_2 _inst_3 _inst_4 _inst_6 _inst_7 _inst_8 f), Eq.{max (succ (max u2 u3)) (succ u4)} (LinearMap.{u1, u1, max u2 u3, u4} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (TensorProduct.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M₁ M₂ _inst_2 _inst_3 _inst_6 _inst_7) M (TensorProduct.addCommMonoid.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M₁ M₂ _inst_2 _inst_3 _inst_6 _inst_7) _inst_4 (TensorProduct.module.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M₁ M₂ _inst_2 _inst_3 _inst_6 _inst_7) _inst_8) (LinearEquiv.toLinearMap.{u1, u1, max u2 u3, u4} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (IsTensorProduct.equiv._proof_2.{u1} R _inst_1) (IsTensorProduct.equiv._proof_3.{u1} R _inst_1) (TensorProduct.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M₁ M₂ _inst_2 _inst_3 _inst_6 _inst_7) M (TensorProduct.addCommMonoid.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M₁ M₂ _inst_2 _inst_3 _inst_6 _inst_7) _inst_4 (TensorProduct.module.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M₁ M₂ _inst_2 _inst_3 _inst_6 _inst_7) _inst_8 (IsTensorProduct.equiv.{u1, u2, u3, u4} R _inst_1 M₁ M₂ M _inst_2 _inst_3 _inst_4 _inst_6 _inst_7 _inst_8 f h)) (TensorProduct.lift.{u1, u2, u3, u4} R (CommRing.toCommSemiring.{u1} R _inst_1) M₁ M₂ M _inst_2 _inst_3 _inst_4 _inst_6 _inst_7 _inst_8 f)
-but is expected to have type
-  forall {R : Type.{u4}} [_inst_1 : CommRing.{u4} R] {M₁ : Type.{u3}} {M₂ : Type.{u2}} {M : Type.{u1}} [_inst_2 : AddCommMonoid.{u3} M₁] [_inst_3 : AddCommMonoid.{u2} M₂] [_inst_4 : AddCommMonoid.{u1} M] [_inst_6 : Module.{u4, u3} R M₁ (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_2] [_inst_7 : Module.{u4, u2} R M₂ (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_3] [_inst_8 : Module.{u4, u1} R M (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_4] {f : LinearMap.{u4, u4, u3, max u1 u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M₁ (LinearMap.{u4, u4, u2, u1} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M₂ M _inst_3 _inst_4 _inst_7 _inst_8) _inst_2 (LinearMap.addCommMonoid.{u4, u4, u2, u1} R R M₂ M (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_3 _inst_4 _inst_7 _inst_8 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) _inst_6 (LinearMap.instModuleLinearMapAddCommMonoid.{u4, u4, u4, u2, u1} R R R M₂ M (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_3 _inst_4 _inst_7 _inst_8 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_8 (smulCommClass_self.{u4, u1} R M (CommRing.toCommMonoid.{u4} R _inst_1) (MulActionWithZero.toMulAction.{u4, u1} R M (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_4)) (Module.toMulActionWithZero.{u4, u1} R M (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_4 _inst_8))))} (h : IsTensorProduct.{u4, u3, u2, u1} R _inst_1 M₁ M₂ M _inst_2 _inst_3 _inst_4 _inst_6 _inst_7 _inst_8 f), Eq.{max (max (succ u3) (succ u2)) (succ u1)} (LinearMap.{u4, u4, max u3 u2, u1} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (TensorProduct.{u4, u3, u2} R (CommRing.toCommSemiring.{u4} R _inst_1) M₁ M₂ _inst_2 _inst_3 _inst_6 _inst_7) M (TensorProduct.addCommMonoid.{u4, u3, u2} R (CommRing.toCommSemiring.{u4} R _inst_1) M₁ M₂ _inst_2 _inst_3 _inst_6 _inst_7) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u4, u3, u2} R (CommRing.toCommSemiring.{u4} R _inst_1) M₁ M₂ _inst_2 _inst_3 _inst_6 _inst_7) _inst_8) (LinearEquiv.toLinearMap.{u4, u4, max u3 u2, u1} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (TensorProduct.{u4, u3, u2} R (CommRing.toCommSemiring.{u4} R _inst_1) M₁ M₂ _inst_2 _inst_3 _inst_6 _inst_7) M (TensorProduct.addCommMonoid.{u4, u3, u2} R (CommRing.toCommSemiring.{u4} R _inst_1) M₁ M₂ _inst_2 _inst_3 _inst_6 _inst_7) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u4, u3, u2} R (CommRing.toCommSemiring.{u4} R _inst_1) M₁ M₂ _inst_2 _inst_3 _inst_6 _inst_7) _inst_8 (IsTensorProduct.equiv.{u4, u3, u2, u1} R _inst_1 M₁ M₂ M _inst_2 _inst_3 _inst_4 _inst_6 _inst_7 _inst_8 f h)) (TensorProduct.lift.{u4, u3, u2, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M₁ M₂ M _inst_2 _inst_3 _inst_4 _inst_6 _inst_7 _inst_8 f)
+<too large>
 Case conversion may be inaccurate. Consider using '#align is_tensor_product.equiv_to_linear_map IsTensorProduct.equiv_toLinearMapₓ'. -/
 @[simp]
 theorem IsTensorProduct.equiv_toLinearMap (h : IsTensorProduct f) :
@@ -109,10 +109,7 @@ theorem IsTensorProduct.equiv_toLinearMap (h : IsTensorProduct f) :
 #align is_tensor_product.equiv_to_linear_map IsTensorProduct.equiv_toLinearMap
 
 /- warning: is_tensor_product.equiv_symm_apply -> IsTensorProduct.equiv_symm_apply is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {M₁ : Type.{u2}} {M₂ : Type.{u3}} {M : Type.{u4}} [_inst_2 : AddCommMonoid.{u2} M₁] [_inst_3 : AddCommMonoid.{u3} M₂] [_inst_4 : AddCommMonoid.{u4} M] [_inst_6 : Module.{u1, u2} R M₁ (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_2] [_inst_7 : Module.{u1, u3} R M₂ (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_3] [_inst_8 : Module.{u1, u4} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_4] {f : LinearMap.{u1, u1, u2, max u3 u4} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M₁ (LinearMap.{u1, u1, u3, u4} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M₂ M _inst_3 _inst_4 _inst_7 _inst_8) _inst_2 (LinearMap.addCommMonoid.{u1, u1, u3, u4} R R M₂ M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_3 _inst_4 _inst_7 _inst_8 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) _inst_6 (LinearMap.module.{u1, u1, u1, u3, u4} R R R M₂ M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_3 _inst_4 _inst_7 _inst_8 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_8 (smulCommClass_self.{u1, u4} R M (CommRing.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u4} R M (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_4))) (Module.toMulActionWithZero.{u1, u4} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_4 _inst_8))))} (h : IsTensorProduct.{u1, u2, u3, u4} R _inst_1 M₁ M₂ M _inst_2 _inst_3 _inst_4 _inst_6 _inst_7 _inst_8 f) (x₁ : M₁) (x₂ : M₂), Eq.{succ (max u2 u3)} (TensorProduct.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M₁ M₂ _inst_2 _inst_3 _inst_6 _inst_7) (coeFn.{max (succ u4) (succ (max u2 u3)), max (succ u4) (succ (max u2 u3))} (LinearEquiv.{u1, u1, u4, max u2 u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (IsTensorProduct.equiv._proof_3.{u1} R _inst_1) (IsTensorProduct.equiv._proof_2.{u1} R _inst_1) M (TensorProduct.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M₁ M₂ _inst_2 _inst_3 _inst_6 _inst_7) _inst_4 (TensorProduct.addCommMonoid.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M₁ M₂ _inst_2 _inst_3 _inst_6 _inst_7) _inst_8 (TensorProduct.module.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M₁ M₂ _inst_2 _inst_3 _inst_6 _inst_7)) (fun (_x : LinearEquiv.{u1, u1, u4, max u2 u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (IsTensorProduct.equiv._proof_3.{u1} R _inst_1) (IsTensorProduct.equiv._proof_2.{u1} R _inst_1) M (TensorProduct.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M₁ M₂ _inst_2 _inst_3 _inst_6 _inst_7) _inst_4 (TensorProduct.addCommMonoid.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M₁ M₂ _inst_2 _inst_3 _inst_6 _inst_7) _inst_8 (TensorProduct.module.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M₁ M₂ _inst_2 _inst_3 _inst_6 _inst_7)) => M -> (TensorProduct.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M₁ M₂ _inst_2 _inst_3 _inst_6 _inst_7)) (LinearEquiv.hasCoeToFun.{u1, u1, u4, max u2 u3} R R M (TensorProduct.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M₁ M₂ _inst_2 _inst_3 _inst_6 _inst_7) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_4 (TensorProduct.addCommMonoid.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M₁ M₂ _inst_2 _inst_3 _inst_6 _inst_7) _inst_8 (TensorProduct.module.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M₁ M₂ _inst_2 _inst_3 _inst_6 _inst_7) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (IsTensorProduct.equiv._proof_3.{u1} R _inst_1) (IsTensorProduct.equiv._proof_2.{u1} R _inst_1)) (LinearEquiv.symm.{u1, u1, max u2 u3, u4} R R (TensorProduct.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M₁ M₂ _inst_2 _inst_3 _inst_6 _inst_7) M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (TensorProduct.addCommMonoid.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M₁ M₂ _inst_2 _inst_3 _inst_6 _inst_7) _inst_4 (TensorProduct.module.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M₁ M₂ _inst_2 _inst_3 _inst_6 _inst_7) _inst_8 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (IsTensorProduct.equiv._proof_2.{u1} R _inst_1) (IsTensorProduct.equiv._proof_3.{u1} R _inst_1) (IsTensorProduct.equiv.{u1, u2, u3, u4} R _inst_1 M₁ M₂ M _inst_2 _inst_3 _inst_4 _inst_6 _inst_7 _inst_8 f h)) (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u1, u3, u4} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M₂ M _inst_3 _inst_4 _inst_7 _inst_8) (fun (_x : LinearMap.{u1, u1, u3, u4} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M₂ M _inst_3 _inst_4 _inst_7 _inst_8) => M₂ -> M) (LinearMap.hasCoeToFun.{u1, u1, u3, u4} R R M₂ M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_3 _inst_4 _inst_7 _inst_8 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (coeFn.{max (succ u2) (succ (max u3 u4)), max (succ u2) (succ (max u3 u4))} (LinearMap.{u1, u1, u2, max u3 u4} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M₁ (LinearMap.{u1, u1, u3, u4} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M₂ M _inst_3 _inst_4 _inst_7 _inst_8) _inst_2 (LinearMap.addCommMonoid.{u1, u1, u3, u4} R R M₂ M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_3 _inst_4 _inst_7 _inst_8 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) _inst_6 (LinearMap.module.{u1, u1, u1, u3, u4} R R R M₂ M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_3 _inst_4 _inst_7 _inst_8 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_8 (smulCommClass_self.{u1, u4} R M (CommRing.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u4} R M (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_4))) (Module.toMulActionWithZero.{u1, u4} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_4 _inst_8))))) (fun (_x : LinearMap.{u1, u1, u2, max u3 u4} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M₁ (LinearMap.{u1, u1, u3, u4} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M₂ M _inst_3 _inst_4 _inst_7 _inst_8) _inst_2 (LinearMap.addCommMonoid.{u1, u1, u3, u4} R R M₂ M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_3 _inst_4 _inst_7 _inst_8 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) _inst_6 (LinearMap.module.{u1, u1, u1, u3, u4} R R R M₂ M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_3 _inst_4 _inst_7 _inst_8 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_8 (smulCommClass_self.{u1, u4} R M (CommRing.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u4} R M (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_4))) (Module.toMulActionWithZero.{u1, u4} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_4 _inst_8))))) => M₁ -> (LinearMap.{u1, u1, u3, u4} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M₂ M _inst_3 _inst_4 _inst_7 _inst_8)) (LinearMap.hasCoeToFun.{u1, u1, u2, max u3 u4} R R M₁ (LinearMap.{u1, u1, u3, u4} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M₂ M _inst_3 _inst_4 _inst_7 _inst_8) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_2 (LinearMap.addCommMonoid.{u1, u1, u3, u4} R R M₂ M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_3 _inst_4 _inst_7 _inst_8 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) _inst_6 (LinearMap.module.{u1, u1, u1, u3, u4} R R R M₂ M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_3 _inst_4 _inst_7 _inst_8 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_8 (smulCommClass_self.{u1, u4} R M (CommRing.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u4} R M (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_4))) (Module.toMulActionWithZero.{u1, u4} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_4 _inst_8)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) f x₁) x₂)) (TensorProduct.tmul.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M₁ M₂ _inst_2 _inst_3 _inst_6 _inst_7 x₁ x₂)
-but is expected to have type
-  forall {R : Type.{u4}} [_inst_1 : CommRing.{u4} R] {M₁ : Type.{u3}} {M₂ : Type.{u2}} {M : Type.{u1}} [_inst_2 : AddCommMonoid.{u3} M₁] [_inst_3 : AddCommMonoid.{u2} M₂] [_inst_4 : AddCommMonoid.{u1} M] [_inst_6 : Module.{u4, u3} R M₁ (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_2] [_inst_7 : Module.{u4, u2} R M₂ (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_3] [_inst_8 : Module.{u4, u1} R M (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_4] {f : LinearMap.{u4, u4, u3, max u1 u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M₁ (LinearMap.{u4, u4, u2, u1} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M₂ M _inst_3 _inst_4 _inst_7 _inst_8) _inst_2 (LinearMap.addCommMonoid.{u4, u4, u2, u1} R R M₂ M (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_3 _inst_4 _inst_7 _inst_8 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) _inst_6 (LinearMap.instModuleLinearMapAddCommMonoid.{u4, u4, u4, u2, u1} R R R M₂ M (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_3 _inst_4 _inst_7 _inst_8 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_8 (smulCommClass_self.{u4, u1} R M (CommRing.toCommMonoid.{u4} R _inst_1) (MulActionWithZero.toMulAction.{u4, u1} R M (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_4)) (Module.toMulActionWithZero.{u4, u1} R M (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_4 _inst_8))))} (h : IsTensorProduct.{u4, u3, u2, u1} R _inst_1 M₁ M₂ M _inst_2 _inst_3 _inst_4 _inst_6 _inst_7 _inst_8 f) (x₁ : M₁) (x₂ : M₂), Eq.{max (succ u3) (succ u2)} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : M) => TensorProduct.{u4, u3, u2} R (CommRing.toCommSemiring.{u4} R _inst_1) M₁ M₂ _inst_2 _inst_3 _inst_6 _inst_7) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M₁) => LinearMap.{u4, u4, u2, u1} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M₂ M _inst_3 _inst_4 _inst_7 _inst_8) x₁) M₂ (fun (a : M₂) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M₂) => M) a) (LinearMap.instFunLikeLinearMap.{u4, u4, u2, u1} R R M₂ M (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_3 _inst_4 _inst_7 _inst_8 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u3, max (succ u2) (succ u1)} (LinearMap.{u4, u4, u3, max u1 u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M₁ (LinearMap.{u4, u4, u2, u1} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M₂ M _inst_3 _inst_4 _inst_7 _inst_8) _inst_2 (LinearMap.addCommMonoid.{u4, u4, u2, u1} R R M₂ M (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_3 _inst_4 _inst_7 _inst_8 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) _inst_6 (LinearMap.instModuleLinearMapAddCommMonoid.{u4, u4, u4, u2, u1} R R R M₂ M (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_3 _inst_4 _inst_7 _inst_8 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_8 (smulCommClass_self.{u4, u1} R M (CommRing.toCommMonoid.{u4} R _inst_1) (MulActionWithZero.toMulAction.{u4, u1} R M (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_4)) (Module.toMulActionWithZero.{u4, u1} R M (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_4 _inst_8))))) M₁ (fun (a : M₁) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M₁) => LinearMap.{u4, u4, u2, u1} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M₂ M _inst_3 _inst_4 _inst_7 _inst_8) a) (LinearMap.instFunLikeLinearMap.{u4, u4, u3, max u2 u1} R R M₁ (LinearMap.{u4, u4, u2, u1} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M₂ M _inst_3 _inst_4 _inst_7 _inst_8) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_2 (LinearMap.addCommMonoid.{u4, u4, u2, u1} R R M₂ M (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_3 _inst_4 _inst_7 _inst_8 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) _inst_6 (LinearMap.instModuleLinearMapAddCommMonoid.{u4, u4, u4, u2, u1} R R R M₂ M (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_3 _inst_4 _inst_7 _inst_8 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_8 (smulCommClass_self.{u4, u1} R M (CommRing.toCommMonoid.{u4} R _inst_1) (MulActionWithZero.toMulAction.{u4, u1} R M (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_4)) (Module.toMulActionWithZero.{u4, u1} R M (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_4 _inst_8)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) f x₁) x₂)) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u1, max (succ u3) (succ u2)} (LinearEquiv.{u4, u4, u1, max u3 u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) M (TensorProduct.{u4, u3, u2} R (CommRing.toCommSemiring.{u4} R _inst_1) M₁ M₂ _inst_2 _inst_3 _inst_6 _inst_7) _inst_4 (TensorProduct.addCommMonoid.{u4, u3, u2} R (CommRing.toCommSemiring.{u4} R _inst_1) M₁ M₂ _inst_2 _inst_3 _inst_6 _inst_7) _inst_8 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u4, u3, u2} R (CommRing.toCommSemiring.{u4} R _inst_1) M₁ M₂ _inst_2 _inst_3 _inst_6 _inst_7)) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : M) => TensorProduct.{u4, u3, u2} R (CommRing.toCommSemiring.{u4} R _inst_1) M₁ M₂ _inst_2 _inst_3 _inst_6 _inst_7) _x) (SMulHomClass.toFunLike.{max (max u3 u2) u1, u4, u1, max u3 u2} (LinearEquiv.{u4, u4, u1, max u3 u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) M (TensorProduct.{u4, u3, u2} R (CommRing.toCommSemiring.{u4} R _inst_1) M₁ M₂ _inst_2 _inst_3 _inst_6 _inst_7) _inst_4 (TensorProduct.addCommMonoid.{u4, u3, u2} R (CommRing.toCommSemiring.{u4} R _inst_1) M₁ M₂ _inst_2 _inst_3 _inst_6 _inst_7) _inst_8 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u4, u3, u2} R (CommRing.toCommSemiring.{u4} R _inst_1) M₁ M₂ _inst_2 _inst_3 _inst_6 _inst_7)) R M (TensorProduct.{u4, u3, u2} R (CommRing.toCommSemiring.{u4} R _inst_1) M₁ M₂ _inst_2 _inst_3 _inst_6 _inst_7) (SMulZeroClass.toSMul.{u4, u1} R M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_4)) (DistribSMul.toSMulZeroClass.{u4, u1} R M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_4)) (DistribMulAction.toDistribSMul.{u4, u1} R M (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (AddCommMonoid.toAddMonoid.{u1} M _inst_4) (Module.toDistribMulAction.{u4, u1} R M (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_4 _inst_8)))) (SMulZeroClass.toSMul.{u4, max u3 u2} R (TensorProduct.{u4, u3, u2} R (CommRing.toCommSemiring.{u4} R _inst_1) M₁ M₂ _inst_2 _inst_3 _inst_6 _inst_7) (AddMonoid.toZero.{max u3 u2} (TensorProduct.{u4, u3, u2} R (CommRing.toCommSemiring.{u4} R _inst_1) M₁ M₂ _inst_2 _inst_3 _inst_6 _inst_7) (AddCommMonoid.toAddMonoid.{max u3 u2} (TensorProduct.{u4, u3, u2} R (CommRing.toCommSemiring.{u4} R _inst_1) M₁ M₂ _inst_2 _inst_3 _inst_6 _inst_7) (TensorProduct.addCommMonoid.{u4, u3, u2} R (CommRing.toCommSemiring.{u4} R _inst_1) M₁ M₂ _inst_2 _inst_3 _inst_6 _inst_7))) (DistribSMul.toSMulZeroClass.{u4, max u3 u2} R (TensorProduct.{u4, u3, u2} R (CommRing.toCommSemiring.{u4} R _inst_1) M₁ M₂ _inst_2 _inst_3 _inst_6 _inst_7) (AddMonoid.toAddZeroClass.{max u3 u2} (TensorProduct.{u4, u3, u2} R (CommRing.toCommSemiring.{u4} R _inst_1) M₁ M₂ _inst_2 _inst_3 _inst_6 _inst_7) (AddCommMonoid.toAddMonoid.{max u3 u2} (TensorProduct.{u4, u3, u2} R (CommRing.toCommSemiring.{u4} R _inst_1) M₁ M₂ _inst_2 _inst_3 _inst_6 _inst_7) (TensorProduct.addCommMonoid.{u4, u3, u2} R (CommRing.toCommSemiring.{u4} R _inst_1) M₁ M₂ _inst_2 _inst_3 _inst_6 _inst_7))) (DistribMulAction.toDistribSMul.{u4, max u3 u2} R (TensorProduct.{u4, u3, u2} R (CommRing.toCommSemiring.{u4} R _inst_1) M₁ M₂ _inst_2 _inst_3 _inst_6 _inst_7) (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u3 u2} (TensorProduct.{u4, u3, u2} R (CommRing.toCommSemiring.{u4} R _inst_1) M₁ M₂ _inst_2 _inst_3 _inst_6 _inst_7) (TensorProduct.addCommMonoid.{u4, u3, u2} R (CommRing.toCommSemiring.{u4} R _inst_1) M₁ M₂ _inst_2 _inst_3 _inst_6 _inst_7)) (Module.toDistribMulAction.{u4, max u3 u2} R (TensorProduct.{u4, u3, u2} R (CommRing.toCommSemiring.{u4} R _inst_1) M₁ M₂ _inst_2 _inst_3 _inst_6 _inst_7) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (TensorProduct.addCommMonoid.{u4, u3, u2} R (CommRing.toCommSemiring.{u4} R _inst_1) M₁ M₂ _inst_2 _inst_3 _inst_6 _inst_7) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u4, u3, u2} R (CommRing.toCommSemiring.{u4} R _inst_1) M₁ M₂ _inst_2 _inst_3 _inst_6 _inst_7))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u3 u2) u1, u4, u1, max u3 u2} (LinearEquiv.{u4, u4, u1, max u3 u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) M (TensorProduct.{u4, u3, u2} R (CommRing.toCommSemiring.{u4} R _inst_1) M₁ M₂ _inst_2 _inst_3 _inst_6 _inst_7) _inst_4 (TensorProduct.addCommMonoid.{u4, u3, u2} R (CommRing.toCommSemiring.{u4} R _inst_1) M₁ M₂ _inst_2 _inst_3 _inst_6 _inst_7) _inst_8 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u4, u3, u2} R (CommRing.toCommSemiring.{u4} R _inst_1) M₁ M₂ _inst_2 _inst_3 _inst_6 _inst_7)) R M (TensorProduct.{u4, u3, u2} R (CommRing.toCommSemiring.{u4} R _inst_1) M₁ M₂ _inst_2 _inst_3 _inst_6 _inst_7) (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (AddCommMonoid.toAddMonoid.{u1} M _inst_4) (AddCommMonoid.toAddMonoid.{max u3 u2} (TensorProduct.{u4, u3, u2} R (CommRing.toCommSemiring.{u4} R _inst_1) M₁ M₂ _inst_2 _inst_3 _inst_6 _inst_7) (TensorProduct.addCommMonoid.{u4, u3, u2} R (CommRing.toCommSemiring.{u4} R _inst_1) M₁ M₂ _inst_2 _inst_3 _inst_6 _inst_7)) (Module.toDistribMulAction.{u4, u1} R M (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_4 _inst_8) (Module.toDistribMulAction.{u4, max u3 u2} R (TensorProduct.{u4, u3, u2} R (CommRing.toCommSemiring.{u4} R _inst_1) M₁ M₂ _inst_2 _inst_3 _inst_6 _inst_7) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (TensorProduct.addCommMonoid.{u4, u3, u2} R (CommRing.toCommSemiring.{u4} R _inst_1) M₁ M₂ _inst_2 _inst_3 _inst_6 _inst_7) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u4, u3, u2} R (CommRing.toCommSemiring.{u4} R _inst_1) M₁ M₂ _inst_2 _inst_3 _inst_6 _inst_7)) (SemilinearMapClass.distribMulActionHomClass.{u4, u1, max u3 u2, max (max u3 u2) u1} R M (TensorProduct.{u4, u3, u2} R (CommRing.toCommSemiring.{u4} R _inst_1) M₁ M₂ _inst_2 _inst_3 _inst_6 _inst_7) (LinearEquiv.{u4, u4, u1, max u3 u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) M (TensorProduct.{u4, u3, u2} R (CommRing.toCommSemiring.{u4} R _inst_1) M₁ M₂ _inst_2 _inst_3 _inst_6 _inst_7) _inst_4 (TensorProduct.addCommMonoid.{u4, u3, u2} R (CommRing.toCommSemiring.{u4} R _inst_1) M₁ M₂ _inst_2 _inst_3 _inst_6 _inst_7) _inst_8 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u4, u3, u2} R (CommRing.toCommSemiring.{u4} R _inst_1) M₁ M₂ _inst_2 _inst_3 _inst_6 _inst_7)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_4 (TensorProduct.addCommMonoid.{u4, u3, u2} R (CommRing.toCommSemiring.{u4} R _inst_1) M₁ M₂ _inst_2 _inst_3 _inst_6 _inst_7) _inst_8 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u4, u3, u2} R (CommRing.toCommSemiring.{u4} R _inst_1) M₁ M₂ _inst_2 _inst_3 _inst_6 _inst_7) (SemilinearEquivClass.instSemilinearMapClass.{u4, u4, u1, max u3 u2, max (max u3 u2) u1} R R M (TensorProduct.{u4, u3, u2} R (CommRing.toCommSemiring.{u4} R _inst_1) M₁ M₂ _inst_2 _inst_3 _inst_6 _inst_7) (LinearEquiv.{u4, u4, u1, max u3 u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) M (TensorProduct.{u4, u3, u2} R (CommRing.toCommSemiring.{u4} R _inst_1) M₁ M₂ _inst_2 _inst_3 _inst_6 _inst_7) _inst_4 (TensorProduct.addCommMonoid.{u4, u3, u2} R (CommRing.toCommSemiring.{u4} R _inst_1) M₁ M₂ _inst_2 _inst_3 _inst_6 _inst_7) _inst_8 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u4, u3, u2} R (CommRing.toCommSemiring.{u4} R _inst_1) M₁ M₂ _inst_2 _inst_3 _inst_6 _inst_7)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_4 (TensorProduct.addCommMonoid.{u4, u3, u2} R (CommRing.toCommSemiring.{u4} R _inst_1) M₁ M₂ _inst_2 _inst_3 _inst_6 _inst_7) _inst_8 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u4, u3, u2} R (CommRing.toCommSemiring.{u4} R _inst_1) M₁ M₂ _inst_2 _inst_3 _inst_6 _inst_7) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u4, u4, u1, max u3 u2} R R M (TensorProduct.{u4, u3, u2} R (CommRing.toCommSemiring.{u4} R _inst_1) M₁ M₂ _inst_2 _inst_3 _inst_6 _inst_7) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_4 (TensorProduct.addCommMonoid.{u4, u3, u2} R (CommRing.toCommSemiring.{u4} R _inst_1) M₁ M₂ _inst_2 _inst_3 _inst_6 _inst_7) _inst_8 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u4, u3, u2} R (CommRing.toCommSemiring.{u4} R _inst_1) M₁ M₂ _inst_2 _inst_3 _inst_6 _inst_7) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))))) (LinearEquiv.symm.{u4, u4, max u3 u2, u1} R R (TensorProduct.{u4, u3, u2} R (CommRing.toCommSemiring.{u4} R _inst_1) M₁ M₂ _inst_2 _inst_3 _inst_6 _inst_7) M (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (TensorProduct.addCommMonoid.{u4, u3, u2} R (CommRing.toCommSemiring.{u4} R _inst_1) M₁ M₂ _inst_2 _inst_3 _inst_6 _inst_7) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u4, u3, u2} R (CommRing.toCommSemiring.{u4} R _inst_1) M₁ M₂ _inst_2 _inst_3 _inst_6 _inst_7) _inst_8 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (IsTensorProduct.equiv.{u4, u3, u2, u1} R _inst_1 M₁ M₂ M _inst_2 _inst_3 _inst_4 _inst_6 _inst_7 _inst_8 f h)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M₁) => LinearMap.{u4, u4, u2, u1} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M₂ M _inst_3 _inst_4 _inst_7 _inst_8) x₁) M₂ (fun (_x : M₂) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M₂) => M) _x) (LinearMap.instFunLikeLinearMap.{u4, u4, u2, u1} R R M₂ M (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_3 _inst_4 _inst_7 _inst_8 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u3, max (succ u2) (succ u1)} (LinearMap.{u4, u4, u3, max u1 u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M₁ (LinearMap.{u4, u4, u2, u1} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M₂ M _inst_3 _inst_4 _inst_7 _inst_8) _inst_2 (LinearMap.addCommMonoid.{u4, u4, u2, u1} R R M₂ M (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_3 _inst_4 _inst_7 _inst_8 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) _inst_6 (LinearMap.instModuleLinearMapAddCommMonoid.{u4, u4, u4, u2, u1} R R R M₂ M (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_3 _inst_4 _inst_7 _inst_8 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_8 (smulCommClass_self.{u4, u1} R M (CommRing.toCommMonoid.{u4} R _inst_1) (MulActionWithZero.toMulAction.{u4, u1} R M (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_4)) (Module.toMulActionWithZero.{u4, u1} R M (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_4 _inst_8))))) M₁ (fun (_x : M₁) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M₁) => LinearMap.{u4, u4, u2, u1} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M₂ M _inst_3 _inst_4 _inst_7 _inst_8) _x) (LinearMap.instFunLikeLinearMap.{u4, u4, u3, max u2 u1} R R M₁ (LinearMap.{u4, u4, u2, u1} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M₂ M _inst_3 _inst_4 _inst_7 _inst_8) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_2 (LinearMap.addCommMonoid.{u4, u4, u2, u1} R R M₂ M (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_3 _inst_4 _inst_7 _inst_8 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) _inst_6 (LinearMap.instModuleLinearMapAddCommMonoid.{u4, u4, u4, u2, u1} R R R M₂ M (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_3 _inst_4 _inst_7 _inst_8 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_8 (smulCommClass_self.{u4, u1} R M (CommRing.toCommMonoid.{u4} R _inst_1) (MulActionWithZero.toMulAction.{u4, u1} R M (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_4)) (Module.toMulActionWithZero.{u4, u1} R M (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_4 _inst_8)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) f x₁) x₂)) (TensorProduct.tmul.{u4, u3, u2} R (CommRing.toCommSemiring.{u4} R _inst_1) M₁ M₂ _inst_2 _inst_3 _inst_6 _inst_7 x₁ x₂)
+<too large>
 Case conversion may be inaccurate. Consider using '#align is_tensor_product.equiv_symm_apply IsTensorProduct.equiv_symm_applyₓ'. -/
 @[simp]
 theorem IsTensorProduct.equiv_symm_apply (h : IsTensorProduct f) (x₁ : M₁) (x₂ : M₂) :
@@ -133,10 +130,7 @@ noncomputable def IsTensorProduct.lift (h : IsTensorProduct f) (f' : M₁ →ₗ
 -/
 
 /- warning: is_tensor_product.lift_eq -> IsTensorProduct.lift_eq is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {M₁ : Type.{u2}} {M₂ : Type.{u3}} {M : Type.{u4}} {M' : Type.{u5}} [_inst_2 : AddCommMonoid.{u2} M₁] [_inst_3 : AddCommMonoid.{u3} M₂] [_inst_4 : AddCommMonoid.{u4} M] [_inst_5 : AddCommMonoid.{u5} M'] [_inst_6 : Module.{u1, u2} R M₁ (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_2] [_inst_7 : Module.{u1, u3} R M₂ (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_3] [_inst_8 : Module.{u1, u4} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_4] [_inst_9 : Module.{u1, u5} R M' (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_5] {f : LinearMap.{u1, u1, u2, max u3 u4} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M₁ (LinearMap.{u1, u1, u3, u4} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M₂ M _inst_3 _inst_4 _inst_7 _inst_8) _inst_2 (LinearMap.addCommMonoid.{u1, u1, u3, u4} R R M₂ M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_3 _inst_4 _inst_7 _inst_8 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) _inst_6 (LinearMap.module.{u1, u1, u1, u3, u4} R R R M₂ M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_3 _inst_4 _inst_7 _inst_8 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_8 (smulCommClass_self.{u1, u4} R M (CommRing.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u4} R M (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_4))) (Module.toMulActionWithZero.{u1, u4} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_4 _inst_8))))} (h : IsTensorProduct.{u1, u2, u3, u4} R _inst_1 M₁ M₂ M _inst_2 _inst_3 _inst_4 _inst_6 _inst_7 _inst_8 f) (f' : LinearMap.{u1, u1, u2, max u3 u5} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M₁ (LinearMap.{u1, u1, u3, u5} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M₂ M' _inst_3 _inst_5 _inst_7 _inst_9) _inst_2 (LinearMap.addCommMonoid.{u1, u1, u3, u5} R R M₂ M' (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_3 _inst_5 _inst_7 _inst_9 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) _inst_6 (LinearMap.module.{u1, u1, u1, u3, u5} R R R M₂ M' (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_3 _inst_5 _inst_7 _inst_9 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_9 (smulCommClass_self.{u1, u5} R M' (CommRing.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u5} R M' (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u5} M' (AddMonoid.toAddZeroClass.{u5} M' (AddCommMonoid.toAddMonoid.{u5} M' _inst_5))) (Module.toMulActionWithZero.{u1, u5} R M' (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_5 _inst_9))))) (x₁ : M₁) (x₂ : M₂), Eq.{succ u5} M' (coeFn.{max (succ u4) (succ u5), max (succ u4) (succ u5)} (LinearMap.{u1, u1, u4, u5} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M' _inst_4 _inst_5 _inst_8 _inst_9) (fun (_x : LinearMap.{u1, u1, u4, u5} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M' _inst_4 _inst_5 _inst_8 _inst_9) => M -> M') (LinearMap.hasCoeToFun.{u1, u1, u4, u5} R R M M' (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_4 _inst_5 _inst_8 _inst_9 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (IsTensorProduct.lift.{u1, u2, u3, u4, u5} R _inst_1 M₁ M₂ M M' _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 f h f') (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u1, u3, u4} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M₂ M _inst_3 _inst_4 _inst_7 _inst_8) (fun (_x : LinearMap.{u1, u1, u3, u4} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M₂ M _inst_3 _inst_4 _inst_7 _inst_8) => M₂ -> M) (LinearMap.hasCoeToFun.{u1, u1, u3, u4} R R M₂ M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_3 _inst_4 _inst_7 _inst_8 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (coeFn.{max (succ u2) (succ (max u3 u4)), max (succ u2) (succ (max u3 u4))} (LinearMap.{u1, u1, u2, max u3 u4} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M₁ (LinearMap.{u1, u1, u3, u4} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M₂ M _inst_3 _inst_4 _inst_7 _inst_8) _inst_2 (LinearMap.addCommMonoid.{u1, u1, u3, u4} R R M₂ M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_3 _inst_4 _inst_7 _inst_8 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) _inst_6 (LinearMap.module.{u1, u1, u1, u3, u4} R R R M₂ M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_3 _inst_4 _inst_7 _inst_8 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_8 (smulCommClass_self.{u1, u4} R M (CommRing.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u4} R M (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_4))) (Module.toMulActionWithZero.{u1, u4} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_4 _inst_8))))) (fun (_x : LinearMap.{u1, u1, u2, max u3 u4} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M₁ (LinearMap.{u1, u1, u3, u4} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M₂ M _inst_3 _inst_4 _inst_7 _inst_8) _inst_2 (LinearMap.addCommMonoid.{u1, u1, u3, u4} R R M₂ M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_3 _inst_4 _inst_7 _inst_8 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) _inst_6 (LinearMap.module.{u1, u1, u1, u3, u4} R R R M₂ M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_3 _inst_4 _inst_7 _inst_8 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_8 (smulCommClass_self.{u1, u4} R M (CommRing.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u4} R M (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_4))) (Module.toMulActionWithZero.{u1, u4} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_4 _inst_8))))) => M₁ -> (LinearMap.{u1, u1, u3, u4} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M₂ M _inst_3 _inst_4 _inst_7 _inst_8)) (LinearMap.hasCoeToFun.{u1, u1, u2, max u3 u4} R R M₁ (LinearMap.{u1, u1, u3, u4} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M₂ M _inst_3 _inst_4 _inst_7 _inst_8) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_2 (LinearMap.addCommMonoid.{u1, u1, u3, u4} R R M₂ M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_3 _inst_4 _inst_7 _inst_8 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) _inst_6 (LinearMap.module.{u1, u1, u1, u3, u4} R R R M₂ M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_3 _inst_4 _inst_7 _inst_8 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_8 (smulCommClass_self.{u1, u4} R M (CommRing.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u4} R M (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_4))) (Module.toMulActionWithZero.{u1, u4} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_4 _inst_8)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) f x₁) x₂)) (coeFn.{max (succ u3) (succ u5), max (succ u3) (succ u5)} (LinearMap.{u1, u1, u3, u5} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M₂ M' _inst_3 _inst_5 _inst_7 _inst_9) (fun (_x : LinearMap.{u1, u1, u3, u5} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M₂ M' _inst_3 _inst_5 _inst_7 _inst_9) => M₂ -> M') (LinearMap.hasCoeToFun.{u1, u1, u3, u5} R R M₂ M' (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_3 _inst_5 _inst_7 _inst_9 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (coeFn.{max (succ u2) (succ (max u3 u5)), max (succ u2) (succ (max u3 u5))} (LinearMap.{u1, u1, u2, max u3 u5} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M₁ (LinearMap.{u1, u1, u3, u5} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M₂ M' _inst_3 _inst_5 _inst_7 _inst_9) _inst_2 (LinearMap.addCommMonoid.{u1, u1, u3, u5} R R M₂ M' (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_3 _inst_5 _inst_7 _inst_9 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) _inst_6 (LinearMap.module.{u1, u1, u1, u3, u5} R R R M₂ M' (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_3 _inst_5 _inst_7 _inst_9 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_9 (smulCommClass_self.{u1, u5} R M' (CommRing.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u5} R M' (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u5} M' (AddMonoid.toAddZeroClass.{u5} M' (AddCommMonoid.toAddMonoid.{u5} M' _inst_5))) (Module.toMulActionWithZero.{u1, u5} R M' (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_5 _inst_9))))) (fun (_x : LinearMap.{u1, u1, u2, max u3 u5} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M₁ (LinearMap.{u1, u1, u3, u5} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M₂ M' _inst_3 _inst_5 _inst_7 _inst_9) _inst_2 (LinearMap.addCommMonoid.{u1, u1, u3, u5} R R M₂ M' (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_3 _inst_5 _inst_7 _inst_9 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) _inst_6 (LinearMap.module.{u1, u1, u1, u3, u5} R R R M₂ M' (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_3 _inst_5 _inst_7 _inst_9 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_9 (smulCommClass_self.{u1, u5} R M' (CommRing.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u5} R M' (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u5} M' (AddMonoid.toAddZeroClass.{u5} M' (AddCommMonoid.toAddMonoid.{u5} M' _inst_5))) (Module.toMulActionWithZero.{u1, u5} R M' (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_5 _inst_9))))) => M₁ -> (LinearMap.{u1, u1, u3, u5} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M₂ M' _inst_3 _inst_5 _inst_7 _inst_9)) (LinearMap.hasCoeToFun.{u1, u1, u2, max u3 u5} R R M₁ (LinearMap.{u1, u1, u3, u5} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M₂ M' _inst_3 _inst_5 _inst_7 _inst_9) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_2 (LinearMap.addCommMonoid.{u1, u1, u3, u5} R R M₂ M' (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_3 _inst_5 _inst_7 _inst_9 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) _inst_6 (LinearMap.module.{u1, u1, u1, u3, u5} R R R M₂ M' (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_3 _inst_5 _inst_7 _inst_9 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_9 (smulCommClass_self.{u1, u5} R M' (CommRing.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u5} R M' (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u5} M' (AddMonoid.toAddZeroClass.{u5} M' (AddCommMonoid.toAddMonoid.{u5} M' _inst_5))) (Module.toMulActionWithZero.{u1, u5} R M' (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_5 _inst_9)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) f' x₁) x₂)
-but is expected to have type
-  forall {R : Type.{u5}} [_inst_1 : CommRing.{u5} R] {M₁ : Type.{u4}} {M₂ : Type.{u3}} {M : Type.{u2}} {M' : Type.{u1}} [_inst_2 : AddCommMonoid.{u4} M₁] [_inst_3 : AddCommMonoid.{u3} M₂] [_inst_4 : AddCommMonoid.{u2} M] [_inst_5 : AddCommMonoid.{u1} M'] [_inst_6 : Module.{u5, u4} R M₁ (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) _inst_2] [_inst_7 : Module.{u5, u3} R M₂ (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) _inst_3] [_inst_8 : Module.{u5, u2} R M (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) _inst_4] [_inst_9 : Module.{u5, u1} R M' (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) _inst_5] {f : LinearMap.{u5, u5, u4, max u2 u3} R R (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)))) M₁ (LinearMap.{u5, u5, u3, u2} R R (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)))) M₂ M _inst_3 _inst_4 _inst_7 _inst_8) _inst_2 (LinearMap.addCommMonoid.{u5, u5, u3, u2} R R M₂ M (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) _inst_3 _inst_4 _inst_7 _inst_8 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1))))) _inst_6 (LinearMap.instModuleLinearMapAddCommMonoid.{u5, u5, u5, u3, u2} R R R M₂ M (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) _inst_3 _inst_4 _inst_7 _inst_8 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)))) (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) _inst_8 (smulCommClass_self.{u5, u2} R M (CommRing.toCommMonoid.{u5} R _inst_1) (MulActionWithZero.toMulAction.{u5, u2} R M (Semiring.toMonoidWithZero.{u5} R (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u5, u2} R M (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) _inst_4 _inst_8))))} (h : IsTensorProduct.{u5, u4, u3, u2} R _inst_1 M₁ M₂ M _inst_2 _inst_3 _inst_4 _inst_6 _inst_7 _inst_8 f) (f' : LinearMap.{u5, u5, u4, max u1 u3} R R (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)))) M₁ (LinearMap.{u5, u5, u3, u1} R R (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)))) M₂ M' _inst_3 _inst_5 _inst_7 _inst_9) _inst_2 (LinearMap.addCommMonoid.{u5, u5, u3, u1} R R M₂ M' (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) _inst_3 _inst_5 _inst_7 _inst_9 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1))))) _inst_6 (LinearMap.instModuleLinearMapAddCommMonoid.{u5, u5, u5, u3, u1} R R R M₂ M' (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) _inst_3 _inst_5 _inst_7 _inst_9 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)))) (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) _inst_9 (smulCommClass_self.{u5, u1} R M' (CommRing.toCommMonoid.{u5} R _inst_1) (MulActionWithZero.toMulAction.{u5, u1} R M' (Semiring.toMonoidWithZero.{u5} R (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1))) (AddMonoid.toZero.{u1} M' (AddCommMonoid.toAddMonoid.{u1} M' _inst_5)) (Module.toMulActionWithZero.{u5, u1} R M' (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) _inst_5 _inst_9))))) (x₁ : M₁) (x₂ : M₂), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M') (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M₁) => LinearMap.{u5, u5, u3, u2} R R (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)))) M₂ M _inst_3 _inst_4 _inst_7 _inst_8) x₁) M₂ (fun (a : M₂) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M₂) => M) a) (LinearMap.instFunLikeLinearMap.{u5, u5, u3, u2} R R M₂ M (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) _inst_3 _inst_4 _inst_7 _inst_8 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1))))) (FunLike.coe.{max (max (succ u4) (succ u3)) (succ u2), succ u4, max (succ u3) (succ u2)} (LinearMap.{u5, u5, u4, max u2 u3} R R (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)))) M₁ (LinearMap.{u5, u5, u3, u2} R R (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)))) M₂ M _inst_3 _inst_4 _inst_7 _inst_8) _inst_2 (LinearMap.addCommMonoid.{u5, u5, u3, u2} R R M₂ M (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) _inst_3 _inst_4 _inst_7 _inst_8 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1))))) _inst_6 (LinearMap.instModuleLinearMapAddCommMonoid.{u5, u5, u5, u3, u2} R R R M₂ M (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) _inst_3 _inst_4 _inst_7 _inst_8 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)))) (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) _inst_8 (smulCommClass_self.{u5, u2} R M (CommRing.toCommMonoid.{u5} R _inst_1) (MulActionWithZero.toMulAction.{u5, u2} R M (Semiring.toMonoidWithZero.{u5} R (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u5, u2} R M (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) _inst_4 _inst_8))))) M₁ (fun (a : M₁) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M₁) => LinearMap.{u5, u5, u3, u2} R R (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)))) M₂ M _inst_3 _inst_4 _inst_7 _inst_8) a) (LinearMap.instFunLikeLinearMap.{u5, u5, u4, max u3 u2} R R M₁ (LinearMap.{u5, u5, u3, u2} R R (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)))) M₂ M _inst_3 _inst_4 _inst_7 _inst_8) (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) _inst_2 (LinearMap.addCommMonoid.{u5, u5, u3, u2} R R M₂ M (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) _inst_3 _inst_4 _inst_7 _inst_8 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1))))) _inst_6 (LinearMap.instModuleLinearMapAddCommMonoid.{u5, u5, u5, u3, u2} R R R M₂ M (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) _inst_3 _inst_4 _inst_7 _inst_8 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)))) (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) _inst_8 (smulCommClass_self.{u5, u2} R M (CommRing.toCommMonoid.{u5} R _inst_1) (MulActionWithZero.toMulAction.{u5, u2} R M (Semiring.toMonoidWithZero.{u5} R (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u5, u2} R M (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) _inst_4 _inst_8)))) (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1))))) f x₁) x₂)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u5, u5, u2, u1} R R (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)))) M M' _inst_4 _inst_5 _inst_8 _inst_9) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M') _x) (LinearMap.instFunLikeLinearMap.{u5, u5, u2, u1} R R M M' (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) _inst_4 _inst_5 _inst_8 _inst_9 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1))))) (IsTensorProduct.lift.{u5, u4, u3, u2, u1} R _inst_1 M₁ M₂ M M' _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 f h f') (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M₁) => LinearMap.{u5, u5, u3, u2} R R (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)))) M₂ M _inst_3 _inst_4 _inst_7 _inst_8) x₁) M₂ (fun (_x : M₂) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M₂) => M) _x) (LinearMap.instFunLikeLinearMap.{u5, u5, u3, u2} R R M₂ M (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) _inst_3 _inst_4 _inst_7 _inst_8 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1))))) (FunLike.coe.{max (max (succ u4) (succ u3)) (succ u2), succ u4, max (succ u3) (succ u2)} (LinearMap.{u5, u5, u4, max u2 u3} R R (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)))) M₁ (LinearMap.{u5, u5, u3, u2} R R (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)))) M₂ M _inst_3 _inst_4 _inst_7 _inst_8) _inst_2 (LinearMap.addCommMonoid.{u5, u5, u3, u2} R R M₂ M (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) _inst_3 _inst_4 _inst_7 _inst_8 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1))))) _inst_6 (LinearMap.instModuleLinearMapAddCommMonoid.{u5, u5, u5, u3, u2} R R R M₂ M (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) _inst_3 _inst_4 _inst_7 _inst_8 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)))) (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) _inst_8 (smulCommClass_self.{u5, u2} R M (CommRing.toCommMonoid.{u5} R _inst_1) (MulActionWithZero.toMulAction.{u5, u2} R M (Semiring.toMonoidWithZero.{u5} R (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u5, u2} R M (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) _inst_4 _inst_8))))) M₁ (fun (_x : M₁) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M₁) => LinearMap.{u5, u5, u3, u2} R R (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)))) M₂ M _inst_3 _inst_4 _inst_7 _inst_8) _x) (LinearMap.instFunLikeLinearMap.{u5, u5, u4, max u3 u2} R R M₁ (LinearMap.{u5, u5, u3, u2} R R (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)))) M₂ M _inst_3 _inst_4 _inst_7 _inst_8) (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) _inst_2 (LinearMap.addCommMonoid.{u5, u5, u3, u2} R R M₂ M (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) _inst_3 _inst_4 _inst_7 _inst_8 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1))))) _inst_6 (LinearMap.instModuleLinearMapAddCommMonoid.{u5, u5, u5, u3, u2} R R R M₂ M (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) _inst_3 _inst_4 _inst_7 _inst_8 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)))) (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) _inst_8 (smulCommClass_self.{u5, u2} R M (CommRing.toCommMonoid.{u5} R _inst_1) (MulActionWithZero.toMulAction.{u5, u2} R M (Semiring.toMonoidWithZero.{u5} R (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u5, u2} R M (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) _inst_4 _inst_8)))) (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1))))) f x₁) x₂)) (FunLike.coe.{max (succ u3) (succ u1), succ u3, succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M₁) => LinearMap.{u5, u5, u3, u1} R R (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)))) M₂ M' _inst_3 _inst_5 _inst_7 _inst_9) x₁) M₂ (fun (_x : M₂) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M₂) => M') _x) (LinearMap.instFunLikeLinearMap.{u5, u5, u3, u1} R R M₂ M' (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) _inst_3 _inst_5 _inst_7 _inst_9 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1))))) (FunLike.coe.{max (max (succ u4) (succ u3)) (succ u1), succ u4, max (succ u3) (succ u1)} (LinearMap.{u5, u5, u4, max u1 u3} R R (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)))) M₁ (LinearMap.{u5, u5, u3, u1} R R (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)))) M₂ M' _inst_3 _inst_5 _inst_7 _inst_9) _inst_2 (LinearMap.addCommMonoid.{u5, u5, u3, u1} R R M₂ M' (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) _inst_3 _inst_5 _inst_7 _inst_9 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1))))) _inst_6 (LinearMap.instModuleLinearMapAddCommMonoid.{u5, u5, u5, u3, u1} R R R M₂ M' (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) _inst_3 _inst_5 _inst_7 _inst_9 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)))) (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) _inst_9 (smulCommClass_self.{u5, u1} R M' (CommRing.toCommMonoid.{u5} R _inst_1) (MulActionWithZero.toMulAction.{u5, u1} R M' (Semiring.toMonoidWithZero.{u5} R (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1))) (AddMonoid.toZero.{u1} M' (AddCommMonoid.toAddMonoid.{u1} M' _inst_5)) (Module.toMulActionWithZero.{u5, u1} R M' (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) _inst_5 _inst_9))))) M₁ (fun (_x : M₁) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M₁) => LinearMap.{u5, u5, u3, u1} R R (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)))) M₂ M' _inst_3 _inst_5 _inst_7 _inst_9) _x) (LinearMap.instFunLikeLinearMap.{u5, u5, u4, max u3 u1} R R M₁ (LinearMap.{u5, u5, u3, u1} R R (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)))) M₂ M' _inst_3 _inst_5 _inst_7 _inst_9) (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) _inst_2 (LinearMap.addCommMonoid.{u5, u5, u3, u1} R R M₂ M' (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) _inst_3 _inst_5 _inst_7 _inst_9 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1))))) _inst_6 (LinearMap.instModuleLinearMapAddCommMonoid.{u5, u5, u5, u3, u1} R R R M₂ M' (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) _inst_3 _inst_5 _inst_7 _inst_9 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)))) (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) _inst_9 (smulCommClass_self.{u5, u1} R M' (CommRing.toCommMonoid.{u5} R _inst_1) (MulActionWithZero.toMulAction.{u5, u1} R M' (Semiring.toMonoidWithZero.{u5} R (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1))) (AddMonoid.toZero.{u1} M' (AddCommMonoid.toAddMonoid.{u1} M' _inst_5)) (Module.toMulActionWithZero.{u5, u1} R M' (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) _inst_5 _inst_9)))) (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1))))) f' x₁) x₂)
+<too large>
 Case conversion may be inaccurate. Consider using '#align is_tensor_product.lift_eq IsTensorProduct.lift_eqₓ'. -/
 theorem IsTensorProduct.lift_eq (h : IsTensorProduct f) (f' : M₁ →ₗ[R] M₂ →ₗ[R] M') (x₁ : M₁)
     (x₂ : M₂) : h.lift f' (f x₁ x₂) = f' x₁ x₂ :=
@@ -154,10 +148,7 @@ noncomputable def IsTensorProduct.map (hf : IsTensorProduct f) (hg : IsTensorPro
 -/
 
 /- warning: is_tensor_product.map_eq -> IsTensorProduct.map_eq is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {M₁ : Type.{u2}} {M₂ : Type.{u3}} {M : Type.{u4}} [_inst_2 : AddCommMonoid.{u2} M₁] [_inst_3 : AddCommMonoid.{u3} M₂] [_inst_4 : AddCommMonoid.{u4} M] [_inst_6 : Module.{u1, u2} R M₁ (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_2] [_inst_7 : Module.{u1, u3} R M₂ (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_3] [_inst_8 : Module.{u1, u4} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_4] {f : LinearMap.{u1, u1, u2, max u3 u4} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M₁ (LinearMap.{u1, u1, u3, u4} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M₂ M _inst_3 _inst_4 _inst_7 _inst_8) _inst_2 (LinearMap.addCommMonoid.{u1, u1, u3, u4} R R M₂ M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_3 _inst_4 _inst_7 _inst_8 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) _inst_6 (LinearMap.module.{u1, u1, u1, u3, u4} R R R M₂ M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_3 _inst_4 _inst_7 _inst_8 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_8 (smulCommClass_self.{u1, u4} R M (CommRing.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u4} R M (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_4))) (Module.toMulActionWithZero.{u1, u4} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_4 _inst_8))))} {N₁ : Type.{u5}} {N₂ : Type.{u6}} {N : Type.{u7}} [_inst_10 : AddCommMonoid.{u5} N₁] [_inst_11 : AddCommMonoid.{u6} N₂] [_inst_12 : AddCommMonoid.{u7} N] [_inst_13 : Module.{u1, u5} R N₁ (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_10] [_inst_14 : Module.{u1, u6} R N₂ (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_11] [_inst_15 : Module.{u1, u7} R N (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_12] {g : LinearMap.{u1, u1, u5, max u6 u7} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) N₁ (LinearMap.{u1, u1, u6, u7} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) N₂ N _inst_11 _inst_12 _inst_14 _inst_15) _inst_10 (LinearMap.addCommMonoid.{u1, u1, u6, u7} R R N₂ N (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_11 _inst_12 _inst_14 _inst_15 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) _inst_13 (LinearMap.module.{u1, u1, u1, u6, u7} R R R N₂ N (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_11 _inst_12 _inst_14 _inst_15 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_15 (smulCommClass_self.{u1, u7} R N (CommRing.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u7} R N (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u7} N (AddMonoid.toAddZeroClass.{u7} N (AddCommMonoid.toAddMonoid.{u7} N _inst_12))) (Module.toMulActionWithZero.{u1, u7} R N (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_12 _inst_15))))} (hf : IsTensorProduct.{u1, u2, u3, u4} R _inst_1 M₁ M₂ M _inst_2 _inst_3 _inst_4 _inst_6 _inst_7 _inst_8 f) (hg : IsTensorProduct.{u1, u5, u6, u7} R _inst_1 N₁ N₂ N _inst_10 _inst_11 _inst_12 _inst_13 _inst_14 _inst_15 g) (i₁ : LinearMap.{u1, u1, u2, u5} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M₁ N₁ _inst_2 _inst_10 _inst_6 _inst_13) (i₂ : LinearMap.{u1, u1, u3, u6} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M₂ N₂ _inst_3 _inst_11 _inst_7 _inst_14) (x₁ : M₁) (x₂ : M₂), Eq.{succ u7} N (coeFn.{max (succ u4) (succ u7), max (succ u4) (succ u7)} (LinearMap.{u1, u1, u4, u7} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M N _inst_4 _inst_12 _inst_8 _inst_15) (fun (_x : LinearMap.{u1, u1, u4, u7} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M N _inst_4 _inst_12 _inst_8 _inst_15) => M -> N) (LinearMap.hasCoeToFun.{u1, u1, u4, u7} R R M N (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_4 _inst_12 _inst_8 _inst_15 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (IsTensorProduct.map.{u1, u2, u3, u4, u5, u6, u7} R _inst_1 M₁ M₂ M _inst_2 _inst_3 _inst_4 _inst_6 _inst_7 _inst_8 f N₁ N₂ N _inst_10 _inst_11 _inst_12 _inst_13 _inst_14 _inst_15 g hf hg i₁ i₂) (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u1, u3, u4} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M₂ M _inst_3 _inst_4 _inst_7 _inst_8) (fun (_x : LinearMap.{u1, u1, u3, u4} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M₂ M _inst_3 _inst_4 _inst_7 _inst_8) => M₂ -> M) (LinearMap.hasCoeToFun.{u1, u1, u3, u4} R R M₂ M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_3 _inst_4 _inst_7 _inst_8 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (coeFn.{max (succ u2) (succ (max u3 u4)), max (succ u2) (succ (max u3 u4))} (LinearMap.{u1, u1, u2, max u3 u4} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M₁ (LinearMap.{u1, u1, u3, u4} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M₂ M _inst_3 _inst_4 _inst_7 _inst_8) _inst_2 (LinearMap.addCommMonoid.{u1, u1, u3, u4} R R M₂ M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_3 _inst_4 _inst_7 _inst_8 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) _inst_6 (LinearMap.module.{u1, u1, u1, u3, u4} R R R M₂ M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_3 _inst_4 _inst_7 _inst_8 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_8 (smulCommClass_self.{u1, u4} R M (CommRing.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u4} R M (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_4))) (Module.toMulActionWithZero.{u1, u4} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_4 _inst_8))))) (fun (_x : LinearMap.{u1, u1, u2, max u3 u4} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M₁ (LinearMap.{u1, u1, u3, u4} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M₂ M _inst_3 _inst_4 _inst_7 _inst_8) _inst_2 (LinearMap.addCommMonoid.{u1, u1, u3, u4} R R M₂ M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_3 _inst_4 _inst_7 _inst_8 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) _inst_6 (LinearMap.module.{u1, u1, u1, u3, u4} R R R M₂ M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_3 _inst_4 _inst_7 _inst_8 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_8 (smulCommClass_self.{u1, u4} R M (CommRing.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u4} R M (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_4))) (Module.toMulActionWithZero.{u1, u4} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_4 _inst_8))))) => M₁ -> (LinearMap.{u1, u1, u3, u4} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M₂ M _inst_3 _inst_4 _inst_7 _inst_8)) (LinearMap.hasCoeToFun.{u1, u1, u2, max u3 u4} R R M₁ (LinearMap.{u1, u1, u3, u4} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M₂ M _inst_3 _inst_4 _inst_7 _inst_8) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_2 (LinearMap.addCommMonoid.{u1, u1, u3, u4} R R M₂ M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_3 _inst_4 _inst_7 _inst_8 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) _inst_6 (LinearMap.module.{u1, u1, u1, u3, u4} R R R M₂ M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_3 _inst_4 _inst_7 _inst_8 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_8 (smulCommClass_self.{u1, u4} R M (CommRing.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u4} R M (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_4))) (Module.toMulActionWithZero.{u1, u4} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_4 _inst_8)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) f x₁) x₂)) (coeFn.{max (succ u6) (succ u7), max (succ u6) (succ u7)} (LinearMap.{u1, u1, u6, u7} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) N₂ N _inst_11 _inst_12 _inst_14 _inst_15) (fun (_x : LinearMap.{u1, u1, u6, u7} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) N₂ N _inst_11 _inst_12 _inst_14 _inst_15) => N₂ -> N) (LinearMap.hasCoeToFun.{u1, u1, u6, u7} R R N₂ N (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_11 _inst_12 _inst_14 _inst_15 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (coeFn.{max (succ u5) (succ (max u6 u7)), max (succ u5) (succ (max u6 u7))} (LinearMap.{u1, u1, u5, max u6 u7} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) N₁ (LinearMap.{u1, u1, u6, u7} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) N₂ N _inst_11 _inst_12 _inst_14 _inst_15) _inst_10 (LinearMap.addCommMonoid.{u1, u1, u6, u7} R R N₂ N (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_11 _inst_12 _inst_14 _inst_15 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) _inst_13 (LinearMap.module.{u1, u1, u1, u6, u7} R R R N₂ N (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_11 _inst_12 _inst_14 _inst_15 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_15 (smulCommClass_self.{u1, u7} R N (CommRing.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u7} R N (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u7} N (AddMonoid.toAddZeroClass.{u7} N (AddCommMonoid.toAddMonoid.{u7} N _inst_12))) (Module.toMulActionWithZero.{u1, u7} R N (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_12 _inst_15))))) (fun (_x : LinearMap.{u1, u1, u5, max u6 u7} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) N₁ (LinearMap.{u1, u1, u6, u7} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) N₂ N _inst_11 _inst_12 _inst_14 _inst_15) _inst_10 (LinearMap.addCommMonoid.{u1, u1, u6, u7} R R N₂ N (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_11 _inst_12 _inst_14 _inst_15 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) _inst_13 (LinearMap.module.{u1, u1, u1, u6, u7} R R R N₂ N (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_11 _inst_12 _inst_14 _inst_15 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_15 (smulCommClass_self.{u1, u7} R N (CommRing.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u7} R N (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u7} N (AddMonoid.toAddZeroClass.{u7} N (AddCommMonoid.toAddMonoid.{u7} N _inst_12))) (Module.toMulActionWithZero.{u1, u7} R N (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_12 _inst_15))))) => N₁ -> (LinearMap.{u1, u1, u6, u7} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) N₂ N _inst_11 _inst_12 _inst_14 _inst_15)) (LinearMap.hasCoeToFun.{u1, u1, u5, max u6 u7} R R N₁ (LinearMap.{u1, u1, u6, u7} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) N₂ N _inst_11 _inst_12 _inst_14 _inst_15) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_10 (LinearMap.addCommMonoid.{u1, u1, u6, u7} R R N₂ N (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_11 _inst_12 _inst_14 _inst_15 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) _inst_13 (LinearMap.module.{u1, u1, u1, u6, u7} R R R N₂ N (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_11 _inst_12 _inst_14 _inst_15 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_15 (smulCommClass_self.{u1, u7} R N (CommRing.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u7} R N (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u7} N (AddMonoid.toAddZeroClass.{u7} N (AddCommMonoid.toAddMonoid.{u7} N _inst_12))) (Module.toMulActionWithZero.{u1, u7} R N (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_12 _inst_15)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) g (coeFn.{max (succ u2) (succ u5), max (succ u2) (succ u5)} (LinearMap.{u1, u1, u2, u5} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M₁ N₁ _inst_2 _inst_10 _inst_6 _inst_13) (fun (_x : LinearMap.{u1, u1, u2, u5} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M₁ N₁ _inst_2 _inst_10 _inst_6 _inst_13) => M₁ -> N₁) (LinearMap.hasCoeToFun.{u1, u1, u2, u5} R R M₁ N₁ (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_2 _inst_10 _inst_6 _inst_13 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) i₁ x₁)) (coeFn.{max (succ u3) (succ u6), max (succ u3) (succ u6)} (LinearMap.{u1, u1, u3, u6} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M₂ N₂ _inst_3 _inst_11 _inst_7 _inst_14) (fun (_x : LinearMap.{u1, u1, u3, u6} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M₂ N₂ _inst_3 _inst_11 _inst_7 _inst_14) => M₂ -> N₂) (LinearMap.hasCoeToFun.{u1, u1, u3, u6} R R M₂ N₂ (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_3 _inst_11 _inst_7 _inst_14 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) i₂ x₂))
-but is expected to have type
-  forall {R : Type.{u7}} [_inst_1 : CommRing.{u7} R] {M₁ : Type.{u6}} {M₂ : Type.{u5}} {M : Type.{u4}} [_inst_2 : AddCommMonoid.{u6} M₁] [_inst_3 : AddCommMonoid.{u5} M₂] [_inst_4 : AddCommMonoid.{u4} M] [_inst_6 : Module.{u7, u6} R M₁ (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) _inst_2] [_inst_7 : Module.{u7, u5} R M₂ (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) _inst_3] [_inst_8 : Module.{u7, u4} R M (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) _inst_4] {f : LinearMap.{u7, u7, u6, max u4 u5} R R (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)))) M₁ (LinearMap.{u7, u7, u5, u4} R R (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)))) M₂ M _inst_3 _inst_4 _inst_7 _inst_8) _inst_2 (LinearMap.addCommMonoid.{u7, u7, u5, u4} R R M₂ M (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) _inst_3 _inst_4 _inst_7 _inst_8 (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1))))) _inst_6 (LinearMap.instModuleLinearMapAddCommMonoid.{u7, u7, u7, u5, u4} R R R M₂ M (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) _inst_3 _inst_4 _inst_7 _inst_8 (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)))) (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) _inst_8 (smulCommClass_self.{u7, u4} R M (CommRing.toCommMonoid.{u7} R _inst_1) (MulActionWithZero.toMulAction.{u7, u4} R M (Semiring.toMonoidWithZero.{u7} R (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1))) (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_4)) (Module.toMulActionWithZero.{u7, u4} R M (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) _inst_4 _inst_8))))} {N₁ : Type.{u3}} {N₂ : Type.{u2}} {N : Type.{u1}} [_inst_10 : AddCommMonoid.{u3} N₁] [_inst_11 : AddCommMonoid.{u2} N₂] [_inst_12 : AddCommMonoid.{u1} N] [_inst_13 : Module.{u7, u3} R N₁ (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) _inst_10] [_inst_14 : Module.{u7, u2} R N₂ (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) _inst_11] [_inst_15 : Module.{u7, u1} R N (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) _inst_12] {g : LinearMap.{u7, u7, u3, max u1 u2} R R (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)))) N₁ (LinearMap.{u7, u7, u2, u1} R R (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)))) N₂ N _inst_11 _inst_12 _inst_14 _inst_15) _inst_10 (LinearMap.addCommMonoid.{u7, u7, u2, u1} R R N₂ N (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) _inst_11 _inst_12 _inst_14 _inst_15 (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1))))) _inst_13 (LinearMap.instModuleLinearMapAddCommMonoid.{u7, u7, u7, u2, u1} R R R N₂ N (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) _inst_11 _inst_12 _inst_14 _inst_15 (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)))) (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) _inst_15 (smulCommClass_self.{u7, u1} R N (CommRing.toCommMonoid.{u7} R _inst_1) (MulActionWithZero.toMulAction.{u7, u1} R N (Semiring.toMonoidWithZero.{u7} R (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1))) (AddMonoid.toZero.{u1} N (AddCommMonoid.toAddMonoid.{u1} N _inst_12)) (Module.toMulActionWithZero.{u7, u1} R N (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) _inst_12 _inst_15))))} (hf : IsTensorProduct.{u7, u6, u5, u4} R _inst_1 M₁ M₂ M _inst_2 _inst_3 _inst_4 _inst_6 _inst_7 _inst_8 f) (hg : IsTensorProduct.{u7, u3, u2, u1} R _inst_1 N₁ N₂ N _inst_10 _inst_11 _inst_12 _inst_13 _inst_14 _inst_15 g) (i₁ : LinearMap.{u7, u7, u6, u3} R R (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)))) M₁ N₁ _inst_2 _inst_10 _inst_6 _inst_13) (i₂ : LinearMap.{u7, u7, u5, u2} R R (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)))) M₂ N₂ _inst_3 _inst_11 _inst_7 _inst_14) (x₁ : M₁) (x₂ : M₂), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => N) (FunLike.coe.{max (succ u5) (succ u4), succ u5, succ u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M₁) => LinearMap.{u7, u7, u5, u4} R R (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)))) M₂ M _inst_3 _inst_4 _inst_7 _inst_8) x₁) M₂ (fun (a : M₂) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M₂) => M) a) (LinearMap.instFunLikeLinearMap.{u7, u7, u5, u4} R R M₂ M (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) _inst_3 _inst_4 _inst_7 _inst_8 (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1))))) (FunLike.coe.{max (max (succ u6) (succ u5)) (succ u4), succ u6, max (succ u5) (succ u4)} (LinearMap.{u7, u7, u6, max u4 u5} R R (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)))) M₁ (LinearMap.{u7, u7, u5, u4} R R (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)))) M₂ M _inst_3 _inst_4 _inst_7 _inst_8) _inst_2 (LinearMap.addCommMonoid.{u7, u7, u5, u4} R R M₂ M (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) _inst_3 _inst_4 _inst_7 _inst_8 (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1))))) _inst_6 (LinearMap.instModuleLinearMapAddCommMonoid.{u7, u7, u7, u5, u4} R R R M₂ M (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) _inst_3 _inst_4 _inst_7 _inst_8 (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)))) (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) _inst_8 (smulCommClass_self.{u7, u4} R M (CommRing.toCommMonoid.{u7} R _inst_1) (MulActionWithZero.toMulAction.{u7, u4} R M (Semiring.toMonoidWithZero.{u7} R (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1))) (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_4)) (Module.toMulActionWithZero.{u7, u4} R M (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) _inst_4 _inst_8))))) M₁ (fun (a : M₁) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M₁) => LinearMap.{u7, u7, u5, u4} R R (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)))) M₂ M _inst_3 _inst_4 _inst_7 _inst_8) a) (LinearMap.instFunLikeLinearMap.{u7, u7, u6, max u5 u4} R R M₁ (LinearMap.{u7, u7, u5, u4} R R (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)))) M₂ M _inst_3 _inst_4 _inst_7 _inst_8) (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) _inst_2 (LinearMap.addCommMonoid.{u7, u7, u5, u4} R R M₂ M (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) _inst_3 _inst_4 _inst_7 _inst_8 (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1))))) _inst_6 (LinearMap.instModuleLinearMapAddCommMonoid.{u7, u7, u7, u5, u4} R R R M₂ M (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) _inst_3 _inst_4 _inst_7 _inst_8 (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)))) (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) _inst_8 (smulCommClass_self.{u7, u4} R M (CommRing.toCommMonoid.{u7} R _inst_1) (MulActionWithZero.toMulAction.{u7, u4} R M (Semiring.toMonoidWithZero.{u7} R (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1))) (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_4)) (Module.toMulActionWithZero.{u7, u4} R M (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) _inst_4 _inst_8)))) (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1))))) f x₁) x₂)) (FunLike.coe.{max (succ u4) (succ u1), succ u4, succ u1} (LinearMap.{u7, u7, u4, u1} R R (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)))) M N _inst_4 _inst_12 _inst_8 _inst_15) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => N) _x) (LinearMap.instFunLikeLinearMap.{u7, u7, u4, u1} R R M N (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) _inst_4 _inst_12 _inst_8 _inst_15 (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1))))) (IsTensorProduct.map.{u7, u6, u5, u4, u3, u2, u1} R _inst_1 M₁ M₂ M _inst_2 _inst_3 _inst_4 _inst_6 _inst_7 _inst_8 f N₁ N₂ N _inst_10 _inst_11 _inst_12 _inst_13 _inst_14 _inst_15 g hf hg i₁ i₂) (FunLike.coe.{max (succ u5) (succ u4), succ u5, succ u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M₁) => LinearMap.{u7, u7, u5, u4} R R (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)))) M₂ M _inst_3 _inst_4 _inst_7 _inst_8) x₁) M₂ (fun (_x : M₂) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M₂) => M) _x) (LinearMap.instFunLikeLinearMap.{u7, u7, u5, u4} R R M₂ M (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) _inst_3 _inst_4 _inst_7 _inst_8 (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1))))) (FunLike.coe.{max (max (succ u6) (succ u5)) (succ u4), succ u6, max (succ u5) (succ u4)} (LinearMap.{u7, u7, u6, max u4 u5} R R (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)))) M₁ (LinearMap.{u7, u7, u5, u4} R R (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)))) M₂ M _inst_3 _inst_4 _inst_7 _inst_8) _inst_2 (LinearMap.addCommMonoid.{u7, u7, u5, u4} R R M₂ M (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) _inst_3 _inst_4 _inst_7 _inst_8 (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1))))) _inst_6 (LinearMap.instModuleLinearMapAddCommMonoid.{u7, u7, u7, u5, u4} R R R M₂ M (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) _inst_3 _inst_4 _inst_7 _inst_8 (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)))) (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) _inst_8 (smulCommClass_self.{u7, u4} R M (CommRing.toCommMonoid.{u7} R _inst_1) (MulActionWithZero.toMulAction.{u7, u4} R M (Semiring.toMonoidWithZero.{u7} R (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1))) (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_4)) (Module.toMulActionWithZero.{u7, u4} R M (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) _inst_4 _inst_8))))) M₁ (fun (_x : M₁) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M₁) => LinearMap.{u7, u7, u5, u4} R R (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)))) M₂ M _inst_3 _inst_4 _inst_7 _inst_8) _x) (LinearMap.instFunLikeLinearMap.{u7, u7, u6, max u5 u4} R R M₁ (LinearMap.{u7, u7, u5, u4} R R (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)))) M₂ M _inst_3 _inst_4 _inst_7 _inst_8) (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) _inst_2 (LinearMap.addCommMonoid.{u7, u7, u5, u4} R R M₂ M (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) _inst_3 _inst_4 _inst_7 _inst_8 (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1))))) _inst_6 (LinearMap.instModuleLinearMapAddCommMonoid.{u7, u7, u7, u5, u4} R R R M₂ M (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) _inst_3 _inst_4 _inst_7 _inst_8 (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)))) (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) _inst_8 (smulCommClass_self.{u7, u4} R M (CommRing.toCommMonoid.{u7} R _inst_1) (MulActionWithZero.toMulAction.{u7, u4} R M (Semiring.toMonoidWithZero.{u7} R (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1))) (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_4)) (Module.toMulActionWithZero.{u7, u4} R M (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) _inst_4 _inst_8)))) (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1))))) f x₁) x₂)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : N₁) => LinearMap.{u7, u7, u2, u1} R R (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)))) N₂ N _inst_11 _inst_12 _inst_14 _inst_15) (FunLike.coe.{max (succ u6) (succ u3), succ u6, succ u3} (LinearMap.{u7, u7, u6, u3} R R (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)))) M₁ N₁ _inst_2 _inst_10 _inst_6 _inst_13) M₁ (fun (a : M₁) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M₁) => N₁) a) (LinearMap.instFunLikeLinearMap.{u7, u7, u6, u3} R R M₁ N₁ (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) _inst_2 _inst_10 _inst_6 _inst_13 (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1))))) i₁ x₁)) N₂ (fun (_x : N₂) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : N₂) => N) _x) (LinearMap.instFunLikeLinearMap.{u7, u7, u2, u1} R R N₂ N (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) _inst_11 _inst_12 _inst_14 _inst_15 (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1))))) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u3, max (succ u2) (succ u1)} (LinearMap.{u7, u7, u3, max u1 u2} R R (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)))) N₁ (LinearMap.{u7, u7, u2, u1} R R (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)))) N₂ N _inst_11 _inst_12 _inst_14 _inst_15) _inst_10 (LinearMap.addCommMonoid.{u7, u7, u2, u1} R R N₂ N (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) _inst_11 _inst_12 _inst_14 _inst_15 (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1))))) _inst_13 (LinearMap.instModuleLinearMapAddCommMonoid.{u7, u7, u7, u2, u1} R R R N₂ N (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) _inst_11 _inst_12 _inst_14 _inst_15 (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)))) (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) _inst_15 (smulCommClass_self.{u7, u1} R N (CommRing.toCommMonoid.{u7} R _inst_1) (MulActionWithZero.toMulAction.{u7, u1} R N (Semiring.toMonoidWithZero.{u7} R (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1))) (AddMonoid.toZero.{u1} N (AddCommMonoid.toAddMonoid.{u1} N _inst_12)) (Module.toMulActionWithZero.{u7, u1} R N (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) _inst_12 _inst_15))))) N₁ (fun (_x : N₁) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : N₁) => LinearMap.{u7, u7, u2, u1} R R (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)))) N₂ N _inst_11 _inst_12 _inst_14 _inst_15) _x) (LinearMap.instFunLikeLinearMap.{u7, u7, u3, max u2 u1} R R N₁ (LinearMap.{u7, u7, u2, u1} R R (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)))) N₂ N _inst_11 _inst_12 _inst_14 _inst_15) (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) _inst_10 (LinearMap.addCommMonoid.{u7, u7, u2, u1} R R N₂ N (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) _inst_11 _inst_12 _inst_14 _inst_15 (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1))))) _inst_13 (LinearMap.instModuleLinearMapAddCommMonoid.{u7, u7, u7, u2, u1} R R R N₂ N (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) _inst_11 _inst_12 _inst_14 _inst_15 (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)))) (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) _inst_15 (smulCommClass_self.{u7, u1} R N (CommRing.toCommMonoid.{u7} R _inst_1) (MulActionWithZero.toMulAction.{u7, u1} R N (Semiring.toMonoidWithZero.{u7} R (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1))) (AddMonoid.toZero.{u1} N (AddCommMonoid.toAddMonoid.{u1} N _inst_12)) (Module.toMulActionWithZero.{u7, u1} R N (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) _inst_12 _inst_15)))) (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1))))) g (FunLike.coe.{max (succ u6) (succ u3), succ u6, succ u3} (LinearMap.{u7, u7, u6, u3} R R (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)))) M₁ N₁ _inst_2 _inst_10 _inst_6 _inst_13) M₁ (fun (_x : M₁) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M₁) => N₁) _x) (LinearMap.instFunLikeLinearMap.{u7, u7, u6, u3} R R M₁ N₁ (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) _inst_2 _inst_10 _inst_6 _inst_13 (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1))))) i₁ x₁)) (FunLike.coe.{max (succ u5) (succ u2), succ u5, succ u2} (LinearMap.{u7, u7, u5, u2} R R (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)))) M₂ N₂ _inst_3 _inst_11 _inst_7 _inst_14) M₂ (fun (_x : M₂) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M₂) => N₂) _x) (LinearMap.instFunLikeLinearMap.{u7, u7, u5, u2} R R M₂ N₂ (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) _inst_3 _inst_11 _inst_7 _inst_14 (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1))))) i₂ x₂))
+<too large>
 Case conversion may be inaccurate. Consider using '#align is_tensor_product.map_eq IsTensorProduct.map_eqₓ'. -/
 theorem IsTensorProduct.map_eq (hf : IsTensorProduct f) (hg : IsTensorProduct g) (i₁ : M₁ →ₗ[R] N₁)
     (i₂ : M₂ →ₗ[R] N₂) (x₁ : M₁) (x₂ : M₂) : hf.map hg i₁ i₂ (f x₁ x₂) = g (i₁ x₁) (i₂ x₂) :=
@@ -167,10 +158,7 @@ theorem IsTensorProduct.map_eq (hf : IsTensorProduct f) (hg : IsTensorProduct g)
 #align is_tensor_product.map_eq IsTensorProduct.map_eq
 
 /- warning: is_tensor_product.induction_on -> IsTensorProduct.inductionOn is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {M₁ : Type.{u2}} {M₂ : Type.{u3}} {M : Type.{u4}} [_inst_2 : AddCommMonoid.{u2} M₁] [_inst_3 : AddCommMonoid.{u3} M₂] [_inst_4 : AddCommMonoid.{u4} M] [_inst_6 : Module.{u1, u2} R M₁ (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_2] [_inst_7 : Module.{u1, u3} R M₂ (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_3] [_inst_8 : Module.{u1, u4} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_4] {f : LinearMap.{u1, u1, u2, max u3 u4} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M₁ (LinearMap.{u1, u1, u3, u4} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M₂ M _inst_3 _inst_4 _inst_7 _inst_8) _inst_2 (LinearMap.addCommMonoid.{u1, u1, u3, u4} R R M₂ M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_3 _inst_4 _inst_7 _inst_8 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) _inst_6 (LinearMap.module.{u1, u1, u1, u3, u4} R R R M₂ M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_3 _inst_4 _inst_7 _inst_8 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_8 (smulCommClass_self.{u1, u4} R M (CommRing.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u4} R M (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_4))) (Module.toMulActionWithZero.{u1, u4} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_4 _inst_8))))}, (IsTensorProduct.{u1, u2, u3, u4} R _inst_1 M₁ M₂ M _inst_2 _inst_3 _inst_4 _inst_6 _inst_7 _inst_8 f) -> (forall {C : M -> Prop} (m : M), (C (OfNat.ofNat.{u4} M 0 (OfNat.mk.{u4} M 0 (Zero.zero.{u4} M (AddZeroClass.toHasZero.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_4))))))) -> (forall (x : M₁) (y : M₂), C (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u1, u3, u4} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M₂ M _inst_3 _inst_4 _inst_7 _inst_8) (fun (_x : LinearMap.{u1, u1, u3, u4} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M₂ M _inst_3 _inst_4 _inst_7 _inst_8) => M₂ -> M) (LinearMap.hasCoeToFun.{u1, u1, u3, u4} R R M₂ M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_3 _inst_4 _inst_7 _inst_8 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (coeFn.{max (succ u2) (succ (max u3 u4)), max (succ u2) (succ (max u3 u4))} (LinearMap.{u1, u1, u2, max u3 u4} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M₁ (LinearMap.{u1, u1, u3, u4} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M₂ M _inst_3 _inst_4 _inst_7 _inst_8) _inst_2 (LinearMap.addCommMonoid.{u1, u1, u3, u4} R R M₂ M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_3 _inst_4 _inst_7 _inst_8 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) _inst_6 (LinearMap.module.{u1, u1, u1, u3, u4} R R R M₂ M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_3 _inst_4 _inst_7 _inst_8 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_8 (smulCommClass_self.{u1, u4} R M (CommRing.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u4} R M (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_4))) (Module.toMulActionWithZero.{u1, u4} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_4 _inst_8))))) (fun (_x : LinearMap.{u1, u1, u2, max u3 u4} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M₁ (LinearMap.{u1, u1, u3, u4} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M₂ M _inst_3 _inst_4 _inst_7 _inst_8) _inst_2 (LinearMap.addCommMonoid.{u1, u1, u3, u4} R R M₂ M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_3 _inst_4 _inst_7 _inst_8 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) _inst_6 (LinearMap.module.{u1, u1, u1, u3, u4} R R R M₂ M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_3 _inst_4 _inst_7 _inst_8 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_8 (smulCommClass_self.{u1, u4} R M (CommRing.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u4} R M (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_4))) (Module.toMulActionWithZero.{u1, u4} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_4 _inst_8))))) => M₁ -> (LinearMap.{u1, u1, u3, u4} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M₂ M _inst_3 _inst_4 _inst_7 _inst_8)) (LinearMap.hasCoeToFun.{u1, u1, u2, max u3 u4} R R M₁ (LinearMap.{u1, u1, u3, u4} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M₂ M _inst_3 _inst_4 _inst_7 _inst_8) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_2 (LinearMap.addCommMonoid.{u1, u1, u3, u4} R R M₂ M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_3 _inst_4 _inst_7 _inst_8 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) _inst_6 (LinearMap.module.{u1, u1, u1, u3, u4} R R R M₂ M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_3 _inst_4 _inst_7 _inst_8 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_8 (smulCommClass_self.{u1, u4} R M (CommRing.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u4} R M (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_4))) (Module.toMulActionWithZero.{u1, u4} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_4 _inst_8)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) f x) y)) -> (forall (x : M) (y : M), (C x) -> (C y) -> (C (HAdd.hAdd.{u4, u4, u4} M M M (instHAdd.{u4} M (AddZeroClass.toHasAdd.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_4)))) x y))) -> (C m))
-but is expected to have type
-  forall {R : Type.{u4}} [_inst_1 : CommRing.{u4} R] {M₁ : Type.{u3}} {M₂ : Type.{u2}} {M : Type.{u1}} [_inst_2 : AddCommMonoid.{u3} M₁] [_inst_3 : AddCommMonoid.{u2} M₂] [_inst_4 : AddCommMonoid.{u1} M] [_inst_6 : Module.{u4, u3} R M₁ (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_2] [_inst_7 : Module.{u4, u2} R M₂ (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_3] [_inst_8 : Module.{u4, u1} R M (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_4] {f : LinearMap.{u4, u4, u3, max u1 u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M₁ (LinearMap.{u4, u4, u2, u1} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M₂ M _inst_3 _inst_4 _inst_7 _inst_8) _inst_2 (LinearMap.addCommMonoid.{u4, u4, u2, u1} R R M₂ M (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_3 _inst_4 _inst_7 _inst_8 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) _inst_6 (LinearMap.instModuleLinearMapAddCommMonoid.{u4, u4, u4, u2, u1} R R R M₂ M (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_3 _inst_4 _inst_7 _inst_8 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_8 (smulCommClass_self.{u4, u1} R M (CommRing.toCommMonoid.{u4} R _inst_1) (MulActionWithZero.toMulAction.{u4, u1} R M (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_4)) (Module.toMulActionWithZero.{u4, u1} R M (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_4 _inst_8))))}, (IsTensorProduct.{u4, u3, u2, u1} R _inst_1 M₁ M₂ M _inst_2 _inst_3 _inst_4 _inst_6 _inst_7 _inst_8 f) -> (forall {C : M -> Prop} (m : M), (C (OfNat.ofNat.{u1} M 0 (Zero.toOfNat0.{u1} M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_4))))) -> (forall (x : M₁) (y : M₂), C (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M₁) => LinearMap.{u4, u4, u2, u1} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M₂ M _inst_3 _inst_4 _inst_7 _inst_8) x) M₂ (fun (_x : M₂) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M₂) => M) _x) (LinearMap.instFunLikeLinearMap.{u4, u4, u2, u1} R R M₂ M (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_3 _inst_4 _inst_7 _inst_8 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u3, max (succ u2) (succ u1)} (LinearMap.{u4, u4, u3, max u1 u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M₁ (LinearMap.{u4, u4, u2, u1} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M₂ M _inst_3 _inst_4 _inst_7 _inst_8) _inst_2 (LinearMap.addCommMonoid.{u4, u4, u2, u1} R R M₂ M (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_3 _inst_4 _inst_7 _inst_8 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) _inst_6 (LinearMap.instModuleLinearMapAddCommMonoid.{u4, u4, u4, u2, u1} R R R M₂ M (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_3 _inst_4 _inst_7 _inst_8 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_8 (smulCommClass_self.{u4, u1} R M (CommRing.toCommMonoid.{u4} R _inst_1) (MulActionWithZero.toMulAction.{u4, u1} R M (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_4)) (Module.toMulActionWithZero.{u4, u1} R M (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_4 _inst_8))))) M₁ (fun (_x : M₁) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M₁) => LinearMap.{u4, u4, u2, u1} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M₂ M _inst_3 _inst_4 _inst_7 _inst_8) _x) (LinearMap.instFunLikeLinearMap.{u4, u4, u3, max u2 u1} R R M₁ (LinearMap.{u4, u4, u2, u1} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M₂ M _inst_3 _inst_4 _inst_7 _inst_8) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_2 (LinearMap.addCommMonoid.{u4, u4, u2, u1} R R M₂ M (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_3 _inst_4 _inst_7 _inst_8 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) _inst_6 (LinearMap.instModuleLinearMapAddCommMonoid.{u4, u4, u4, u2, u1} R R R M₂ M (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_3 _inst_4 _inst_7 _inst_8 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_8 (smulCommClass_self.{u4, u1} R M (CommRing.toCommMonoid.{u4} R _inst_1) (MulActionWithZero.toMulAction.{u4, u1} R M (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_4)) (Module.toMulActionWithZero.{u4, u1} R M (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_4 _inst_8)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) f x) y)) -> (forall (x : M) (y : M), (C x) -> (C y) -> (C (HAdd.hAdd.{u1, u1, u1} M M M (instHAdd.{u1} M (AddZeroClass.toAdd.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_4)))) x y))) -> (C m))
+<too large>
 Case conversion may be inaccurate. Consider using '#align is_tensor_product.induction_on IsTensorProduct.inductionOnₓ'. -/
 theorem IsTensorProduct.inductionOn (h : IsTensorProduct f) {C : M → Prop} (m : M) (h0 : C 0)
     (htmul : ∀ x y, C (f x y)) (hadd : ∀ x y, C x → C y → C (x + y)) : C m :=
@@ -243,10 +231,7 @@ noncomputable def IsBaseChange.lift (g : M →ₗ[R] Q) : N →ₗ[S] Q :=
 -/
 
 /- warning: is_base_change.lift_eq -> IsBaseChange.lift_eq is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u4}} {M : Type.{u1}} {N : Type.{u2}} {S : Type.{u3}} [_inst_1 : AddCommMonoid.{u1} M] [_inst_2 : AddCommMonoid.{u2} N] [_inst_3 : CommRing.{u4} R] [_inst_4 : CommRing.{u3} S] [_inst_5 : Algebra.{u4, u3} R S (CommRing.toCommSemiring.{u4} R _inst_3) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4))] [_inst_6 : Module.{u4, u1} R M (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) _inst_1] [_inst_7 : Module.{u4, u2} R N (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) _inst_2] [_inst_8 : Module.{u3, u2} S N (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) _inst_2] [_inst_9 : IsScalarTower.{u4, u3, u2} R S N (SMulZeroClass.toHasSmul.{u4, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))))))) (SMulWithZero.toSmulZeroClass.{u4, u3} R S (MulZeroClass.toHasZero.{u4} R (MulZeroOneClass.toMulZeroClass.{u4} R (MonoidWithZero.toMulZeroOneClass.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))))))) (MulActionWithZero.toSMulWithZero.{u4, u3} R S (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))))))) (Module.toMulActionWithZero.{u4, u3} R S (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4))))) (Algebra.toModule.{u4, u3} R S (CommRing.toCommSemiring.{u4} R _inst_3) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) _inst_5))))) (SMulZeroClass.toHasSmul.{u3, u2} S N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_2))) (SMulWithZero.toSmulZeroClass.{u3, u2} S N (MulZeroClass.toHasZero.{u3} S (MulZeroOneClass.toMulZeroClass.{u3} S (MonoidWithZero.toMulZeroOneClass.{u3} S (Semiring.toMonoidWithZero.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))))) (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_2))) (MulActionWithZero.toSMulWithZero.{u3, u2} S N (Semiring.toMonoidWithZero.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4))) (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_2))) (Module.toMulActionWithZero.{u3, u2} S N (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) _inst_2 _inst_8)))) (SMulZeroClass.toHasSmul.{u4, u2} R N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_2))) (SMulWithZero.toSmulZeroClass.{u4, u2} R N (MulZeroClass.toHasZero.{u4} R (MulZeroOneClass.toMulZeroClass.{u4} R (MonoidWithZero.toMulZeroOneClass.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)))))) (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_2))) (MulActionWithZero.toSMulWithZero.{u4, u2} R N (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3))) (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_2))) (Module.toMulActionWithZero.{u4, u2} R N (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) _inst_2 _inst_7))))] {f : LinearMap.{u4, u4, u1, u2} R R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)))) M N _inst_1 _inst_2 _inst_6 _inst_7} (h : IsBaseChange.{u1, u2, u3, u4} R M N S _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 f) {Q : Type.{u5}} [_inst_12 : AddCommMonoid.{u5} Q] [_inst_13 : Module.{u3, u5} S Q (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) _inst_12] [_inst_14 : Module.{u4, u5} R Q (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) _inst_12] [_inst_15 : IsScalarTower.{u4, u3, u5} R S Q (SMulZeroClass.toHasSmul.{u4, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))))))) (SMulWithZero.toSmulZeroClass.{u4, u3} R S (MulZeroClass.toHasZero.{u4} R (MulZeroOneClass.toMulZeroClass.{u4} R (MonoidWithZero.toMulZeroOneClass.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))))))) (MulActionWithZero.toSMulWithZero.{u4, u3} R S (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))))))) (Module.toMulActionWithZero.{u4, u3} R S (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4))))) (Algebra.toModule.{u4, u3} R S (CommRing.toCommSemiring.{u4} R _inst_3) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) _inst_5))))) (SMulZeroClass.toHasSmul.{u3, u5} S Q (AddZeroClass.toHasZero.{u5} Q (AddMonoid.toAddZeroClass.{u5} Q (AddCommMonoid.toAddMonoid.{u5} Q _inst_12))) (SMulWithZero.toSmulZeroClass.{u3, u5} S Q (MulZeroClass.toHasZero.{u3} S (MulZeroOneClass.toMulZeroClass.{u3} S (MonoidWithZero.toMulZeroOneClass.{u3} S (Semiring.toMonoidWithZero.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))))) (AddZeroClass.toHasZero.{u5} Q (AddMonoid.toAddZeroClass.{u5} Q (AddCommMonoid.toAddMonoid.{u5} Q _inst_12))) (MulActionWithZero.toSMulWithZero.{u3, u5} S Q (Semiring.toMonoidWithZero.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4))) (AddZeroClass.toHasZero.{u5} Q (AddMonoid.toAddZeroClass.{u5} Q (AddCommMonoid.toAddMonoid.{u5} Q _inst_12))) (Module.toMulActionWithZero.{u3, u5} S Q (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) _inst_12 _inst_13)))) (SMulZeroClass.toHasSmul.{u4, u5} R Q (AddZeroClass.toHasZero.{u5} Q (AddMonoid.toAddZeroClass.{u5} Q (AddCommMonoid.toAddMonoid.{u5} Q _inst_12))) (SMulWithZero.toSmulZeroClass.{u4, u5} R Q (MulZeroClass.toHasZero.{u4} R (MulZeroOneClass.toMulZeroClass.{u4} R (MonoidWithZero.toMulZeroOneClass.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)))))) (AddZeroClass.toHasZero.{u5} Q (AddMonoid.toAddZeroClass.{u5} Q (AddCommMonoid.toAddMonoid.{u5} Q _inst_12))) (MulActionWithZero.toSMulWithZero.{u4, u5} R Q (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3))) (AddZeroClass.toHasZero.{u5} Q (AddMonoid.toAddZeroClass.{u5} Q (AddCommMonoid.toAddMonoid.{u5} Q _inst_12))) (Module.toMulActionWithZero.{u4, u5} R Q (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) _inst_12 _inst_14))))] (g : LinearMap.{u4, u4, u1, u5} R R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)))) M Q _inst_1 _inst_12 _inst_6 _inst_14) (x : M), Eq.{succ u5} Q (coeFn.{max (succ u2) (succ u5), max (succ u2) (succ u5)} (LinearMap.{u3, u3, u2, u5} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))) N Q _inst_2 _inst_12 _inst_8 _inst_13) (fun (_x : LinearMap.{u3, u3, u2, u5} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))) N Q _inst_2 _inst_12 _inst_8 _inst_13) => N -> Q) (LinearMap.hasCoeToFun.{u3, u3, u2, u5} S S N Q (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) _inst_2 _inst_12 _inst_8 _inst_13 (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4))))) (IsBaseChange.lift.{u1, u2, u3, u4, u5} R M N S _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 f h Q _inst_12 _inst_13 _inst_14 _inst_15 g) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (LinearMap.{u4, u4, u1, u2} R R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)))) M N _inst_1 _inst_2 _inst_6 _inst_7) (fun (_x : LinearMap.{u4, u4, u1, u2} R R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)))) M N _inst_1 _inst_2 _inst_6 _inst_7) => M -> N) (LinearMap.hasCoeToFun.{u4, u4, u1, u2} R R M N (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) _inst_1 _inst_2 _inst_6 _inst_7 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3))))) f x)) (coeFn.{max (succ u1) (succ u5), max (succ u1) (succ u5)} (LinearMap.{u4, u4, u1, u5} R R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)))) M Q _inst_1 _inst_12 _inst_6 _inst_14) (fun (_x : LinearMap.{u4, u4, u1, u5} R R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)))) M Q _inst_1 _inst_12 _inst_6 _inst_14) => M -> Q) (LinearMap.hasCoeToFun.{u4, u4, u1, u5} R R M Q (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) _inst_1 _inst_12 _inst_6 _inst_14 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3))))) g x)
-but is expected to have type
-  forall {R : Type.{u2}} {M : Type.{u3}} {N : Type.{u4}} {S : Type.{u5}} [_inst_1 : AddCommMonoid.{u3} M] [_inst_2 : AddCommMonoid.{u4} N] [_inst_3 : CommRing.{u2} R] [_inst_4 : CommRing.{u5} S] [_inst_5 : Algebra.{u2, u5} R S (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4))] [_inst_6 : Module.{u2, u3} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_1] [_inst_7 : Module.{u2, u4} R N (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_2] [_inst_8 : Module.{u5, u4} S N (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_2] [_inst_9 : IsScalarTower.{u2, u5, u4} R S N (Algebra.toSMul.{u2, u5} R S (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_5) (SMulZeroClass.toSMul.{u5, u4} S N (AddMonoid.toZero.{u4} N (AddCommMonoid.toAddMonoid.{u4} N _inst_2)) (SMulWithZero.toSMulZeroClass.{u5, u4} S N (CommMonoidWithZero.toZero.{u5} S (CommSemiring.toCommMonoidWithZero.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4))) (AddMonoid.toZero.{u4} N (AddCommMonoid.toAddMonoid.{u4} N _inst_2)) (MulActionWithZero.toSMulWithZero.{u5, u4} S N (Semiring.toMonoidWithZero.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4))) (AddMonoid.toZero.{u4} N (AddCommMonoid.toAddMonoid.{u4} N _inst_2)) (Module.toMulActionWithZero.{u5, u4} S N (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_2 _inst_8)))) (SMulZeroClass.toSMul.{u2, u4} R N (AddMonoid.toZero.{u4} N (AddCommMonoid.toAddMonoid.{u4} N _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u4} R N (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} N (AddCommMonoid.toAddMonoid.{u4} N _inst_2)) (MulActionWithZero.toSMulWithZero.{u2, u4} R N (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} N (AddCommMonoid.toAddMonoid.{u4} N _inst_2)) (Module.toMulActionWithZero.{u2, u4} R N (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_2 _inst_7))))] {f : LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M N _inst_1 _inst_2 _inst_6 _inst_7} (h : IsBaseChange.{u3, u4, u5, u2} R M N S _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 f) {Q : Type.{u1}} [_inst_12 : AddCommMonoid.{u1} Q] [_inst_13 : Module.{u5, u1} S Q (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_12] [_inst_14 : Module.{u2, u1} R Q (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_12] [_inst_15 : IsScalarTower.{u2, u5, u1} R S Q (Algebra.toSMul.{u2, u5} R S (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_5) (SMulZeroClass.toSMul.{u5, u1} S Q (AddMonoid.toZero.{u1} Q (AddCommMonoid.toAddMonoid.{u1} Q _inst_12)) (SMulWithZero.toSMulZeroClass.{u5, u1} S Q (CommMonoidWithZero.toZero.{u5} S (CommSemiring.toCommMonoidWithZero.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4))) (AddMonoid.toZero.{u1} Q (AddCommMonoid.toAddMonoid.{u1} Q _inst_12)) (MulActionWithZero.toSMulWithZero.{u5, u1} S Q (Semiring.toMonoidWithZero.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4))) (AddMonoid.toZero.{u1} Q (AddCommMonoid.toAddMonoid.{u1} Q _inst_12)) (Module.toMulActionWithZero.{u5, u1} S Q (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_12 _inst_13)))) (SMulZeroClass.toSMul.{u2, u1} R Q (AddMonoid.toZero.{u1} Q (AddCommMonoid.toAddMonoid.{u1} Q _inst_12)) (SMulWithZero.toSMulZeroClass.{u2, u1} R Q (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u1} Q (AddCommMonoid.toAddMonoid.{u1} Q _inst_12)) (MulActionWithZero.toSMulWithZero.{u2, u1} R Q (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u1} Q (AddCommMonoid.toAddMonoid.{u1} Q _inst_12)) (Module.toMulActionWithZero.{u2, u1} R Q (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_12 _inst_14))))] (g : LinearMap.{u2, u2, u3, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M Q _inst_1 _inst_12 _inst_6 _inst_14) (x : M), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : N) => Q) (FunLike.coe.{max (succ u3) (succ u4), succ u3, succ u4} (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M N _inst_1 _inst_2 _inst_6 _inst_7) M (fun (a : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => N) a) (LinearMap.instFunLikeLinearMap.{u2, u2, u3, u4} R R M N (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_1 _inst_2 _inst_6 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) f x)) (FunLike.coe.{max (succ u4) (succ u1), succ u4, succ u1} (LinearMap.{u5, u5, u4, u1} S S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) (RingHom.id.{u5} S (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)))) N Q _inst_2 _inst_12 _inst_8 _inst_13) N (fun (_x : N) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : N) => Q) _x) (LinearMap.instFunLikeLinearMap.{u5, u5, u4, u1} S S N Q (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_2 _inst_12 _inst_8 _inst_13 (RingHom.id.{u5} S (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4))))) (IsBaseChange.lift.{u3, u4, u5, u2, u1} R M N S _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 f h Q _inst_12 _inst_13 _inst_14 _inst_15 g) (FunLike.coe.{max (succ u3) (succ u4), succ u3, succ u4} (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M N _inst_1 _inst_2 _inst_6 _inst_7) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => N) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u3, u4} R R M N (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_1 _inst_2 _inst_6 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{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 (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M Q _inst_1 _inst_12 _inst_6 _inst_14) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => Q) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u3, u1} R R M Q (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_1 _inst_12 _inst_6 _inst_14 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) g x)
+<too large>
 Case conversion may be inaccurate. Consider using '#align is_base_change.lift_eq IsBaseChange.lift_eqₓ'. -/
 theorem IsBaseChange.lift_eq (g : M →ₗ[R] Q) (x : M) : h.lift g (f x) = g x :=
   by
@@ -255,10 +240,7 @@ theorem IsBaseChange.lift_eq (g : M →ₗ[R] Q) (x : M) : h.lift g (f x) = g x
 #align is_base_change.lift_eq IsBaseChange.lift_eq
 
 /- warning: is_base_change.lift_comp -> IsBaseChange.lift_comp is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u4}} {M : Type.{u1}} {N : Type.{u2}} {S : Type.{u3}} [_inst_1 : AddCommMonoid.{u1} M] [_inst_2 : AddCommMonoid.{u2} N] [_inst_3 : CommRing.{u4} R] [_inst_4 : CommRing.{u3} S] [_inst_5 : Algebra.{u4, u3} R S (CommRing.toCommSemiring.{u4} R _inst_3) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4))] [_inst_6 : Module.{u4, u1} R M (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) _inst_1] [_inst_7 : Module.{u4, u2} R N (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) _inst_2] [_inst_8 : Module.{u3, u2} S N (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) _inst_2] [_inst_9 : IsScalarTower.{u4, u3, u2} R S N (SMulZeroClass.toHasSmul.{u4, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))))))) (SMulWithZero.toSmulZeroClass.{u4, u3} R S (MulZeroClass.toHasZero.{u4} R (MulZeroOneClass.toMulZeroClass.{u4} R (MonoidWithZero.toMulZeroOneClass.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))))))) (MulActionWithZero.toSMulWithZero.{u4, u3} R S (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))))))) (Module.toMulActionWithZero.{u4, u3} R S (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4))))) (Algebra.toModule.{u4, u3} R S (CommRing.toCommSemiring.{u4} R _inst_3) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) _inst_5))))) (SMulZeroClass.toHasSmul.{u3, u2} S N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_2))) (SMulWithZero.toSmulZeroClass.{u3, u2} S N (MulZeroClass.toHasZero.{u3} S (MulZeroOneClass.toMulZeroClass.{u3} S (MonoidWithZero.toMulZeroOneClass.{u3} S (Semiring.toMonoidWithZero.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))))) (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_2))) (MulActionWithZero.toSMulWithZero.{u3, u2} S N (Semiring.toMonoidWithZero.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4))) (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_2))) (Module.toMulActionWithZero.{u3, u2} S N (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) _inst_2 _inst_8)))) (SMulZeroClass.toHasSmul.{u4, u2} R N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_2))) (SMulWithZero.toSmulZeroClass.{u4, u2} R N (MulZeroClass.toHasZero.{u4} R (MulZeroOneClass.toMulZeroClass.{u4} R (MonoidWithZero.toMulZeroOneClass.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)))))) (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_2))) (MulActionWithZero.toSMulWithZero.{u4, u2} R N (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3))) (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_2))) (Module.toMulActionWithZero.{u4, u2} R N (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) _inst_2 _inst_7))))] {f : LinearMap.{u4, u4, u1, u2} R R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)))) M N _inst_1 _inst_2 _inst_6 _inst_7} (h : IsBaseChange.{u1, u2, u3, u4} R M N S _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 f) {Q : Type.{u5}} [_inst_12 : AddCommMonoid.{u5} Q] [_inst_13 : Module.{u3, u5} S Q (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) _inst_12] [_inst_14 : Module.{u4, u5} R Q (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) _inst_12] [_inst_15 : IsScalarTower.{u4, u3, u5} R S Q (SMulZeroClass.toHasSmul.{u4, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))))))) (SMulWithZero.toSmulZeroClass.{u4, u3} R S (MulZeroClass.toHasZero.{u4} R (MulZeroOneClass.toMulZeroClass.{u4} R (MonoidWithZero.toMulZeroOneClass.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))))))) (MulActionWithZero.toSMulWithZero.{u4, u3} R S (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))))))) (Module.toMulActionWithZero.{u4, u3} R S (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4))))) (Algebra.toModule.{u4, u3} R S (CommRing.toCommSemiring.{u4} R _inst_3) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) _inst_5))))) (SMulZeroClass.toHasSmul.{u3, u5} S Q (AddZeroClass.toHasZero.{u5} Q (AddMonoid.toAddZeroClass.{u5} Q (AddCommMonoid.toAddMonoid.{u5} Q _inst_12))) (SMulWithZero.toSmulZeroClass.{u3, u5} S Q (MulZeroClass.toHasZero.{u3} S (MulZeroOneClass.toMulZeroClass.{u3} S (MonoidWithZero.toMulZeroOneClass.{u3} S (Semiring.toMonoidWithZero.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))))) (AddZeroClass.toHasZero.{u5} Q (AddMonoid.toAddZeroClass.{u5} Q (AddCommMonoid.toAddMonoid.{u5} Q _inst_12))) (MulActionWithZero.toSMulWithZero.{u3, u5} S Q (Semiring.toMonoidWithZero.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4))) (AddZeroClass.toHasZero.{u5} Q (AddMonoid.toAddZeroClass.{u5} Q (AddCommMonoid.toAddMonoid.{u5} Q _inst_12))) (Module.toMulActionWithZero.{u3, u5} S Q (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) _inst_12 _inst_13)))) (SMulZeroClass.toHasSmul.{u4, u5} R Q (AddZeroClass.toHasZero.{u5} Q (AddMonoid.toAddZeroClass.{u5} Q (AddCommMonoid.toAddMonoid.{u5} Q _inst_12))) (SMulWithZero.toSmulZeroClass.{u4, u5} R Q (MulZeroClass.toHasZero.{u4} R (MulZeroOneClass.toMulZeroClass.{u4} R (MonoidWithZero.toMulZeroOneClass.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)))))) (AddZeroClass.toHasZero.{u5} Q (AddMonoid.toAddZeroClass.{u5} Q (AddCommMonoid.toAddMonoid.{u5} Q _inst_12))) (MulActionWithZero.toSMulWithZero.{u4, u5} R Q (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3))) (AddZeroClass.toHasZero.{u5} Q (AddMonoid.toAddZeroClass.{u5} Q (AddCommMonoid.toAddMonoid.{u5} Q _inst_12))) (Module.toMulActionWithZero.{u4, u5} R Q (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) _inst_12 _inst_14))))] (g : LinearMap.{u4, u4, u1, u5} R R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)))) M Q _inst_1 _inst_12 _inst_6 _inst_14), Eq.{max (succ u1) (succ u5)} (LinearMap.{u4, u4, u1, u5} R R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)))) M Q _inst_1 _inst_12 _inst_6 _inst_14) (LinearMap.comp.{u4, u4, u4, u1, u2, u5} R R R M N Q (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) _inst_1 _inst_2 _inst_12 _inst_6 _inst_7 _inst_14 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)))) (RingHomCompTriple.right_ids.{u4, u4} R R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3))))) (LinearMap.restrictScalars.{u4, u3, u2, u5} R S N Q (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) _inst_2 _inst_12 _inst_7 _inst_14 _inst_8 _inst_13 (LinearMap.IsScalarTower.compatibleSMul.{u2, u5, u4, u3} N Q _inst_2 _inst_12 R S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) (SMulZeroClass.toHasSmul.{u4, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))))))) (SMulWithZero.toSmulZeroClass.{u4, u3} R S (MulZeroClass.toHasZero.{u4} R (MulZeroOneClass.toMulZeroClass.{u4} R (MonoidWithZero.toMulZeroOneClass.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))))))) (MulActionWithZero.toSMulWithZero.{u4, u3} R S (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))))))) (Module.toMulActionWithZero.{u4, u3} R S (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4))))) (Algebra.toModule.{u4, u3} R S (CommRing.toCommSemiring.{u4} R _inst_3) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) _inst_5))))) (SMulZeroClass.toHasSmul.{u4, u2} R N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_2))) (SMulWithZero.toSmulZeroClass.{u4, u2} R N (MulZeroClass.toHasZero.{u4} R (MulZeroOneClass.toMulZeroClass.{u4} R (MonoidWithZero.toMulZeroOneClass.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)))))) (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_2))) (MulActionWithZero.toSMulWithZero.{u4, u2} R N (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3))) (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_2))) (Module.toMulActionWithZero.{u4, u2} R N (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) _inst_2 _inst_7)))) _inst_8 _inst_9 (SMulZeroClass.toHasSmul.{u4, u5} R Q (AddZeroClass.toHasZero.{u5} Q (AddMonoid.toAddZeroClass.{u5} Q (AddCommMonoid.toAddMonoid.{u5} Q _inst_12))) (SMulWithZero.toSmulZeroClass.{u4, u5} R Q (MulZeroClass.toHasZero.{u4} R (MulZeroOneClass.toMulZeroClass.{u4} R (MonoidWithZero.toMulZeroOneClass.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)))))) (AddZeroClass.toHasZero.{u5} Q (AddMonoid.toAddZeroClass.{u5} Q (AddCommMonoid.toAddMonoid.{u5} Q _inst_12))) (MulActionWithZero.toSMulWithZero.{u4, u5} R Q (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3))) (AddZeroClass.toHasZero.{u5} Q (AddMonoid.toAddZeroClass.{u5} Q (AddCommMonoid.toAddMonoid.{u5} Q _inst_12))) (Module.toMulActionWithZero.{u4, u5} R Q (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) _inst_12 _inst_14)))) _inst_13 _inst_15) (IsBaseChange.lift.{u1, u2, u3, u4, u5} R M N S _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 f h Q _inst_12 _inst_13 _inst_14 _inst_15 g)) f) g
-but is expected to have type
-  forall {R : Type.{u2}} {M : Type.{u3}} {N : Type.{u4}} {S : Type.{u5}} [_inst_1 : AddCommMonoid.{u3} M] [_inst_2 : AddCommMonoid.{u4} N] [_inst_3 : CommRing.{u2} R] [_inst_4 : CommRing.{u5} S] [_inst_5 : Algebra.{u2, u5} R S (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4))] [_inst_6 : Module.{u2, u3} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_1] [_inst_7 : Module.{u2, u4} R N (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_2] [_inst_8 : Module.{u5, u4} S N (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_2] [_inst_9 : IsScalarTower.{u2, u5, u4} R S N (Algebra.toSMul.{u2, u5} R S (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_5) (SMulZeroClass.toSMul.{u5, u4} S N (AddMonoid.toZero.{u4} N (AddCommMonoid.toAddMonoid.{u4} N _inst_2)) (SMulWithZero.toSMulZeroClass.{u5, u4} S N (CommMonoidWithZero.toZero.{u5} S (CommSemiring.toCommMonoidWithZero.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4))) (AddMonoid.toZero.{u4} N (AddCommMonoid.toAddMonoid.{u4} N _inst_2)) (MulActionWithZero.toSMulWithZero.{u5, u4} S N (Semiring.toMonoidWithZero.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4))) (AddMonoid.toZero.{u4} N (AddCommMonoid.toAddMonoid.{u4} N _inst_2)) (Module.toMulActionWithZero.{u5, u4} S N (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_2 _inst_8)))) (SMulZeroClass.toSMul.{u2, u4} R N (AddMonoid.toZero.{u4} N (AddCommMonoid.toAddMonoid.{u4} N _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u4} R N (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} N (AddCommMonoid.toAddMonoid.{u4} N _inst_2)) (MulActionWithZero.toSMulWithZero.{u2, u4} R N (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} N (AddCommMonoid.toAddMonoid.{u4} N _inst_2)) (Module.toMulActionWithZero.{u2, u4} R N (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_2 _inst_7))))] {f : LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M N _inst_1 _inst_2 _inst_6 _inst_7} (h : IsBaseChange.{u3, u4, u5, u2} R M N S _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 f) {Q : Type.{u1}} [_inst_12 : AddCommMonoid.{u1} Q] [_inst_13 : Module.{u5, u1} S Q (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_12] [_inst_14 : Module.{u2, u1} R Q (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_12] [_inst_15 : IsScalarTower.{u2, u5, u1} R S Q (Algebra.toSMul.{u2, u5} R S (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_5) (SMulZeroClass.toSMul.{u5, u1} S Q (AddMonoid.toZero.{u1} Q (AddCommMonoid.toAddMonoid.{u1} Q _inst_12)) (SMulWithZero.toSMulZeroClass.{u5, u1} S Q (CommMonoidWithZero.toZero.{u5} S (CommSemiring.toCommMonoidWithZero.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4))) (AddMonoid.toZero.{u1} Q (AddCommMonoid.toAddMonoid.{u1} Q _inst_12)) (MulActionWithZero.toSMulWithZero.{u5, u1} S Q (Semiring.toMonoidWithZero.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4))) (AddMonoid.toZero.{u1} Q (AddCommMonoid.toAddMonoid.{u1} Q _inst_12)) (Module.toMulActionWithZero.{u5, u1} S Q (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_12 _inst_13)))) (SMulZeroClass.toSMul.{u2, u1} R Q (AddMonoid.toZero.{u1} Q (AddCommMonoid.toAddMonoid.{u1} Q _inst_12)) (SMulWithZero.toSMulZeroClass.{u2, u1} R Q (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u1} Q (AddCommMonoid.toAddMonoid.{u1} Q _inst_12)) (MulActionWithZero.toSMulWithZero.{u2, u1} R Q (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u1} Q (AddCommMonoid.toAddMonoid.{u1} Q _inst_12)) (Module.toMulActionWithZero.{u2, u1} R Q (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_12 _inst_14))))] (g : LinearMap.{u2, u2, u3, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M Q _inst_1 _inst_12 _inst_6 _inst_14), Eq.{max (succ u3) (succ u1)} (LinearMap.{u2, u2, u3, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M Q _inst_1 _inst_12 _inst_6 _inst_14) (LinearMap.comp.{u2, u2, u2, u3, u4, u1} R R R M N Q (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_1 _inst_2 _inst_12 _inst_6 _inst_7 _inst_14 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomCompTriple.ids.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (LinearMap.restrictScalars.{u2, u5, u4, u1} R S N Q (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_2 _inst_12 _inst_7 _inst_14 _inst_8 _inst_13 (LinearMap.IsScalarTower.compatibleSMul.{u4, u1, u2, u5} N Q _inst_2 _inst_12 R S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) (Algebra.toSMul.{u2, u5} R S (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_5) (SMulZeroClass.toSMul.{u2, u4} R N (AddMonoid.toZero.{u4} N (AddCommMonoid.toAddMonoid.{u4} N _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u4} R N (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (AddMonoid.toZero.{u4} N (AddCommMonoid.toAddMonoid.{u4} N _inst_2)) (MulActionWithZero.toSMulWithZero.{u2, u4} R N (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} N (AddCommMonoid.toAddMonoid.{u4} N _inst_2)) (Module.toMulActionWithZero.{u2, u4} R N (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_2 _inst_7)))) _inst_8 _inst_9 (SMulZeroClass.toSMul.{u2, u1} R Q (AddMonoid.toZero.{u1} Q (AddCommMonoid.toAddMonoid.{u1} Q _inst_12)) (SMulWithZero.toSMulZeroClass.{u2, u1} R Q (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (AddMonoid.toZero.{u1} Q (AddCommMonoid.toAddMonoid.{u1} Q _inst_12)) (MulActionWithZero.toSMulWithZero.{u2, u1} R Q (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u1} Q (AddCommMonoid.toAddMonoid.{u1} Q _inst_12)) (Module.toMulActionWithZero.{u2, u1} R Q (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_12 _inst_14)))) _inst_13 _inst_15) (IsBaseChange.lift.{u3, u4, u5, u2, u1} R M N S _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 f h Q _inst_12 _inst_13 _inst_14 _inst_15 g)) f) g
+<too large>
 Case conversion may be inaccurate. Consider using '#align is_base_change.lift_comp IsBaseChange.lift_compₓ'. -/
 theorem IsBaseChange.lift_comp (g : M →ₗ[R] Q) : ((h.lift g).restrictScalars R).comp f = g :=
   LinearMap.ext (h.liftEq g)
@@ -269,10 +251,7 @@ end
 include h
 
 /- warning: is_base_change.induction_on -> IsBaseChange.inductionOn is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u4}} {M : Type.{u1}} {N : Type.{u2}} {S : Type.{u3}} [_inst_1 : AddCommMonoid.{u1} M] [_inst_2 : AddCommMonoid.{u2} N] [_inst_3 : CommRing.{u4} R] [_inst_4 : CommRing.{u3} S] [_inst_5 : Algebra.{u4, u3} R S (CommRing.toCommSemiring.{u4} R _inst_3) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4))] [_inst_6 : Module.{u4, u1} R M (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) _inst_1] [_inst_7 : Module.{u4, u2} R N (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) _inst_2] [_inst_8 : Module.{u3, u2} S N (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) _inst_2] [_inst_9 : IsScalarTower.{u4, u3, u2} R S N (SMulZeroClass.toHasSmul.{u4, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))))))) (SMulWithZero.toSmulZeroClass.{u4, u3} R S (MulZeroClass.toHasZero.{u4} R (MulZeroOneClass.toMulZeroClass.{u4} R (MonoidWithZero.toMulZeroOneClass.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))))))) (MulActionWithZero.toSMulWithZero.{u4, u3} R S (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))))))) (Module.toMulActionWithZero.{u4, u3} R S (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4))))) (Algebra.toModule.{u4, u3} R S (CommRing.toCommSemiring.{u4} R _inst_3) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) _inst_5))))) (SMulZeroClass.toHasSmul.{u3, u2} S N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_2))) (SMulWithZero.toSmulZeroClass.{u3, u2} S N (MulZeroClass.toHasZero.{u3} S (MulZeroOneClass.toMulZeroClass.{u3} S (MonoidWithZero.toMulZeroOneClass.{u3} S (Semiring.toMonoidWithZero.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))))) (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_2))) (MulActionWithZero.toSMulWithZero.{u3, u2} S N (Semiring.toMonoidWithZero.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4))) (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_2))) (Module.toMulActionWithZero.{u3, u2} S N (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) _inst_2 _inst_8)))) (SMulZeroClass.toHasSmul.{u4, u2} R N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_2))) (SMulWithZero.toSmulZeroClass.{u4, u2} R N (MulZeroClass.toHasZero.{u4} R (MulZeroOneClass.toMulZeroClass.{u4} R (MonoidWithZero.toMulZeroOneClass.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)))))) (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_2))) (MulActionWithZero.toSMulWithZero.{u4, u2} R N (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3))) (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_2))) (Module.toMulActionWithZero.{u4, u2} R N (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) _inst_2 _inst_7))))] {f : LinearMap.{u4, u4, u1, u2} R R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)))) M N _inst_1 _inst_2 _inst_6 _inst_7}, (IsBaseChange.{u1, u2, u3, u4} R M N S _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 f) -> (forall (x : N) (P : N -> Prop), (P (OfNat.ofNat.{u2} N 0 (OfNat.mk.{u2} N 0 (Zero.zero.{u2} N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_2))))))) -> (forall (m : M), P (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (LinearMap.{u4, u4, u1, u2} R R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)))) M N _inst_1 _inst_2 _inst_6 _inst_7) (fun (_x : LinearMap.{u4, u4, u1, u2} R R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)))) M N _inst_1 _inst_2 _inst_6 _inst_7) => M -> N) (LinearMap.hasCoeToFun.{u4, u4, u1, u2} R R M N (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) _inst_1 _inst_2 _inst_6 _inst_7 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3))))) f m)) -> (forall (s : S) (n : N), (P n) -> (P (SMul.smul.{u3, u2} S N (SMulZeroClass.toHasSmul.{u3, u2} S N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_2))) (SMulWithZero.toSmulZeroClass.{u3, u2} S N (MulZeroClass.toHasZero.{u3} S (MulZeroOneClass.toMulZeroClass.{u3} S (MonoidWithZero.toMulZeroOneClass.{u3} S (Semiring.toMonoidWithZero.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))))) (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_2))) (MulActionWithZero.toSMulWithZero.{u3, u2} S N (Semiring.toMonoidWithZero.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4))) (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_2))) (Module.toMulActionWithZero.{u3, u2} S N (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) _inst_2 _inst_8)))) s n))) -> (forall (n₁ : N) (n₂ : N), (P n₁) -> (P n₂) -> (P (HAdd.hAdd.{u2, u2, u2} N N N (instHAdd.{u2} N (AddZeroClass.toHasAdd.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_2)))) n₁ n₂))) -> (P x))
-but is expected to have type
-  forall {R : Type.{u1}} {M : Type.{u2}} {N : Type.{u3}} {S : Type.{u4}} [_inst_1 : AddCommMonoid.{u2} M] [_inst_2 : AddCommMonoid.{u3} N] [_inst_3 : CommRing.{u1} R] [_inst_4 : CommRing.{u4} S] [_inst_5 : Algebra.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4))] [_inst_6 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) _inst_1] [_inst_7 : Module.{u1, u3} R N (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) _inst_2] [_inst_8 : Module.{u4, u3} S N (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_2] [_inst_9 : IsScalarTower.{u1, u4, u3} R S N (Algebra.toSMul.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) (SMulZeroClass.toSMul.{u4, u3} S N (AddMonoid.toZero.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_2)) (SMulWithZero.toSMulZeroClass.{u4, u3} S N (CommMonoidWithZero.toZero.{u4} S (CommSemiring.toCommMonoidWithZero.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4))) (AddMonoid.toZero.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_2)) (MulActionWithZero.toSMulWithZero.{u4, u3} S N (Semiring.toMonoidWithZero.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4))) (AddMonoid.toZero.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_2)) (Module.toMulActionWithZero.{u4, u3} S N (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_2 _inst_8)))) (SMulZeroClass.toSMul.{u1, u3} R N (AddMonoid.toZero.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u3} R N (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3))) (AddMonoid.toZero.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u3} R N (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3))) (AddMonoid.toZero.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_2)) (Module.toMulActionWithZero.{u1, u3} R N (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) _inst_2 _inst_7))))] {f : LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)))) M N _inst_1 _inst_2 _inst_6 _inst_7}, (IsBaseChange.{u2, u3, u4, u1} R M N S _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 f) -> (forall (x : N) (P : N -> Prop), (P (OfNat.ofNat.{u3} N 0 (Zero.toOfNat0.{u3} N (AddMonoid.toZero.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_2))))) -> (forall (m : M), P (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)))) M N _inst_1 _inst_2 _inst_6 _inst_7) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => N) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u3} R R M N (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) _inst_1 _inst_2 _inst_6 _inst_7 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3))))) f m)) -> (forall (s : S) (n : N), (P n) -> (P (HSMul.hSMul.{u4, u3, u3} S N N (instHSMul.{u4, u3} S N (SMulZeroClass.toSMul.{u4, u3} S N (AddMonoid.toZero.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_2)) (SMulWithZero.toSMulZeroClass.{u4, u3} S N (CommMonoidWithZero.toZero.{u4} S (CommSemiring.toCommMonoidWithZero.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4))) (AddMonoid.toZero.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_2)) (MulActionWithZero.toSMulWithZero.{u4, u3} S N (Semiring.toMonoidWithZero.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4))) (AddMonoid.toZero.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_2)) (Module.toMulActionWithZero.{u4, u3} S N (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_2 _inst_8))))) s n))) -> (forall (n₁ : N) (n₂ : N), (P n₁) -> (P n₂) -> (P (HAdd.hAdd.{u3, u3, u3} N N N (instHAdd.{u3} N (AddZeroClass.toAdd.{u3} N (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_2)))) n₁ n₂))) -> (P x))
+<too large>
 Case conversion may be inaccurate. Consider using '#align is_base_change.induction_on IsBaseChange.inductionOnₓ'. -/
 @[elab_as_elim]
 theorem IsBaseChange.inductionOn (x : N) (P : N → Prop) (h₁ : P 0) (h₂ : ∀ m : M, P (f m))
@@ -281,10 +260,7 @@ theorem IsBaseChange.inductionOn (x : N) (P : N → Prop) (h₁ : P 0) (h₂ : 
 #align is_base_change.induction_on IsBaseChange.inductionOn
 
 /- warning: is_base_change.alg_hom_ext -> IsBaseChange.alg_hom_ext is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u4}} {M : Type.{u1}} {N : Type.{u2}} {S : Type.{u3}} [_inst_1 : AddCommMonoid.{u1} M] [_inst_2 : AddCommMonoid.{u2} N] [_inst_3 : CommRing.{u4} R] [_inst_4 : CommRing.{u3} S] [_inst_5 : Algebra.{u4, u3} R S (CommRing.toCommSemiring.{u4} R _inst_3) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4))] [_inst_6 : Module.{u4, u1} R M (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) _inst_1] [_inst_7 : Module.{u4, u2} R N (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) _inst_2] [_inst_8 : Module.{u3, u2} S N (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) _inst_2] [_inst_9 : IsScalarTower.{u4, u3, u2} R S N (SMulZeroClass.toHasSmul.{u4, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))))))) (SMulWithZero.toSmulZeroClass.{u4, u3} R S (MulZeroClass.toHasZero.{u4} R (MulZeroOneClass.toMulZeroClass.{u4} R (MonoidWithZero.toMulZeroOneClass.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))))))) (MulActionWithZero.toSMulWithZero.{u4, u3} R S (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))))))) (Module.toMulActionWithZero.{u4, u3} R S (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4))))) (Algebra.toModule.{u4, u3} R S (CommRing.toCommSemiring.{u4} R _inst_3) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) _inst_5))))) (SMulZeroClass.toHasSmul.{u3, u2} S N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_2))) (SMulWithZero.toSmulZeroClass.{u3, u2} S N (MulZeroClass.toHasZero.{u3} S (MulZeroOneClass.toMulZeroClass.{u3} S (MonoidWithZero.toMulZeroOneClass.{u3} S (Semiring.toMonoidWithZero.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))))) (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_2))) (MulActionWithZero.toSMulWithZero.{u3, u2} S N (Semiring.toMonoidWithZero.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4))) (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_2))) (Module.toMulActionWithZero.{u3, u2} S N (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) _inst_2 _inst_8)))) (SMulZeroClass.toHasSmul.{u4, u2} R N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_2))) (SMulWithZero.toSmulZeroClass.{u4, u2} R N (MulZeroClass.toHasZero.{u4} R (MulZeroOneClass.toMulZeroClass.{u4} R (MonoidWithZero.toMulZeroOneClass.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)))))) (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_2))) (MulActionWithZero.toSMulWithZero.{u4, u2} R N (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3))) (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_2))) (Module.toMulActionWithZero.{u4, u2} R N (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) _inst_2 _inst_7))))] {f : LinearMap.{u4, u4, u1, u2} R R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)))) M N _inst_1 _inst_2 _inst_6 _inst_7}, (IsBaseChange.{u1, u2, u3, u4} R M N S _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 f) -> (forall {Q : Type.{u5}} [_inst_12 : AddCommMonoid.{u5} Q] [_inst_13 : Module.{u3, u5} S Q (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) _inst_12] (g₁ : LinearMap.{u3, u3, u2, u5} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))) N Q _inst_2 _inst_12 _inst_8 _inst_13) (g₂ : LinearMap.{u3, u3, u2, u5} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))) N Q _inst_2 _inst_12 _inst_8 _inst_13), (forall (x : M), Eq.{succ u5} Q (coeFn.{max (succ u2) (succ u5), max (succ u2) (succ u5)} (LinearMap.{u3, u3, u2, u5} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))) N Q _inst_2 _inst_12 _inst_8 _inst_13) (fun (_x : LinearMap.{u3, u3, u2, u5} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))) N Q _inst_2 _inst_12 _inst_8 _inst_13) => N -> Q) (LinearMap.hasCoeToFun.{u3, u3, u2, u5} S S N Q (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) _inst_2 _inst_12 _inst_8 _inst_13 (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4))))) g₁ (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (LinearMap.{u4, u4, u1, u2} R R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)))) M N _inst_1 _inst_2 _inst_6 _inst_7) (fun (_x : LinearMap.{u4, u4, u1, u2} R R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)))) M N _inst_1 _inst_2 _inst_6 _inst_7) => M -> N) (LinearMap.hasCoeToFun.{u4, u4, u1, u2} R R M N (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) _inst_1 _inst_2 _inst_6 _inst_7 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3))))) f x)) (coeFn.{max (succ u2) (succ u5), max (succ u2) (succ u5)} (LinearMap.{u3, u3, u2, u5} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))) N Q _inst_2 _inst_12 _inst_8 _inst_13) (fun (_x : LinearMap.{u3, u3, u2, u5} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))) N Q _inst_2 _inst_12 _inst_8 _inst_13) => N -> Q) (LinearMap.hasCoeToFun.{u3, u3, u2, u5} S S N Q (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) _inst_2 _inst_12 _inst_8 _inst_13 (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4))))) g₂ (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (LinearMap.{u4, u4, u1, u2} R R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)))) M N _inst_1 _inst_2 _inst_6 _inst_7) (fun (_x : LinearMap.{u4, u4, u1, u2} R R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)))) M N _inst_1 _inst_2 _inst_6 _inst_7) => M -> N) (LinearMap.hasCoeToFun.{u4, u4, u1, u2} R R M N (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) _inst_1 _inst_2 _inst_6 _inst_7 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3))))) f x))) -> (Eq.{max (succ u2) (succ u5)} (LinearMap.{u3, u3, u2, u5} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))) N Q _inst_2 _inst_12 _inst_8 _inst_13) g₁ g₂))
-but is expected to have type
-  forall {R : Type.{u1}} {M : Type.{u3}} {N : Type.{u4}} {S : Type.{u5}} [_inst_1 : AddCommMonoid.{u3} M] [_inst_2 : AddCommMonoid.{u4} N] [_inst_3 : CommRing.{u1} R] [_inst_4 : CommRing.{u5} S] [_inst_5 : Algebra.{u1, u5} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4))] [_inst_6 : Module.{u1, u3} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) _inst_1] [_inst_7 : Module.{u1, u4} R N (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) _inst_2] [_inst_8 : Module.{u5, u4} S N (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_2] [_inst_9 : IsScalarTower.{u1, u5, u4} R S N (Algebra.toSMul.{u1, u5} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_5) (SMulZeroClass.toSMul.{u5, u4} S N (AddMonoid.toZero.{u4} N (AddCommMonoid.toAddMonoid.{u4} N _inst_2)) (SMulWithZero.toSMulZeroClass.{u5, u4} S N (CommMonoidWithZero.toZero.{u5} S (CommSemiring.toCommMonoidWithZero.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4))) (AddMonoid.toZero.{u4} N (AddCommMonoid.toAddMonoid.{u4} N _inst_2)) (MulActionWithZero.toSMulWithZero.{u5, u4} S N (Semiring.toMonoidWithZero.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4))) (AddMonoid.toZero.{u4} N (AddCommMonoid.toAddMonoid.{u4} N _inst_2)) (Module.toMulActionWithZero.{u5, u4} S N (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_2 _inst_8)))) (SMulZeroClass.toSMul.{u1, u4} R N (AddMonoid.toZero.{u4} N (AddCommMonoid.toAddMonoid.{u4} N _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u4} R N (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3))) (AddMonoid.toZero.{u4} N (AddCommMonoid.toAddMonoid.{u4} N _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u4} R N (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3))) (AddMonoid.toZero.{u4} N (AddCommMonoid.toAddMonoid.{u4} N _inst_2)) (Module.toMulActionWithZero.{u1, u4} R N (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) _inst_2 _inst_7))))] {f : LinearMap.{u1, u1, u3, u4} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)))) M N _inst_1 _inst_2 _inst_6 _inst_7}, (IsBaseChange.{u3, u4, u5, u1} R M N S _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 f) -> (forall {Q : Type.{u2}} [_inst_12 : AddCommMonoid.{u2} Q] [_inst_13 : Module.{u5, u2} S Q (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_12] (g₁ : LinearMap.{u5, u5, u4, u2} S S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) (RingHom.id.{u5} S (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)))) N Q _inst_2 _inst_12 _inst_8 _inst_13) (g₂ : LinearMap.{u5, u5, u4, u2} S S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) (RingHom.id.{u5} S (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)))) N Q _inst_2 _inst_12 _inst_8 _inst_13), (forall (x : M), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : N) => Q) (FunLike.coe.{max (succ u3) (succ u4), succ u3, succ u4} (LinearMap.{u1, u1, u3, u4} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)))) M N _inst_1 _inst_2 _inst_6 _inst_7) M (fun (a : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => N) a) (LinearMap.instFunLikeLinearMap.{u1, u1, u3, u4} R R M N (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) _inst_1 _inst_2 _inst_6 _inst_7 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3))))) f x)) (FunLike.coe.{max (succ u4) (succ u2), succ u4, succ u2} (LinearMap.{u5, u5, u4, u2} S S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) (RingHom.id.{u5} S (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)))) N Q _inst_2 _inst_12 _inst_8 _inst_13) N (fun (_x : N) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : N) => Q) _x) (LinearMap.instFunLikeLinearMap.{u5, u5, u4, u2} S S N Q (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_2 _inst_12 _inst_8 _inst_13 (RingHom.id.{u5} S (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4))))) g₁ (FunLike.coe.{max (succ u3) (succ u4), succ u3, succ u4} (LinearMap.{u1, u1, u3, u4} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)))) M N _inst_1 _inst_2 _inst_6 _inst_7) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => N) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u3, u4} R R M N (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) _inst_1 _inst_2 _inst_6 _inst_7 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3))))) f x)) (FunLike.coe.{max (succ u4) (succ u2), succ u4, succ u2} (LinearMap.{u5, u5, u4, u2} S S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) (RingHom.id.{u5} S (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)))) N Q _inst_2 _inst_12 _inst_8 _inst_13) N (fun (_x : N) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : N) => Q) _x) (LinearMap.instFunLikeLinearMap.{u5, u5, u4, u2} S S N Q (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_2 _inst_12 _inst_8 _inst_13 (RingHom.id.{u5} S (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4))))) g₂ (FunLike.coe.{max (succ u3) (succ u4), succ u3, succ u4} (LinearMap.{u1, u1, u3, u4} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)))) M N _inst_1 _inst_2 _inst_6 _inst_7) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => N) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u3, u4} R R M N (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) _inst_1 _inst_2 _inst_6 _inst_7 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3))))) f x))) -> (Eq.{max (succ u4) (succ u2)} (LinearMap.{u5, u5, u4, u2} S S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) (RingHom.id.{u5} S (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)))) N Q _inst_2 _inst_12 _inst_8 _inst_13) g₁ g₂))
+<too large>
 Case conversion may be inaccurate. Consider using '#align is_base_change.alg_hom_ext IsBaseChange.alg_hom_extₓ'. -/
 theorem IsBaseChange.alg_hom_ext (g₁ g₂ : N →ₗ[S] Q) (e : ∀ x, g₁ (f x) = g₂ (f x)) : g₁ = g₂ :=
   by
@@ -299,10 +275,7 @@ theorem IsBaseChange.alg_hom_ext (g₁ g₂ : N →ₗ[S] Q) (e : ∀ x, g₁ (f
 #align is_base_change.alg_hom_ext IsBaseChange.alg_hom_ext
 
 /- warning: is_base_change.alg_hom_ext' -> IsBaseChange.alg_hom_ext' is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u4}} {M : Type.{u1}} {N : Type.{u2}} {S : Type.{u3}} [_inst_1 : AddCommMonoid.{u1} M] [_inst_2 : AddCommMonoid.{u2} N] [_inst_3 : CommRing.{u4} R] [_inst_4 : CommRing.{u3} S] [_inst_5 : Algebra.{u4, u3} R S (CommRing.toCommSemiring.{u4} R _inst_3) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4))] [_inst_6 : Module.{u4, u1} R M (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) _inst_1] [_inst_7 : Module.{u4, u2} R N (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) _inst_2] [_inst_8 : Module.{u3, u2} S N (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) _inst_2] [_inst_9 : IsScalarTower.{u4, u3, u2} R S N (SMulZeroClass.toHasSmul.{u4, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))))))) (SMulWithZero.toSmulZeroClass.{u4, u3} R S (MulZeroClass.toHasZero.{u4} R (MulZeroOneClass.toMulZeroClass.{u4} R (MonoidWithZero.toMulZeroOneClass.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))))))) (MulActionWithZero.toSMulWithZero.{u4, u3} R S (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))))))) (Module.toMulActionWithZero.{u4, u3} R S (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4))))) (Algebra.toModule.{u4, u3} R S (CommRing.toCommSemiring.{u4} R _inst_3) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) _inst_5))))) (SMulZeroClass.toHasSmul.{u3, u2} S N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_2))) (SMulWithZero.toSmulZeroClass.{u3, u2} S N (MulZeroClass.toHasZero.{u3} S (MulZeroOneClass.toMulZeroClass.{u3} S (MonoidWithZero.toMulZeroOneClass.{u3} S (Semiring.toMonoidWithZero.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))))) (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_2))) (MulActionWithZero.toSMulWithZero.{u3, u2} S N (Semiring.toMonoidWithZero.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4))) (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_2))) (Module.toMulActionWithZero.{u3, u2} S N (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) _inst_2 _inst_8)))) (SMulZeroClass.toHasSmul.{u4, u2} R N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_2))) (SMulWithZero.toSmulZeroClass.{u4, u2} R N (MulZeroClass.toHasZero.{u4} R (MulZeroOneClass.toMulZeroClass.{u4} R (MonoidWithZero.toMulZeroOneClass.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)))))) (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_2))) (MulActionWithZero.toSMulWithZero.{u4, u2} R N (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3))) (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_2))) (Module.toMulActionWithZero.{u4, u2} R N (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) _inst_2 _inst_7))))] {f : LinearMap.{u4, u4, u1, u2} R R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)))) M N _inst_1 _inst_2 _inst_6 _inst_7}, (IsBaseChange.{u1, u2, u3, u4} R M N S _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 f) -> (forall {Q : Type.{u5}} [_inst_12 : AddCommMonoid.{u5} Q] [_inst_13 : Module.{u3, u5} S Q (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) _inst_12] [_inst_14 : Module.{u4, u5} R Q (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) _inst_12] [_inst_15 : IsScalarTower.{u4, u3, u5} R S Q (SMulZeroClass.toHasSmul.{u4, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))))))) (SMulWithZero.toSmulZeroClass.{u4, u3} R S (MulZeroClass.toHasZero.{u4} R (MulZeroOneClass.toMulZeroClass.{u4} R (MonoidWithZero.toMulZeroOneClass.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))))))) (MulActionWithZero.toSMulWithZero.{u4, u3} R S (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))))))) (Module.toMulActionWithZero.{u4, u3} R S (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4))))) (Algebra.toModule.{u4, u3} R S (CommRing.toCommSemiring.{u4} R _inst_3) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) _inst_5))))) (SMulZeroClass.toHasSmul.{u3, u5} S Q (AddZeroClass.toHasZero.{u5} Q (AddMonoid.toAddZeroClass.{u5} Q (AddCommMonoid.toAddMonoid.{u5} Q _inst_12))) (SMulWithZero.toSmulZeroClass.{u3, u5} S Q (MulZeroClass.toHasZero.{u3} S (MulZeroOneClass.toMulZeroClass.{u3} S (MonoidWithZero.toMulZeroOneClass.{u3} S (Semiring.toMonoidWithZero.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))))) (AddZeroClass.toHasZero.{u5} Q (AddMonoid.toAddZeroClass.{u5} Q (AddCommMonoid.toAddMonoid.{u5} Q _inst_12))) (MulActionWithZero.toSMulWithZero.{u3, u5} S Q (Semiring.toMonoidWithZero.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4))) (AddZeroClass.toHasZero.{u5} Q (AddMonoid.toAddZeroClass.{u5} Q (AddCommMonoid.toAddMonoid.{u5} Q _inst_12))) (Module.toMulActionWithZero.{u3, u5} S Q (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) _inst_12 _inst_13)))) (SMulZeroClass.toHasSmul.{u4, u5} R Q (AddZeroClass.toHasZero.{u5} Q (AddMonoid.toAddZeroClass.{u5} Q (AddCommMonoid.toAddMonoid.{u5} Q _inst_12))) (SMulWithZero.toSmulZeroClass.{u4, u5} R Q (MulZeroClass.toHasZero.{u4} R (MulZeroOneClass.toMulZeroClass.{u4} R (MonoidWithZero.toMulZeroOneClass.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)))))) (AddZeroClass.toHasZero.{u5} Q (AddMonoid.toAddZeroClass.{u5} Q (AddCommMonoid.toAddMonoid.{u5} Q _inst_12))) (MulActionWithZero.toSMulWithZero.{u4, u5} R Q (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3))) (AddZeroClass.toHasZero.{u5} Q (AddMonoid.toAddZeroClass.{u5} Q (AddCommMonoid.toAddMonoid.{u5} Q _inst_12))) (Module.toMulActionWithZero.{u4, u5} R Q (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) _inst_12 _inst_14))))] (g₁ : LinearMap.{u3, u3, u2, u5} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))) N Q _inst_2 _inst_12 _inst_8 _inst_13) (g₂ : LinearMap.{u3, u3, u2, u5} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))) N Q _inst_2 _inst_12 _inst_8 _inst_13), (Eq.{max (succ u1) (succ u5)} (LinearMap.{u4, u4, u1, u5} R R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)))) M Q _inst_1 _inst_12 _inst_6 _inst_14) (LinearMap.comp.{u4, u4, u4, u1, u2, u5} R R R M N Q (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) _inst_1 _inst_2 _inst_12 _inst_6 _inst_7 _inst_14 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)))) (RingHomCompTriple.right_ids.{u4, u4} R R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3))))) (LinearMap.restrictScalars.{u4, u3, u2, u5} R S N Q (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) _inst_2 _inst_12 _inst_7 _inst_14 _inst_8 _inst_13 (LinearMap.IsScalarTower.compatibleSMul.{u2, u5, u4, u3} N Q _inst_2 _inst_12 R S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) (SMulZeroClass.toHasSmul.{u4, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))))))) (SMulWithZero.toSmulZeroClass.{u4, u3} R S (MulZeroClass.toHasZero.{u4} R (MulZeroOneClass.toMulZeroClass.{u4} R (MonoidWithZero.toMulZeroOneClass.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))))))) (MulActionWithZero.toSMulWithZero.{u4, u3} R S (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))))))) (Module.toMulActionWithZero.{u4, u3} R S (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4))))) (Algebra.toModule.{u4, u3} R S (CommRing.toCommSemiring.{u4} R _inst_3) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) _inst_5))))) (SMulZeroClass.toHasSmul.{u4, u2} R N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_2))) (SMulWithZero.toSmulZeroClass.{u4, u2} R N (MulZeroClass.toHasZero.{u4} R (MulZeroOneClass.toMulZeroClass.{u4} R (MonoidWithZero.toMulZeroOneClass.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)))))) (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_2))) (MulActionWithZero.toSMulWithZero.{u4, u2} R N (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3))) (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_2))) (Module.toMulActionWithZero.{u4, u2} R N (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) _inst_2 _inst_7)))) _inst_8 _inst_9 (SMulZeroClass.toHasSmul.{u4, u5} R Q (AddZeroClass.toHasZero.{u5} Q (AddMonoid.toAddZeroClass.{u5} Q (AddCommMonoid.toAddMonoid.{u5} Q _inst_12))) (SMulWithZero.toSmulZeroClass.{u4, u5} R Q (MulZeroClass.toHasZero.{u4} R (MulZeroOneClass.toMulZeroClass.{u4} R (MonoidWithZero.toMulZeroOneClass.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)))))) (AddZeroClass.toHasZero.{u5} Q (AddMonoid.toAddZeroClass.{u5} Q (AddCommMonoid.toAddMonoid.{u5} Q _inst_12))) (MulActionWithZero.toSMulWithZero.{u4, u5} R Q (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3))) (AddZeroClass.toHasZero.{u5} Q (AddMonoid.toAddZeroClass.{u5} Q (AddCommMonoid.toAddMonoid.{u5} Q _inst_12))) (Module.toMulActionWithZero.{u4, u5} R Q (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) _inst_12 _inst_14)))) _inst_13 _inst_15) g₁) f) (LinearMap.comp.{u4, u4, u4, u1, u2, u5} R R R M N Q (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) _inst_1 _inst_2 _inst_12 _inst_6 _inst_7 _inst_14 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)))) (RingHomCompTriple.right_ids.{u4, u4} R R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3))))) (LinearMap.restrictScalars.{u4, u3, u2, u5} R S N Q (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) _inst_2 _inst_12 _inst_7 _inst_14 _inst_8 _inst_13 (LinearMap.IsScalarTower.compatibleSMul.{u2, u5, u4, u3} N Q _inst_2 _inst_12 R S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) (SMulZeroClass.toHasSmul.{u4, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))))))) (SMulWithZero.toSmulZeroClass.{u4, u3} R S (MulZeroClass.toHasZero.{u4} R (MulZeroOneClass.toMulZeroClass.{u4} R (MonoidWithZero.toMulZeroOneClass.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))))))) (MulActionWithZero.toSMulWithZero.{u4, u3} R S (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))))))) (Module.toMulActionWithZero.{u4, u3} R S (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4))))) (Algebra.toModule.{u4, u3} R S (CommRing.toCommSemiring.{u4} R _inst_3) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) _inst_5))))) (SMulZeroClass.toHasSmul.{u4, u2} R N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_2))) (SMulWithZero.toSmulZeroClass.{u4, u2} R N (MulZeroClass.toHasZero.{u4} R (MulZeroOneClass.toMulZeroClass.{u4} R (MonoidWithZero.toMulZeroOneClass.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)))))) (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_2))) (MulActionWithZero.toSMulWithZero.{u4, u2} R N (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3))) (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_2))) (Module.toMulActionWithZero.{u4, u2} R N (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) _inst_2 _inst_7)))) _inst_8 _inst_9 (SMulZeroClass.toHasSmul.{u4, u5} R Q (AddZeroClass.toHasZero.{u5} Q (AddMonoid.toAddZeroClass.{u5} Q (AddCommMonoid.toAddMonoid.{u5} Q _inst_12))) (SMulWithZero.toSmulZeroClass.{u4, u5} R Q (MulZeroClass.toHasZero.{u4} R (MulZeroOneClass.toMulZeroClass.{u4} R (MonoidWithZero.toMulZeroOneClass.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)))))) (AddZeroClass.toHasZero.{u5} Q (AddMonoid.toAddZeroClass.{u5} Q (AddCommMonoid.toAddMonoid.{u5} Q _inst_12))) (MulActionWithZero.toSMulWithZero.{u4, u5} R Q (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3))) (AddZeroClass.toHasZero.{u5} Q (AddMonoid.toAddZeroClass.{u5} Q (AddCommMonoid.toAddMonoid.{u5} Q _inst_12))) (Module.toMulActionWithZero.{u4, u5} R Q (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) _inst_12 _inst_14)))) _inst_13 _inst_15) g₂) f)) -> (Eq.{max (succ u2) (succ u5)} (LinearMap.{u3, u3, u2, u5} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))) N Q _inst_2 _inst_12 _inst_8 _inst_13) g₁ g₂))
-but is expected to have type
-  forall {R : Type.{u2}} {M : Type.{u3}} {N : Type.{u4}} {S : Type.{u5}} [_inst_1 : AddCommMonoid.{u3} M] [_inst_2 : AddCommMonoid.{u4} N] [_inst_3 : CommRing.{u2} R] [_inst_4 : CommRing.{u5} S] [_inst_5 : Algebra.{u2, u5} R S (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4))] [_inst_6 : Module.{u2, u3} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_1] [_inst_7 : Module.{u2, u4} R N (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_2] [_inst_8 : Module.{u5, u4} S N (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_2] [_inst_9 : IsScalarTower.{u2, u5, u4} R S N (Algebra.toSMul.{u2, u5} R S (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_5) (SMulZeroClass.toSMul.{u5, u4} S N (AddMonoid.toZero.{u4} N (AddCommMonoid.toAddMonoid.{u4} N _inst_2)) (SMulWithZero.toSMulZeroClass.{u5, u4} S N (CommMonoidWithZero.toZero.{u5} S (CommSemiring.toCommMonoidWithZero.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4))) (AddMonoid.toZero.{u4} N (AddCommMonoid.toAddMonoid.{u4} N _inst_2)) (MulActionWithZero.toSMulWithZero.{u5, u4} S N (Semiring.toMonoidWithZero.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4))) (AddMonoid.toZero.{u4} N (AddCommMonoid.toAddMonoid.{u4} N _inst_2)) (Module.toMulActionWithZero.{u5, u4} S N (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_2 _inst_8)))) (SMulZeroClass.toSMul.{u2, u4} R N (AddMonoid.toZero.{u4} N (AddCommMonoid.toAddMonoid.{u4} N _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u4} R N (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} N (AddCommMonoid.toAddMonoid.{u4} N _inst_2)) (MulActionWithZero.toSMulWithZero.{u2, u4} R N (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} N (AddCommMonoid.toAddMonoid.{u4} N _inst_2)) (Module.toMulActionWithZero.{u2, u4} R N (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_2 _inst_7))))] {f : LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M N _inst_1 _inst_2 _inst_6 _inst_7}, (IsBaseChange.{u3, u4, u5, u2} R M N S _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 f) -> (forall {Q : Type.{u1}} [_inst_12 : AddCommMonoid.{u1} Q] [_inst_13 : Module.{u5, u1} S Q (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_12] [_inst_14 : Module.{u2, u1} R Q (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_12] [_inst_15 : IsScalarTower.{u2, u5, u1} R S Q (Algebra.toSMul.{u2, u5} R S (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_5) (SMulZeroClass.toSMul.{u5, u1} S Q (AddMonoid.toZero.{u1} Q (AddCommMonoid.toAddMonoid.{u1} Q _inst_12)) (SMulWithZero.toSMulZeroClass.{u5, u1} S Q (CommMonoidWithZero.toZero.{u5} S (CommSemiring.toCommMonoidWithZero.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4))) (AddMonoid.toZero.{u1} Q (AddCommMonoid.toAddMonoid.{u1} Q _inst_12)) (MulActionWithZero.toSMulWithZero.{u5, u1} S Q (Semiring.toMonoidWithZero.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4))) (AddMonoid.toZero.{u1} Q (AddCommMonoid.toAddMonoid.{u1} Q _inst_12)) (Module.toMulActionWithZero.{u5, u1} S Q (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_12 _inst_13)))) (SMulZeroClass.toSMul.{u2, u1} R Q (AddMonoid.toZero.{u1} Q (AddCommMonoid.toAddMonoid.{u1} Q _inst_12)) (SMulWithZero.toSMulZeroClass.{u2, u1} R Q (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u1} Q (AddCommMonoid.toAddMonoid.{u1} Q _inst_12)) (MulActionWithZero.toSMulWithZero.{u2, u1} R Q (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u1} Q (AddCommMonoid.toAddMonoid.{u1} Q _inst_12)) (Module.toMulActionWithZero.{u2, u1} R Q (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_12 _inst_14))))] (g₁ : LinearMap.{u5, u5, u4, u1} S S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) (RingHom.id.{u5} S (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)))) N Q _inst_2 _inst_12 _inst_8 _inst_13) (g₂ : LinearMap.{u5, u5, u4, u1} S S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) (RingHom.id.{u5} S (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)))) N Q _inst_2 _inst_12 _inst_8 _inst_13), (Eq.{max (succ u3) (succ u1)} (LinearMap.{u2, u2, u3, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M Q _inst_1 _inst_12 _inst_6 _inst_14) (LinearMap.comp.{u2, u2, u2, u3, u4, u1} R R R M N Q (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_1 _inst_2 _inst_12 _inst_6 _inst_7 _inst_14 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomCompTriple.ids.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (LinearMap.restrictScalars.{u2, u5, u4, u1} R S N Q (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_2 _inst_12 _inst_7 _inst_14 _inst_8 _inst_13 (LinearMap.IsScalarTower.compatibleSMul.{u4, u1, u2, u5} N Q _inst_2 _inst_12 R S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) (Algebra.toSMul.{u2, u5} R S (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_5) (SMulZeroClass.toSMul.{u2, u4} R N (AddMonoid.toZero.{u4} N (AddCommMonoid.toAddMonoid.{u4} N _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u4} R N (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (AddMonoid.toZero.{u4} N (AddCommMonoid.toAddMonoid.{u4} N _inst_2)) (MulActionWithZero.toSMulWithZero.{u2, u4} R N (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} N (AddCommMonoid.toAddMonoid.{u4} N _inst_2)) (Module.toMulActionWithZero.{u2, u4} R N (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_2 _inst_7)))) _inst_8 _inst_9 (SMulZeroClass.toSMul.{u2, u1} R Q (AddMonoid.toZero.{u1} Q (AddCommMonoid.toAddMonoid.{u1} Q _inst_12)) (SMulWithZero.toSMulZeroClass.{u2, u1} R Q (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (AddMonoid.toZero.{u1} Q (AddCommMonoid.toAddMonoid.{u1} Q _inst_12)) (MulActionWithZero.toSMulWithZero.{u2, u1} R Q (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u1} Q (AddCommMonoid.toAddMonoid.{u1} Q _inst_12)) (Module.toMulActionWithZero.{u2, u1} R Q (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_12 _inst_14)))) _inst_13 _inst_15) g₁) f) (LinearMap.comp.{u2, u2, u2, u3, u4, u1} R R R M N Q (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_1 _inst_2 _inst_12 _inst_6 _inst_7 _inst_14 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomCompTriple.ids.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (LinearMap.restrictScalars.{u2, u5, u4, u1} R S N Q (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_2 _inst_12 _inst_7 _inst_14 _inst_8 _inst_13 (LinearMap.IsScalarTower.compatibleSMul.{u4, u1, u2, u5} N Q _inst_2 _inst_12 R S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) (Algebra.toSMul.{u2, u5} R S (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_5) (SMulZeroClass.toSMul.{u2, u4} R N (AddMonoid.toZero.{u4} N (AddCommMonoid.toAddMonoid.{u4} N _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u4} R N (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (AddMonoid.toZero.{u4} N (AddCommMonoid.toAddMonoid.{u4} N _inst_2)) (MulActionWithZero.toSMulWithZero.{u2, u4} R N (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} N (AddCommMonoid.toAddMonoid.{u4} N _inst_2)) (Module.toMulActionWithZero.{u2, u4} R N (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_2 _inst_7)))) _inst_8 _inst_9 (SMulZeroClass.toSMul.{u2, u1} R Q (AddMonoid.toZero.{u1} Q (AddCommMonoid.toAddMonoid.{u1} Q _inst_12)) (SMulWithZero.toSMulZeroClass.{u2, u1} R Q (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (AddMonoid.toZero.{u1} Q (AddCommMonoid.toAddMonoid.{u1} Q _inst_12)) (MulActionWithZero.toSMulWithZero.{u2, u1} R Q (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u1} Q (AddCommMonoid.toAddMonoid.{u1} Q _inst_12)) (Module.toMulActionWithZero.{u2, u1} R Q (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_12 _inst_14)))) _inst_13 _inst_15) g₂) f)) -> (Eq.{max (succ u4) (succ u1)} (LinearMap.{u5, u5, u4, u1} S S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) (RingHom.id.{u5} S (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)))) N Q _inst_2 _inst_12 _inst_8 _inst_13) g₁ g₂))
+<too large>
 Case conversion may be inaccurate. Consider using '#align is_base_change.alg_hom_ext' IsBaseChange.alg_hom_ext'ₓ'. -/
 theorem IsBaseChange.alg_hom_ext' [Module R Q] [IsScalarTower R S Q] (g₁ g₂ : N →ₗ[S] Q)
     (e : (g₁.restrictScalars R).comp f = (g₂.restrictScalars R).comp f) : g₁ = g₂ :=
@@ -314,10 +287,7 @@ variable (R M N S)
 omit h f
 
 /- warning: tensor_product.is_base_change -> TensorProduct.isBaseChange is a dubious translation:
-lean 3 declaration is
-  forall (R : Type.{u3}) (M : Type.{u1}) (S : Type.{u2}) [_inst_1 : AddCommMonoid.{u1} M] [_inst_3 : CommRing.{u3} R] [_inst_4 : CommRing.{u2} S] [_inst_5 : Algebra.{u3, u2} R S (CommRing.toCommSemiring.{u3} R _inst_3) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_4))] [_inst_6 : Module.{u3, u1} R M (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_3)) _inst_1], IsBaseChange.{u1, max u2 u1, u2, u3} R M (TensorProduct.{u3, u2, u1} R (CommRing.toCommSemiring.{u3} R _inst_3) S M (AddCommGroup.toAddCommMonoid.{u2} S (NonUnitalNonAssocRing.toAddCommGroup.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_4))))) _inst_1 (Algebra.toModule.{u3, u2} R S (CommRing.toCommSemiring.{u3} R _inst_3) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_4)) _inst_5) _inst_6) S _inst_1 (TensorProduct.addCommMonoid.{u3, u2, u1} R (CommRing.toCommSemiring.{u3} R _inst_3) S M (AddCommGroup.toAddCommMonoid.{u2} S (NonUnitalNonAssocRing.toAddCommGroup.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_4))))) _inst_1 (Algebra.toModule.{u3, u2} R S (CommRing.toCommSemiring.{u3} R _inst_3) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_4)) _inst_5) _inst_6) _inst_3 _inst_4 _inst_5 _inst_6 (TensorProduct.module.{u3, u2, u1} R (CommRing.toCommSemiring.{u3} R _inst_3) S M (AddCommGroup.toAddCommMonoid.{u2} S (NonUnitalNonAssocRing.toAddCommGroup.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_4))))) _inst_1 (Algebra.toModule.{u3, u2} R S (CommRing.toCommSemiring.{u3} R _inst_3) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_4)) _inst_5) _inst_6) (TensorProduct.leftModule.{u3, u2, u2, u1} R (CommRing.toCommSemiring.{u3} R _inst_3) S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_4)) S M (AddCommGroup.toAddCommMonoid.{u2} S (NonUnitalNonAssocRing.toAddCommGroup.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_4))))) _inst_1 (Algebra.toModule.{u3, u2} R S (CommRing.toCommSemiring.{u3} R _inst_3) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_4)) _inst_5) _inst_6 (Semiring.toModule.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_4))) (Algebra.to_smulCommClass.{u3, u2} R S (CommRing.toCommSemiring.{u3} R _inst_3) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_4)) _inst_5)) (TensorProduct.isScalarTower_left.{u3, u2, u2, u1, u3} R (CommRing.toCommSemiring.{u3} R _inst_3) S (Ring.toMonoid.{u2} S (CommRing.toRing.{u2} S _inst_4)) S M (AddCommGroup.toAddCommMonoid.{u2} S (NonUnitalNonAssocRing.toAddCommGroup.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_4))))) _inst_1 (Algebra.toModule.{u3, u2} R S (CommRing.toCommSemiring.{u3} R _inst_3) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_4)) _inst_5) _inst_6 (Module.toDistribMulAction.{u2, u2} S S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_4)) (AddCommGroup.toAddCommMonoid.{u2} S (NonUnitalNonAssocRing.toAddCommGroup.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_4))))) (Semiring.toModule.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_4)))) (Algebra.to_smulCommClass.{u3, u2} R S (CommRing.toCommSemiring.{u3} R _inst_3) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_4)) _inst_5) R (Ring.toMonoid.{u3} R (CommRing.toRing.{u3} R _inst_3)) (Module.toDistribMulAction.{u3, u2} R S (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} S (NonUnitalNonAssocRing.toAddCommGroup.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_4))))) (Algebra.toModule.{u3, u2} R S (CommRing.toCommSemiring.{u3} R _inst_3) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_4)) _inst_5)) (smulCommClass_self.{u3, u2} R S (CommRing.toCommMonoid.{u3} R _inst_3) (MulActionWithZero.toMulAction.{u3, u2} R S (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_3))) (AddZeroClass.toHasZero.{u2} S (AddMonoid.toAddZeroClass.{u2} S (AddCommMonoid.toAddMonoid.{u2} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_4)))))))) (Module.toMulActionWithZero.{u3, u2} R S (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_4))))) (Algebra.toModule.{u3, u2} R S (CommRing.toCommSemiring.{u3} R _inst_3) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_4)) _inst_5)))) (SMulZeroClass.toHasSmul.{u3, u2} R S (AddZeroClass.toHasZero.{u2} S (AddMonoid.toAddZeroClass.{u2} S (AddCommMonoid.toAddMonoid.{u2} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_4)))))))) (SMulWithZero.toSmulZeroClass.{u3, u2} R S (MulZeroClass.toHasZero.{u3} R (MulZeroOneClass.toMulZeroClass.{u3} R (MonoidWithZero.toMulZeroOneClass.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))))) (AddZeroClass.toHasZero.{u2} S (AddMonoid.toAddZeroClass.{u2} S (AddCommMonoid.toAddMonoid.{u2} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_4)))))))) (MulActionWithZero.toSMulWithZero.{u3, u2} R S (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3))) (AddZeroClass.toHasZero.{u2} S (AddMonoid.toAddZeroClass.{u2} S (AddCommMonoid.toAddMonoid.{u2} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_4)))))))) (Module.toMulActionWithZero.{u3, u2} R S (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_4))))) (Algebra.toModule.{u3, u2} R S (CommRing.toCommSemiring.{u3} R _inst_3) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_4)) _inst_5))))) (IsScalarTower.right.{u3, u2} R S (CommRing.toCommSemiring.{u3} R _inst_3) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_4)) _inst_5)) (coeFn.{max (succ u2) (succ (max u2 u1)), max (succ u2) (succ (max u2 u1))} (LinearMap.{u3, u3, u2, max u2 u1} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) S (LinearMap.{u3, u3, u1, max u2 u1} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) M (TensorProduct.{u3, u2, u1} R (CommRing.toCommSemiring.{u3} R _inst_3) S M (AddCommGroup.toAddCommMonoid.{u2} S (NonUnitalNonAssocRing.toAddCommGroup.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_4))))) _inst_1 (Algebra.toModule.{u3, u2} R S (CommRing.toCommSemiring.{u3} R _inst_3) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_4)) _inst_5) _inst_6) _inst_1 (TensorProduct.addCommMonoid.{u3, u2, u1} R (CommRing.toCommSemiring.{u3} R _inst_3) S M (AddCommGroup.toAddCommMonoid.{u2} S (NonUnitalNonAssocRing.toAddCommGroup.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_4))))) _inst_1 (Algebra.toModule.{u3, u2} R S (CommRing.toCommSemiring.{u3} R _inst_3) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_4)) _inst_5) _inst_6) _inst_6 (TensorProduct.module.{u3, u2, u1} R (CommRing.toCommSemiring.{u3} R _inst_3) S M (AddCommGroup.toAddCommMonoid.{u2} S (NonUnitalNonAssocRing.toAddCommGroup.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_4))))) _inst_1 (Algebra.toModule.{u3, u2} R S (CommRing.toCommSemiring.{u3} R _inst_3) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_4)) _inst_5) _inst_6)) (AddCommGroup.toAddCommMonoid.{u2} S (NonUnitalNonAssocRing.toAddCommGroup.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_4))))) (LinearMap.addCommMonoid.{u3, u3, u1, max u2 u1} R R M (TensorProduct.{u3, u2, u1} R (CommRing.toCommSemiring.{u3} R _inst_3) S M (AddCommGroup.toAddCommMonoid.{u2} S (NonUnitalNonAssocRing.toAddCommGroup.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_4))))) _inst_1 (Algebra.toModule.{u3, u2} R S (CommRing.toCommSemiring.{u3} R _inst_3) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_4)) _inst_5) _inst_6) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) _inst_1 (TensorProduct.addCommMonoid.{u3, u2, u1} R (CommRing.toCommSemiring.{u3} R _inst_3) S M (AddCommGroup.toAddCommMonoid.{u2} S (NonUnitalNonAssocRing.toAddCommGroup.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_4))))) _inst_1 (Algebra.toModule.{u3, u2} R S (CommRing.toCommSemiring.{u3} R _inst_3) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_4)) _inst_5) _inst_6) _inst_6 (TensorProduct.module.{u3, u2, u1} R (CommRing.toCommSemiring.{u3} R _inst_3) S M (AddCommGroup.toAddCommMonoid.{u2} S (NonUnitalNonAssocRing.toAddCommGroup.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_4))))) _inst_1 (Algebra.toModule.{u3, u2} R S (CommRing.toCommSemiring.{u3} R _inst_3) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_4)) _inst_5) _inst_6) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3))))) (Algebra.toModule.{u3, u2} R S (CommRing.toCommSemiring.{u3} R _inst_3) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_4)) _inst_5) (LinearMap.module.{u3, u3, u3, u1, max u2 u1} R R R M (TensorProduct.{u3, u2, u1} R (CommRing.toCommSemiring.{u3} R _inst_3) S M (AddCommGroup.toAddCommMonoid.{u2} S (NonUnitalNonAssocRing.toAddCommGroup.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_4))))) _inst_1 (Algebra.toModule.{u3, u2} R S (CommRing.toCommSemiring.{u3} R _inst_3) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_4)) _inst_5) _inst_6) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) _inst_1 (TensorProduct.addCommMonoid.{u3, u2, u1} R (CommRing.toCommSemiring.{u3} R _inst_3) S M (AddCommGroup.toAddCommMonoid.{u2} S (NonUnitalNonAssocRing.toAddCommGroup.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_4))))) _inst_1 (Algebra.toModule.{u3, u2} R S (CommRing.toCommSemiring.{u3} R _inst_3) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_4)) _inst_5) _inst_6) _inst_6 (TensorProduct.module.{u3, u2, u1} R (CommRing.toCommSemiring.{u3} R _inst_3) S M (AddCommGroup.toAddCommMonoid.{u2} S (NonUnitalNonAssocRing.toAddCommGroup.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_4))))) _inst_1 (Algebra.toModule.{u3, u2} R S (CommRing.toCommSemiring.{u3} R _inst_3) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_4)) _inst_5) _inst_6) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (TensorProduct.module.{u3, u2, u1} R (CommRing.toCommSemiring.{u3} R _inst_3) S M (AddCommGroup.toAddCommMonoid.{u2} S (NonUnitalNonAssocRing.toAddCommGroup.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_4))))) _inst_1 (Algebra.toModule.{u3, u2} R S (CommRing.toCommSemiring.{u3} R _inst_3) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_4)) _inst_5) _inst_6) (TensorProduct.mk._proof_1.{u3, u2, u1} R (CommRing.toCommSemiring.{u3} R _inst_3) S M (AddCommGroup.toAddCommMonoid.{u2} S (NonUnitalNonAssocRing.toAddCommGroup.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_4))))) _inst_1 (Algebra.toModule.{u3, u2} R S (CommRing.toCommSemiring.{u3} R _inst_3) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_4)) _inst_5) _inst_6))) (fun (_x : LinearMap.{u3, u3, u2, max u2 u1} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) S (LinearMap.{u3, u3, u1, max u2 u1} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) M (TensorProduct.{u3, u2, u1} R (CommRing.toCommSemiring.{u3} R _inst_3) S M (AddCommGroup.toAddCommMonoid.{u2} S (NonUnitalNonAssocRing.toAddCommGroup.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_4))))) _inst_1 (Algebra.toModule.{u3, u2} R S (CommRing.toCommSemiring.{u3} R _inst_3) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_4)) _inst_5) _inst_6) _inst_1 (TensorProduct.addCommMonoid.{u3, u2, u1} R (CommRing.toCommSemiring.{u3} R _inst_3) S M (AddCommGroup.toAddCommMonoid.{u2} S (NonUnitalNonAssocRing.toAddCommGroup.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_4))))) _inst_1 (Algebra.toModule.{u3, u2} R S (CommRing.toCommSemiring.{u3} R _inst_3) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_4)) _inst_5) _inst_6) _inst_6 (TensorProduct.module.{u3, u2, u1} R (CommRing.toCommSemiring.{u3} R _inst_3) S M (AddCommGroup.toAddCommMonoid.{u2} S (NonUnitalNonAssocRing.toAddCommGroup.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_4))))) _inst_1 (Algebra.toModule.{u3, u2} R S (CommRing.toCommSemiring.{u3} R _inst_3) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_4)) _inst_5) _inst_6)) (AddCommGroup.toAddCommMonoid.{u2} S (NonUnitalNonAssocRing.toAddCommGroup.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_4))))) (LinearMap.addCommMonoid.{u3, u3, u1, max u2 u1} R R M (TensorProduct.{u3, u2, u1} R (CommRing.toCommSemiring.{u3} R _inst_3) S M (AddCommGroup.toAddCommMonoid.{u2} S (NonUnitalNonAssocRing.toAddCommGroup.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_4))))) _inst_1 (Algebra.toModule.{u3, u2} R S (CommRing.toCommSemiring.{u3} R _inst_3) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_4)) _inst_5) _inst_6) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) _inst_1 (TensorProduct.addCommMonoid.{u3, u2, u1} R (CommRing.toCommSemiring.{u3} R _inst_3) S M (AddCommGroup.toAddCommMonoid.{u2} S (NonUnitalNonAssocRing.toAddCommGroup.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_4))))) _inst_1 (Algebra.toModule.{u3, u2} R S (CommRing.toCommSemiring.{u3} R _inst_3) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_4)) _inst_5) _inst_6) _inst_6 (TensorProduct.module.{u3, u2, u1} R (CommRing.toCommSemiring.{u3} R _inst_3) S M (AddCommGroup.toAddCommMonoid.{u2} S (NonUnitalNonAssocRing.toAddCommGroup.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_4))))) _inst_1 (Algebra.toModule.{u3, u2} R S (CommRing.toCommSemiring.{u3} R _inst_3) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_4)) _inst_5) _inst_6) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3))))) (Algebra.toModule.{u3, u2} R S (CommRing.toCommSemiring.{u3} R _inst_3) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_4)) _inst_5) (LinearMap.module.{u3, u3, u3, u1, max u2 u1} R R R M (TensorProduct.{u3, u2, u1} R (CommRing.toCommSemiring.{u3} R _inst_3) S M (AddCommGroup.toAddCommMonoid.{u2} S (NonUnitalNonAssocRing.toAddCommGroup.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_4))))) _inst_1 (Algebra.toModule.{u3, u2} R S (CommRing.toCommSemiring.{u3} R _inst_3) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_4)) _inst_5) _inst_6) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) _inst_1 (TensorProduct.addCommMonoid.{u3, u2, u1} R (CommRing.toCommSemiring.{u3} R _inst_3) S M (AddCommGroup.toAddCommMonoid.{u2} S (NonUnitalNonAssocRing.toAddCommGroup.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_4))))) _inst_1 (Algebra.toModule.{u3, u2} R S (CommRing.toCommSemiring.{u3} R _inst_3) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_4)) _inst_5) _inst_6) _inst_6 (TensorProduct.module.{u3, u2, u1} R (CommRing.toCommSemiring.{u3} R _inst_3) S M (AddCommGroup.toAddCommMonoid.{u2} S (NonUnitalNonAssocRing.toAddCommGroup.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_4))))) _inst_1 (Algebra.toModule.{u3, u2} R S (CommRing.toCommSemiring.{u3} R _inst_3) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_4)) _inst_5) _inst_6) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (TensorProduct.module.{u3, u2, u1} R (CommRing.toCommSemiring.{u3} R _inst_3) S M (AddCommGroup.toAddCommMonoid.{u2} S (NonUnitalNonAssocRing.toAddCommGroup.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_4))))) _inst_1 (Algebra.toModule.{u3, u2} R S (CommRing.toCommSemiring.{u3} R _inst_3) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_4)) _inst_5) _inst_6) (TensorProduct.mk._proof_1.{u3, u2, u1} R (CommRing.toCommSemiring.{u3} R _inst_3) S M (AddCommGroup.toAddCommMonoid.{u2} S (NonUnitalNonAssocRing.toAddCommGroup.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_4))))) _inst_1 (Algebra.toModule.{u3, u2} R S (CommRing.toCommSemiring.{u3} R _inst_3) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_4)) _inst_5) _inst_6))) => S -> (LinearMap.{u3, u3, u1, max u2 u1} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) M (TensorProduct.{u3, u2, u1} R (CommRing.toCommSemiring.{u3} R _inst_3) S M (AddCommGroup.toAddCommMonoid.{u2} S (NonUnitalNonAssocRing.toAddCommGroup.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_4))))) _inst_1 (Algebra.toModule.{u3, u2} R S (CommRing.toCommSemiring.{u3} R _inst_3) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_4)) _inst_5) _inst_6) _inst_1 (TensorProduct.addCommMonoid.{u3, u2, u1} R (CommRing.toCommSemiring.{u3} R _inst_3) S M (AddCommGroup.toAddCommMonoid.{u2} S (NonUnitalNonAssocRing.toAddCommGroup.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_4))))) _inst_1 (Algebra.toModule.{u3, u2} R S (CommRing.toCommSemiring.{u3} R _inst_3) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_4)) _inst_5) _inst_6) _inst_6 (TensorProduct.module.{u3, u2, u1} R (CommRing.toCommSemiring.{u3} R _inst_3) S M (AddCommGroup.toAddCommMonoid.{u2} S (NonUnitalNonAssocRing.toAddCommGroup.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_4))))) _inst_1 (Algebra.toModule.{u3, u2} R S (CommRing.toCommSemiring.{u3} R _inst_3) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_4)) _inst_5) _inst_6))) (LinearMap.hasCoeToFun.{u3, u3, u2, max u2 u1} R R S (LinearMap.{u3, u3, u1, max u2 u1} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) M (TensorProduct.{u3, u2, u1} R (CommRing.toCommSemiring.{u3} R _inst_3) S M (AddCommGroup.toAddCommMonoid.{u2} S (NonUnitalNonAssocRing.toAddCommGroup.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_4))))) _inst_1 (Algebra.toModule.{u3, u2} R S (CommRing.toCommSemiring.{u3} R _inst_3) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_4)) _inst_5) _inst_6) _inst_1 (TensorProduct.addCommMonoid.{u3, u2, u1} R (CommRing.toCommSemiring.{u3} R _inst_3) S M (AddCommGroup.toAddCommMonoid.{u2} S (NonUnitalNonAssocRing.toAddCommGroup.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_4))))) _inst_1 (Algebra.toModule.{u3, u2} R S (CommRing.toCommSemiring.{u3} R _inst_3) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_4)) _inst_5) _inst_6) _inst_6 (TensorProduct.module.{u3, u2, u1} R (CommRing.toCommSemiring.{u3} R _inst_3) S M (AddCommGroup.toAddCommMonoid.{u2} S (NonUnitalNonAssocRing.toAddCommGroup.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_4))))) _inst_1 (Algebra.toModule.{u3, u2} R S (CommRing.toCommSemiring.{u3} R _inst_3) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_4)) _inst_5) _inst_6)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} S (NonUnitalNonAssocRing.toAddCommGroup.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_4))))) (LinearMap.addCommMonoid.{u3, u3, u1, max u2 u1} R R M (TensorProduct.{u3, u2, u1} R (CommRing.toCommSemiring.{u3} R _inst_3) S M (AddCommGroup.toAddCommMonoid.{u2} S (NonUnitalNonAssocRing.toAddCommGroup.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_4))))) _inst_1 (Algebra.toModule.{u3, u2} R S (CommRing.toCommSemiring.{u3} R _inst_3) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_4)) _inst_5) _inst_6) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) _inst_1 (TensorProduct.addCommMonoid.{u3, u2, u1} R (CommRing.toCommSemiring.{u3} R _inst_3) S M (AddCommGroup.toAddCommMonoid.{u2} S (NonUnitalNonAssocRing.toAddCommGroup.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_4))))) _inst_1 (Algebra.toModule.{u3, u2} R S (CommRing.toCommSemiring.{u3} R _inst_3) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_4)) _inst_5) _inst_6) _inst_6 (TensorProduct.module.{u3, u2, u1} R (CommRing.toCommSemiring.{u3} R _inst_3) S M (AddCommGroup.toAddCommMonoid.{u2} S (NonUnitalNonAssocRing.toAddCommGroup.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_4))))) _inst_1 (Algebra.toModule.{u3, u2} R S (CommRing.toCommSemiring.{u3} R _inst_3) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_4)) _inst_5) _inst_6) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3))))) (Algebra.toModule.{u3, u2} R S (CommRing.toCommSemiring.{u3} R _inst_3) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_4)) _inst_5) (LinearMap.module.{u3, u3, u3, u1, max u2 u1} R R R M (TensorProduct.{u3, u2, u1} R (CommRing.toCommSemiring.{u3} R _inst_3) S M (AddCommGroup.toAddCommMonoid.{u2} S (NonUnitalNonAssocRing.toAddCommGroup.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_4))))) _inst_1 (Algebra.toModule.{u3, u2} R S (CommRing.toCommSemiring.{u3} R _inst_3) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_4)) _inst_5) _inst_6) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) _inst_1 (TensorProduct.addCommMonoid.{u3, u2, u1} R (CommRing.toCommSemiring.{u3} R _inst_3) S M (AddCommGroup.toAddCommMonoid.{u2} S (NonUnitalNonAssocRing.toAddCommGroup.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_4))))) _inst_1 (Algebra.toModule.{u3, u2} R S (CommRing.toCommSemiring.{u3} R _inst_3) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_4)) _inst_5) _inst_6) _inst_6 (TensorProduct.module.{u3, u2, u1} R (CommRing.toCommSemiring.{u3} R _inst_3) S M (AddCommGroup.toAddCommMonoid.{u2} S (NonUnitalNonAssocRing.toAddCommGroup.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_4))))) _inst_1 (Algebra.toModule.{u3, u2} R S (CommRing.toCommSemiring.{u3} R _inst_3) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_4)) _inst_5) _inst_6) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (TensorProduct.module.{u3, u2, u1} R (CommRing.toCommSemiring.{u3} R _inst_3) S M (AddCommGroup.toAddCommMonoid.{u2} S (NonUnitalNonAssocRing.toAddCommGroup.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_4))))) _inst_1 (Algebra.toModule.{u3, u2} R S (CommRing.toCommSemiring.{u3} R _inst_3) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_4)) _inst_5) _inst_6) (TensorProduct.mk._proof_1.{u3, u2, u1} R (CommRing.toCommSemiring.{u3} R _inst_3) S M (AddCommGroup.toAddCommMonoid.{u2} S (NonUnitalNonAssocRing.toAddCommGroup.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_4))))) _inst_1 (Algebra.toModule.{u3, u2} R S (CommRing.toCommSemiring.{u3} R _inst_3) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_4)) _inst_5) _inst_6)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3))))) (TensorProduct.mk.{u3, u2, u1} R (CommRing.toCommSemiring.{u3} R _inst_3) S M (AddCommGroup.toAddCommMonoid.{u2} S (NonUnitalNonAssocRing.toAddCommGroup.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_4))))) _inst_1 (Algebra.toModule.{u3, u2} R S (CommRing.toCommSemiring.{u3} R _inst_3) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_4)) _inst_5) _inst_6) (OfNat.ofNat.{u2} S 1 (OfNat.mk.{u2} S 1 (One.one.{u2} S (AddMonoidWithOne.toOne.{u2} S (AddGroupWithOne.toAddMonoidWithOne.{u2} S (AddCommGroupWithOne.toAddGroupWithOne.{u2} S (Ring.toAddCommGroupWithOne.{u2} S (CommRing.toRing.{u2} S _inst_4)))))))))
-but is expected to have type
-  forall (R : Type.{u1}) (M : Type.{u2}) (S : Type.{u3}) [_inst_1 : AddCommMonoid.{u2} M] [_inst_3 : CommRing.{u1} R] [_inst_4 : CommRing.{u3} S] [_inst_5 : Algebra.{u1, u3} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_4))] [_inst_6 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) _inst_1], IsBaseChange.{u2, max u2 u3, u3, u1} R M (TensorProduct.{u1, u3, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u3} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_4)) _inst_5) _inst_6) S _inst_1 (TensorProduct.addCommMonoid.{u1, u3, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u3} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_4)) _inst_5) _inst_6) _inst_3 _inst_4 _inst_5 _inst_6 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u3, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u3} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_4)) _inst_5) _inst_6) (TensorProduct.leftModule.{u1, u3, u3, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_4)) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u3} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_4)) _inst_5) _inst_6 (Semiring.toModule.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_4))) (Algebra.to_smulCommClass.{u1, u3} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_4)) _inst_5)) (TensorProduct.isScalarTower_left.{u1, u3, u3, u2, u1} R (CommRing.toCommSemiring.{u1} R _inst_3) S (MonoidWithZero.toMonoid.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_4)))) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u3} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_4)) _inst_5) _inst_6 (Module.toDistribMulAction.{u3, u3} S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_4)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_4))))) (Semiring.toModule.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_4)))) (Algebra.to_smulCommClass.{u1, u3} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_4)) _inst_5) R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)))) (Module.toDistribMulAction.{u1, u3} R S (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_4))))) (Algebra.toModule.{u1, u3} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_4)) _inst_5)) (smulCommClass_self.{u1, u3} R S (CommRing.toCommMonoid.{u1} R _inst_3) (MulActionWithZero.toMulAction.{u1, u3} R S (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3))) (CommMonoidWithZero.toZero.{u3} S (CommSemiring.toCommMonoidWithZero.{u3} S (CommRing.toCommSemiring.{u3} S _inst_4))) (Module.toMulActionWithZero.{u1, u3} R S (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_4))))) (Algebra.toModule.{u1, u3} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_4)) _inst_5)))) (Algebra.toSMul.{u1, u3} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_4)) _inst_5) (IsScalarTower.right.{u1, u3} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_4)) _inst_5)) (FunLike.coe.{max (succ u2) (succ u3), succ u3, max (succ u2) (succ u3)} (LinearMap.{u1, u1, u3, max u2 u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)))) S (LinearMap.{u1, u1, u2, max u2 u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)))) M (TensorProduct.{u1, u3, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u3} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_4)) _inst_5) _inst_6) _inst_1 (TensorProduct.addCommMonoid.{u1, u3, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u3} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_4)) _inst_5) _inst_6) _inst_6 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u3, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u3} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_4)) _inst_5) _inst_6)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_4))))) (LinearMap.addCommMonoid.{u1, u1, u2, max u3 u2} R R M (TensorProduct.{u1, u3, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u3} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_4)) _inst_5) _inst_6) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) _inst_1 (TensorProduct.addCommMonoid.{u1, u3, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u3} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_4)) _inst_5) _inst_6) _inst_6 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u3, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u3} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_4)) _inst_5) _inst_6) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3))))) (Algebra.toModule.{u1, u3} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_4)) _inst_5) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, max u3 u2} R R R M (TensorProduct.{u1, u3, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u3} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_4)) _inst_5) _inst_6) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) _inst_1 (TensorProduct.addCommMonoid.{u1, u3, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u3} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_4)) _inst_5) _inst_6) _inst_6 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u3, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u3} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_4)) _inst_5) _inst_6) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u3, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u3} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_4)) _inst_5) _inst_6) (smulCommClass_self.{u1, max u3 u2} R (TensorProduct.{u1, u3, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u3} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_4)) _inst_5) _inst_6) (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (MulActionWithZero.toMulAction.{u1, max u3 u2} R (TensorProduct.{u1, u3, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u3} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_4)) _inst_5) _inst_6) (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3))) (AddMonoid.toZero.{max u3 u2} (TensorProduct.{u1, u3, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u3} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_4)) _inst_5) _inst_6) (AddCommMonoid.toAddMonoid.{max u3 u2} (TensorProduct.{u1, u3, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u3} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_4)) _inst_5) _inst_6) (TensorProduct.addCommMonoid.{u1, u3, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u3} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_4)) _inst_5) _inst_6))) (Module.toMulActionWithZero.{u1, max u3 u2} R (TensorProduct.{u1, u3, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u3} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_4)) _inst_5) _inst_6) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (TensorProduct.addCommMonoid.{u1, u3, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u3} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_4)) _inst_5) _inst_6) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u3, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u3} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_4)) _inst_5) _inst_6)))))) S (fun (_x : S) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : S) => LinearMap.{u1, u1, u2, max u2 u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)))) M (TensorProduct.{u1, u3, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u3} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_4)) _inst_5) _inst_6) _inst_1 (TensorProduct.addCommMonoid.{u1, u3, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u3} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_4)) _inst_5) _inst_6) _inst_6 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u3, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u3} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_4)) _inst_5) _inst_6)) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u3, max u2 u3} R R S (LinearMap.{u1, u1, u2, max u2 u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)))) M (TensorProduct.{u1, u3, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u3} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_4)) _inst_5) _inst_6) _inst_1 (TensorProduct.addCommMonoid.{u1, u3, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u3} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_4)) _inst_5) _inst_6) _inst_6 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u3, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u3} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_4)) _inst_5) _inst_6)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_4))))) (LinearMap.addCommMonoid.{u1, u1, u2, max u3 u2} R R M (TensorProduct.{u1, u3, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u3} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_4)) _inst_5) _inst_6) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) _inst_1 (TensorProduct.addCommMonoid.{u1, u3, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u3} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_4)) _inst_5) _inst_6) _inst_6 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u3, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u3} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_4)) _inst_5) _inst_6) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3))))) (Algebra.toModule.{u1, u3} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_4)) _inst_5) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, max u3 u2} R R R M (TensorProduct.{u1, u3, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u3} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_4)) _inst_5) _inst_6) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) _inst_1 (TensorProduct.addCommMonoid.{u1, u3, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u3} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_4)) _inst_5) _inst_6) _inst_6 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u3, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u3} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_4)) _inst_5) _inst_6) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u3, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u3} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_4)) _inst_5) _inst_6) (smulCommClass_self.{u1, max u3 u2} R (TensorProduct.{u1, u3, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u3} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_4)) _inst_5) _inst_6) (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (MulActionWithZero.toMulAction.{u1, max u3 u2} R (TensorProduct.{u1, u3, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u3} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_4)) _inst_5) _inst_6) (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3))) (AddMonoid.toZero.{max u3 u2} (TensorProduct.{u1, u3, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u3} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_4)) _inst_5) _inst_6) (AddCommMonoid.toAddMonoid.{max u3 u2} (TensorProduct.{u1, u3, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u3} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_4)) _inst_5) _inst_6) (TensorProduct.addCommMonoid.{u1, u3, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u3} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_4)) _inst_5) _inst_6))) (Module.toMulActionWithZero.{u1, max u3 u2} R (TensorProduct.{u1, u3, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u3} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_4)) _inst_5) _inst_6) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (TensorProduct.addCommMonoid.{u1, u3, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u3} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_4)) _inst_5) _inst_6) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u3, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u3} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_4)) _inst_5) _inst_6))))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3))))) (TensorProduct.mk.{u1, u3, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u3} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_4)) _inst_5) _inst_6) (OfNat.ofNat.{u3} S 1 (One.toOfNat1.{u3} S (Semiring.toOne.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_4))))))
+<too large>
 Case conversion may be inaccurate. Consider using '#align tensor_product.is_base_change TensorProduct.isBaseChangeₓ'. -/
 theorem TensorProduct.isBaseChange : IsBaseChange S (TensorProduct.mk R S M 1) :=
   by
@@ -348,20 +318,14 @@ noncomputable def IsBaseChange.equiv : S ⊗[R] M ≃ₗ[S] N :=
 -/
 
 /- warning: is_base_change.equiv_tmul -> IsBaseChange.equiv_tmul is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u4}} {M : Type.{u1}} {N : Type.{u2}} {S : Type.{u3}} [_inst_1 : AddCommMonoid.{u1} M] [_inst_2 : AddCommMonoid.{u2} N] [_inst_3 : CommRing.{u4} R] [_inst_4 : CommRing.{u3} S] [_inst_5 : Algebra.{u4, u3} R S (CommRing.toCommSemiring.{u4} R _inst_3) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4))] [_inst_6 : Module.{u4, u1} R M (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) _inst_1] [_inst_7 : Module.{u4, u2} R N (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) _inst_2] [_inst_8 : Module.{u3, u2} S N (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) _inst_2] [_inst_9 : IsScalarTower.{u4, u3, u2} R S N (SMulZeroClass.toHasSmul.{u4, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))))))) (SMulWithZero.toSmulZeroClass.{u4, u3} R S (MulZeroClass.toHasZero.{u4} R (MulZeroOneClass.toMulZeroClass.{u4} R (MonoidWithZero.toMulZeroOneClass.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))))))) (MulActionWithZero.toSMulWithZero.{u4, u3} R S (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))))))) (Module.toMulActionWithZero.{u4, u3} R S (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4))))) (Algebra.toModule.{u4, u3} R S (CommRing.toCommSemiring.{u4} R _inst_3) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) _inst_5))))) (SMulZeroClass.toHasSmul.{u3, u2} S N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_2))) (SMulWithZero.toSmulZeroClass.{u3, u2} S N (MulZeroClass.toHasZero.{u3} S (MulZeroOneClass.toMulZeroClass.{u3} S (MonoidWithZero.toMulZeroOneClass.{u3} S (Semiring.toMonoidWithZero.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))))) (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_2))) (MulActionWithZero.toSMulWithZero.{u3, u2} S N (Semiring.toMonoidWithZero.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4))) (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_2))) (Module.toMulActionWithZero.{u3, u2} S N (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) _inst_2 _inst_8)))) (SMulZeroClass.toHasSmul.{u4, u2} R N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_2))) (SMulWithZero.toSmulZeroClass.{u4, u2} R N (MulZeroClass.toHasZero.{u4} R (MulZeroOneClass.toMulZeroClass.{u4} R (MonoidWithZero.toMulZeroOneClass.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)))))) (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_2))) (MulActionWithZero.toSMulWithZero.{u4, u2} R N (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3))) (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_2))) (Module.toMulActionWithZero.{u4, u2} R N (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) _inst_2 _inst_7))))] {f : LinearMap.{u4, u4, u1, u2} R R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)))) M N _inst_1 _inst_2 _inst_6 _inst_7} (h : IsBaseChange.{u1, u2, u3, u4} R M N S _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 f) (s : S) (m : M), Eq.{succ u2} N (coeFn.{max (succ (max u3 u1)) (succ u2), max (succ (max u3 u1)) (succ u2)} (LinearEquiv.{u3, u3, max u3 u1, u2} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))) (IsBaseChange.equiv._proof_1.{u3} S _inst_4) (IsBaseChange.equiv._proof_2.{u3} S _inst_4) (TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_3) S M (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_4))))) _inst_1 (Algebra.toModule.{u4, u3} R S (CommRing.toCommSemiring.{u4} R _inst_3) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) _inst_5) _inst_6) N (TensorProduct.addCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_3) S M (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_4))))) _inst_1 (Algebra.toModule.{u4, u3} R S (CommRing.toCommSemiring.{u4} R _inst_3) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) _inst_5) _inst_6) _inst_2 (TensorProduct.leftModule.{u4, u3, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_3) S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) S M (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_4))))) _inst_1 (Algebra.toModule.{u4, u3} R S (CommRing.toCommSemiring.{u4} R _inst_3) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) _inst_5) _inst_6 (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4))) (IsBaseChange.equiv._proof_3.{u4, u3} R S _inst_3 _inst_4 _inst_5)) _inst_8) (fun (_x : LinearEquiv.{u3, u3, max u3 u1, u2} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))) (IsBaseChange.equiv._proof_1.{u3} S _inst_4) (IsBaseChange.equiv._proof_2.{u3} S _inst_4) (TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_3) S M (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_4))))) _inst_1 (Algebra.toModule.{u4, u3} R S (CommRing.toCommSemiring.{u4} R _inst_3) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) _inst_5) _inst_6) N (TensorProduct.addCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_3) S M (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_4))))) _inst_1 (Algebra.toModule.{u4, u3} R S (CommRing.toCommSemiring.{u4} R _inst_3) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) _inst_5) _inst_6) _inst_2 (TensorProduct.leftModule.{u4, u3, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_3) S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) S M (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_4))))) _inst_1 (Algebra.toModule.{u4, u3} R S (CommRing.toCommSemiring.{u4} R _inst_3) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) _inst_5) _inst_6 (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4))) (IsBaseChange.equiv._proof_3.{u4, u3} R S _inst_3 _inst_4 _inst_5)) _inst_8) => (TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_3) S M (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_4))))) _inst_1 (Algebra.toModule.{u4, u3} R S (CommRing.toCommSemiring.{u4} R _inst_3) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) _inst_5) _inst_6) -> N) (LinearEquiv.hasCoeToFun.{u3, u3, max u3 u1, u2} S S (TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_3) S M (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_4))))) _inst_1 (Algebra.toModule.{u4, u3} R S (CommRing.toCommSemiring.{u4} R _inst_3) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) _inst_5) _inst_6) N (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) (TensorProduct.addCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_3) S M (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_4))))) _inst_1 (Algebra.toModule.{u4, u3} R S (CommRing.toCommSemiring.{u4} R _inst_3) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) _inst_5) _inst_6) _inst_2 (TensorProduct.leftModule.{u4, u3, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_3) S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) S M (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_4))))) _inst_1 (Algebra.toModule.{u4, u3} R S (CommRing.toCommSemiring.{u4} R _inst_3) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) _inst_5) _inst_6 (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4))) (IsBaseChange.equiv._proof_3.{u4, u3} R S _inst_3 _inst_4 _inst_5)) _inst_8 (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))) (IsBaseChange.equiv._proof_1.{u3} S _inst_4) (IsBaseChange.equiv._proof_2.{u3} S _inst_4)) (IsBaseChange.equiv.{u1, u2, u3, u4} R M N S _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 f h) (TensorProduct.tmul.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_3) S M (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_4))))) _inst_1 (Algebra.toModule.{u4, u3} R S (CommRing.toCommSemiring.{u4} R _inst_3) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) _inst_5) _inst_6 s m)) (SMul.smul.{u3, u2} S N (SMulZeroClass.toHasSmul.{u3, u2} S N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_2))) (SMulWithZero.toSmulZeroClass.{u3, u2} S N (MulZeroClass.toHasZero.{u3} S (MulZeroOneClass.toMulZeroClass.{u3} S (MonoidWithZero.toMulZeroOneClass.{u3} S (Semiring.toMonoidWithZero.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))))) (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_2))) (MulActionWithZero.toSMulWithZero.{u3, u2} S N (Semiring.toMonoidWithZero.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4))) (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_2))) (Module.toMulActionWithZero.{u3, u2} S N (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) _inst_2 _inst_8)))) s (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (LinearMap.{u4, u4, u1, u2} R R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)))) M N _inst_1 _inst_2 _inst_6 _inst_7) (fun (_x : LinearMap.{u4, u4, u1, u2} R R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)))) M N _inst_1 _inst_2 _inst_6 _inst_7) => M -> N) (LinearMap.hasCoeToFun.{u4, u4, u1, u2} R R M N (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) _inst_1 _inst_2 _inst_6 _inst_7 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3))))) f m))
-but is expected to have type
-  forall {R : Type.{u1}} {M : Type.{u2}} {N : Type.{u3}} {S : Type.{u4}} [_inst_1 : AddCommMonoid.{u2} M] [_inst_2 : AddCommMonoid.{u3} N] [_inst_3 : CommRing.{u1} R] [_inst_4 : CommRing.{u4} S] [_inst_5 : Algebra.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4))] [_inst_6 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) _inst_1] [_inst_7 : Module.{u1, u3} R N (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) _inst_2] [_inst_8 : Module.{u4, u3} S N (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_2] [_inst_9 : IsScalarTower.{u1, u4, u3} R S N (Algebra.toSMul.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) (SMulZeroClass.toSMul.{u4, u3} S N (AddMonoid.toZero.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_2)) (SMulWithZero.toSMulZeroClass.{u4, u3} S N (CommMonoidWithZero.toZero.{u4} S (CommSemiring.toCommMonoidWithZero.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4))) (AddMonoid.toZero.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_2)) (MulActionWithZero.toSMulWithZero.{u4, u3} S N (Semiring.toMonoidWithZero.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4))) (AddMonoid.toZero.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_2)) (Module.toMulActionWithZero.{u4, u3} S N (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_2 _inst_8)))) (SMulZeroClass.toSMul.{u1, u3} R N (AddMonoid.toZero.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u3} R N (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3))) (AddMonoid.toZero.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u3} R N (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3))) (AddMonoid.toZero.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_2)) (Module.toMulActionWithZero.{u1, u3} R N (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) _inst_2 _inst_7))))] {f : LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)))) M N _inst_1 _inst_2 _inst_6 _inst_7} (h : IsBaseChange.{u2, u3, u4, u1} R M N S _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 f) (s : S) (m : M), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : TensorProduct.{u1, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6) => N) (TensorProduct.tmul.{u1, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6 s m)) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u4), max (succ u2) (succ u4), succ u3} (LinearEquiv.{u4, u4, max u2 u4, u3} S S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) (RingHom.id.{u4} S (Semiring.toNonAssocSemiring.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)))) (RingHom.id.{u4} S (Semiring.toNonAssocSemiring.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)))) (RingHomInvPair.ids.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4))) (RingHomInvPair.ids.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4))) (TensorProduct.{u1, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6) N (TensorProduct.addCommMonoid.{u1, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6) _inst_2 (TensorProduct.leftModule.{u1, u4, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6 (Semiring.toModule.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4))) (Algebra.to_smulCommClass.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5)) _inst_8) (TensorProduct.{u1, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6) (fun (_x : TensorProduct.{u1, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : TensorProduct.{u1, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6) => N) _x) (SMulHomClass.toFunLike.{max (max u2 u3) u4, u4, max u2 u4, u3} (LinearEquiv.{u4, u4, max u2 u4, u3} S S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) (RingHom.id.{u4} S (Semiring.toNonAssocSemiring.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)))) (RingHom.id.{u4} S (Semiring.toNonAssocSemiring.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)))) (RingHomInvPair.ids.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4))) (RingHomInvPair.ids.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4))) (TensorProduct.{u1, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6) N (TensorProduct.addCommMonoid.{u1, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6) _inst_2 (TensorProduct.leftModule.{u1, u4, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6 (Semiring.toModule.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4))) (Algebra.to_smulCommClass.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5)) _inst_8) S (TensorProduct.{u1, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6) N (SMulZeroClass.toSMul.{u4, max u2 u4} S (TensorProduct.{u1, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6) (AddMonoid.toZero.{max u2 u4} (TensorProduct.{u1, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6) (AddCommMonoid.toAddMonoid.{max u2 u4} (TensorProduct.{u1, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6) (TensorProduct.addCommMonoid.{u1, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6))) (DistribSMul.toSMulZeroClass.{u4, max u2 u4} S (TensorProduct.{u1, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6) (AddMonoid.toAddZeroClass.{max u2 u4} (TensorProduct.{u1, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6) (AddCommMonoid.toAddMonoid.{max u2 u4} (TensorProduct.{u1, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6) (TensorProduct.addCommMonoid.{u1, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6))) (DistribMulAction.toDistribSMul.{u4, max u2 u4} S (TensorProduct.{u1, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6) (MonoidWithZero.toMonoid.{u4} S (Semiring.toMonoidWithZero.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)))) (AddCommMonoid.toAddMonoid.{max u2 u4} (TensorProduct.{u1, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6) (TensorProduct.addCommMonoid.{u1, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6)) (Module.toDistribMulAction.{u4, max u2 u4} S (TensorProduct.{u1, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) (TensorProduct.addCommMonoid.{u1, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6) (TensorProduct.leftModule.{u1, u4, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6 (Semiring.toModule.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4))) (Algebra.to_smulCommClass.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5)))))) (SMulZeroClass.toSMul.{u4, u3} S N (AddMonoid.toZero.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_2)) (DistribSMul.toSMulZeroClass.{u4, u3} S N (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_2)) (DistribMulAction.toDistribSMul.{u4, u3} S N (MonoidWithZero.toMonoid.{u4} S (Semiring.toMonoidWithZero.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)))) (AddCommMonoid.toAddMonoid.{u3} N _inst_2) (Module.toDistribMulAction.{u4, u3} S N (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_2 _inst_8)))) (DistribMulActionHomClass.toSMulHomClass.{max (max u2 u3) u4, u4, max u2 u4, u3} (LinearEquiv.{u4, u4, max u2 u4, u3} S S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) (RingHom.id.{u4} S (Semiring.toNonAssocSemiring.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)))) (RingHom.id.{u4} S (Semiring.toNonAssocSemiring.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)))) (RingHomInvPair.ids.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4))) (RingHomInvPair.ids.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4))) (TensorProduct.{u1, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6) N (TensorProduct.addCommMonoid.{u1, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6) _inst_2 (TensorProduct.leftModule.{u1, u4, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6 (Semiring.toModule.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4))) (Algebra.to_smulCommClass.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5)) _inst_8) S (TensorProduct.{u1, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6) N (MonoidWithZero.toMonoid.{u4} S (Semiring.toMonoidWithZero.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)))) (AddCommMonoid.toAddMonoid.{max u2 u4} (TensorProduct.{u1, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6) (TensorProduct.addCommMonoid.{u1, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6)) (AddCommMonoid.toAddMonoid.{u3} N _inst_2) (Module.toDistribMulAction.{u4, max u2 u4} S (TensorProduct.{u1, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) (TensorProduct.addCommMonoid.{u1, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6) (TensorProduct.leftModule.{u1, u4, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6 (Semiring.toModule.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4))) (Algebra.to_smulCommClass.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5))) (Module.toDistribMulAction.{u4, u3} S N (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_2 _inst_8) (SemilinearMapClass.distribMulActionHomClass.{u4, max u2 u4, u3, max (max u2 u3) u4} S (TensorProduct.{u1, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6) N (LinearEquiv.{u4, u4, max u2 u4, u3} S S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) (RingHom.id.{u4} S (Semiring.toNonAssocSemiring.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)))) (RingHom.id.{u4} S (Semiring.toNonAssocSemiring.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)))) (RingHomInvPair.ids.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4))) (RingHomInvPair.ids.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4))) (TensorProduct.{u1, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6) N (TensorProduct.addCommMonoid.{u1, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6) _inst_2 (TensorProduct.leftModule.{u1, u4, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6 (Semiring.toModule.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4))) (Algebra.to_smulCommClass.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5)) _inst_8) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) (TensorProduct.addCommMonoid.{u1, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6) _inst_2 (TensorProduct.leftModule.{u1, u4, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6 (Semiring.toModule.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4))) (Algebra.to_smulCommClass.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5)) _inst_8 (SemilinearEquivClass.instSemilinearMapClass.{u4, u4, max u2 u4, u3, max (max u2 u3) u4} S S (TensorProduct.{u1, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6) N (LinearEquiv.{u4, u4, max u2 u4, u3} S S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) (RingHom.id.{u4} S (Semiring.toNonAssocSemiring.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)))) (RingHom.id.{u4} S (Semiring.toNonAssocSemiring.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)))) (RingHomInvPair.ids.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4))) (RingHomInvPair.ids.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4))) (TensorProduct.{u1, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6) N (TensorProduct.addCommMonoid.{u1, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6) _inst_2 (TensorProduct.leftModule.{u1, u4, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6 (Semiring.toModule.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4))) (Algebra.to_smulCommClass.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5)) _inst_8) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) (TensorProduct.addCommMonoid.{u1, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6) _inst_2 (TensorProduct.leftModule.{u1, u4, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6 (Semiring.toModule.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4))) (Algebra.to_smulCommClass.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5)) _inst_8 (RingHom.id.{u4} S (Semiring.toNonAssocSemiring.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)))) (RingHom.id.{u4} S (Semiring.toNonAssocSemiring.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)))) (RingHomInvPair.ids.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4))) (RingHomInvPair.ids.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u4, u4, max u2 u4, u3} S S (TensorProduct.{u1, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6) N (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) (TensorProduct.addCommMonoid.{u1, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6) _inst_2 (TensorProduct.leftModule.{u1, u4, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6 (Semiring.toModule.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4))) (Algebra.to_smulCommClass.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5)) _inst_8 (RingHom.id.{u4} S (Semiring.toNonAssocSemiring.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)))) (RingHom.id.{u4} S (Semiring.toNonAssocSemiring.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)))) (RingHomInvPair.ids.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4))) (RingHomInvPair.ids.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)))))))) (IsBaseChange.equiv.{u2, u3, u4, u1} R M N S _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 f h) (TensorProduct.tmul.{u1, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6 s m)) (HSMul.hSMul.{u4, u3, u3} S ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => N) m) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => N) m) (instHSMul.{u4, u3} S ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => N) m) (SMulZeroClass.toSMul.{u4, u3} S ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => N) m) (AddMonoid.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => N) m) (AddCommMonoid.toAddMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => N) m) _inst_2)) (SMulWithZero.toSMulZeroClass.{u4, u3} S ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => N) m) (CommMonoidWithZero.toZero.{u4} S (CommSemiring.toCommMonoidWithZero.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4))) (AddMonoid.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => N) m) (AddCommMonoid.toAddMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => N) m) _inst_2)) (MulActionWithZero.toSMulWithZero.{u4, u3} S ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => N) m) (Semiring.toMonoidWithZero.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4))) (AddMonoid.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => N) m) (AddCommMonoid.toAddMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => N) m) _inst_2)) (Module.toMulActionWithZero.{u4, u3} S ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => N) m) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_2 _inst_8))))) s (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)))) M N _inst_1 _inst_2 _inst_6 _inst_7) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => N) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u3} R R M N (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) _inst_1 _inst_2 _inst_6 _inst_7 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3))))) f m))
+<too large>
 Case conversion may be inaccurate. Consider using '#align is_base_change.equiv_tmul IsBaseChange.equiv_tmulₓ'. -/
 theorem IsBaseChange.equiv_tmul (s : S) (m : M) : h.Equiv (s ⊗ₜ m) = s • f m :=
   TensorProduct.lift.tmul s m
 #align is_base_change.equiv_tmul IsBaseChange.equiv_tmul
 
 /- warning: is_base_change.equiv_symm_apply -> IsBaseChange.equiv_symm_apply is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u4}} {M : Type.{u1}} {N : Type.{u2}} {S : Type.{u3}} [_inst_1 : AddCommMonoid.{u1} M] [_inst_2 : AddCommMonoid.{u2} N] [_inst_3 : CommRing.{u4} R] [_inst_4 : CommRing.{u3} S] [_inst_5 : Algebra.{u4, u3} R S (CommRing.toCommSemiring.{u4} R _inst_3) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4))] [_inst_6 : Module.{u4, u1} R M (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) _inst_1] [_inst_7 : Module.{u4, u2} R N (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) _inst_2] [_inst_8 : Module.{u3, u2} S N (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) _inst_2] [_inst_9 : IsScalarTower.{u4, u3, u2} R S N (SMulZeroClass.toHasSmul.{u4, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))))))) (SMulWithZero.toSmulZeroClass.{u4, u3} R S (MulZeroClass.toHasZero.{u4} R (MulZeroOneClass.toMulZeroClass.{u4} R (MonoidWithZero.toMulZeroOneClass.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))))))) (MulActionWithZero.toSMulWithZero.{u4, u3} R S (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))))))) (Module.toMulActionWithZero.{u4, u3} R S (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4))))) (Algebra.toModule.{u4, u3} R S (CommRing.toCommSemiring.{u4} R _inst_3) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) _inst_5))))) (SMulZeroClass.toHasSmul.{u3, u2} S N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_2))) (SMulWithZero.toSmulZeroClass.{u3, u2} S N (MulZeroClass.toHasZero.{u3} S (MulZeroOneClass.toMulZeroClass.{u3} S (MonoidWithZero.toMulZeroOneClass.{u3} S (Semiring.toMonoidWithZero.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))))) (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_2))) (MulActionWithZero.toSMulWithZero.{u3, u2} S N (Semiring.toMonoidWithZero.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4))) (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_2))) (Module.toMulActionWithZero.{u3, u2} S N (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) _inst_2 _inst_8)))) (SMulZeroClass.toHasSmul.{u4, u2} R N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_2))) (SMulWithZero.toSmulZeroClass.{u4, u2} R N (MulZeroClass.toHasZero.{u4} R (MulZeroOneClass.toMulZeroClass.{u4} R (MonoidWithZero.toMulZeroOneClass.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)))))) (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_2))) (MulActionWithZero.toSMulWithZero.{u4, u2} R N (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3))) (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_2))) (Module.toMulActionWithZero.{u4, u2} R N (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) _inst_2 _inst_7))))] {f : LinearMap.{u4, u4, u1, u2} R R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)))) M N _inst_1 _inst_2 _inst_6 _inst_7} (h : IsBaseChange.{u1, u2, u3, u4} R M N S _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 f) (m : M), Eq.{succ (max u3 u1)} (TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_3) S M (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_4))))) _inst_1 (Algebra.toModule.{u4, u3} R S (CommRing.toCommSemiring.{u4} R _inst_3) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) _inst_5) _inst_6) (coeFn.{max (succ u2) (succ (max u3 u1)), max (succ u2) (succ (max u3 u1))} (LinearEquiv.{u3, u3, u2, max u3 u1} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))) (IsBaseChange.equiv._proof_2.{u3} S _inst_4) (IsBaseChange.equiv._proof_1.{u3} S _inst_4) N (TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_3) S M (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_4))))) _inst_1 (Algebra.toModule.{u4, u3} R S (CommRing.toCommSemiring.{u4} R _inst_3) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) _inst_5) _inst_6) _inst_2 (TensorProduct.addCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_3) S M (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_4))))) _inst_1 (Algebra.toModule.{u4, u3} R S (CommRing.toCommSemiring.{u4} R _inst_3) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) _inst_5) _inst_6) _inst_8 (TensorProduct.leftModule.{u4, u3, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_3) S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) S M (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_4))))) _inst_1 (Algebra.toModule.{u4, u3} R S (CommRing.toCommSemiring.{u4} R _inst_3) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) _inst_5) _inst_6 (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4))) (IsBaseChange.equiv._proof_3.{u4, u3} R S _inst_3 _inst_4 _inst_5))) (fun (_x : LinearEquiv.{u3, u3, u2, max u3 u1} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))) (IsBaseChange.equiv._proof_2.{u3} S _inst_4) (IsBaseChange.equiv._proof_1.{u3} S _inst_4) N (TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_3) S M (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_4))))) _inst_1 (Algebra.toModule.{u4, u3} R S (CommRing.toCommSemiring.{u4} R _inst_3) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) _inst_5) _inst_6) _inst_2 (TensorProduct.addCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_3) S M (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_4))))) _inst_1 (Algebra.toModule.{u4, u3} R S (CommRing.toCommSemiring.{u4} R _inst_3) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) _inst_5) _inst_6) _inst_8 (TensorProduct.leftModule.{u4, u3, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_3) S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) S M (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_4))))) _inst_1 (Algebra.toModule.{u4, u3} R S (CommRing.toCommSemiring.{u4} R _inst_3) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) _inst_5) _inst_6 (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4))) (IsBaseChange.equiv._proof_3.{u4, u3} R S _inst_3 _inst_4 _inst_5))) => N -> (TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_3) S M (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_4))))) _inst_1 (Algebra.toModule.{u4, u3} R S (CommRing.toCommSemiring.{u4} R _inst_3) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) _inst_5) _inst_6)) (LinearEquiv.hasCoeToFun.{u3, u3, u2, max u3 u1} S S N (TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_3) S M (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_4))))) _inst_1 (Algebra.toModule.{u4, u3} R S (CommRing.toCommSemiring.{u4} R _inst_3) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) _inst_5) _inst_6) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) _inst_2 (TensorProduct.addCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_3) S M (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_4))))) _inst_1 (Algebra.toModule.{u4, u3} R S (CommRing.toCommSemiring.{u4} R _inst_3) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) _inst_5) _inst_6) _inst_8 (TensorProduct.leftModule.{u4, u3, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_3) S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) S M (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_4))))) _inst_1 (Algebra.toModule.{u4, u3} R S (CommRing.toCommSemiring.{u4} R _inst_3) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) _inst_5) _inst_6 (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4))) (IsBaseChange.equiv._proof_3.{u4, u3} R S _inst_3 _inst_4 _inst_5)) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))) (IsBaseChange.equiv._proof_2.{u3} S _inst_4) (IsBaseChange.equiv._proof_1.{u3} S _inst_4)) (LinearEquiv.symm.{u3, u3, max u3 u1, u2} S S (TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_3) S M (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_4))))) _inst_1 (Algebra.toModule.{u4, u3} R S (CommRing.toCommSemiring.{u4} R _inst_3) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) _inst_5) _inst_6) N (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) (TensorProduct.addCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_3) S M (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_4))))) _inst_1 (Algebra.toModule.{u4, u3} R S (CommRing.toCommSemiring.{u4} R _inst_3) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) _inst_5) _inst_6) _inst_2 (TensorProduct.leftModule.{u4, u3, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_3) S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) S M (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_4))))) _inst_1 (Algebra.toModule.{u4, u3} R S (CommRing.toCommSemiring.{u4} R _inst_3) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) _inst_5) _inst_6 (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4))) (IsBaseChange.equiv._proof_3.{u4, u3} R S _inst_3 _inst_4 _inst_5)) _inst_8 (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))) (IsBaseChange.equiv._proof_1.{u3} S _inst_4) (IsBaseChange.equiv._proof_2.{u3} S _inst_4) (IsBaseChange.equiv.{u1, u2, u3, u4} R M N S _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 f h)) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (LinearMap.{u4, u4, u1, u2} R R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)))) M N _inst_1 _inst_2 _inst_6 _inst_7) (fun (_x : LinearMap.{u4, u4, u1, u2} R R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)))) M N _inst_1 _inst_2 _inst_6 _inst_7) => M -> N) (LinearMap.hasCoeToFun.{u4, u4, u1, u2} R R M N (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) _inst_1 _inst_2 _inst_6 _inst_7 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3))))) f m)) (TensorProduct.tmul.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_3) S M (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_4))))) _inst_1 (Algebra.toModule.{u4, u3} R S (CommRing.toCommSemiring.{u4} R _inst_3) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) _inst_5) _inst_6 (OfNat.ofNat.{u3} S 1 (OfNat.mk.{u3} S 1 (One.one.{u3} S (AddMonoidWithOne.toOne.{u3} S (AddGroupWithOne.toAddMonoidWithOne.{u3} S (AddCommGroupWithOne.toAddGroupWithOne.{u3} S (Ring.toAddCommGroupWithOne.{u3} S (CommRing.toRing.{u3} S _inst_4)))))))) m)
-but is expected to have type
-  forall {R : Type.{u1}} {M : Type.{u2}} {N : Type.{u3}} {S : Type.{u4}} [_inst_1 : AddCommMonoid.{u2} M] [_inst_2 : AddCommMonoid.{u3} N] [_inst_3 : CommRing.{u1} R] [_inst_4 : CommRing.{u4} S] [_inst_5 : Algebra.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4))] [_inst_6 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) _inst_1] [_inst_7 : Module.{u1, u3} R N (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) _inst_2] [_inst_8 : Module.{u4, u3} S N (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_2] [_inst_9 : IsScalarTower.{u1, u4, u3} R S N (Algebra.toSMul.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) (SMulZeroClass.toSMul.{u4, u3} S N (AddMonoid.toZero.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_2)) (SMulWithZero.toSMulZeroClass.{u4, u3} S N (CommMonoidWithZero.toZero.{u4} S (CommSemiring.toCommMonoidWithZero.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4))) (AddMonoid.toZero.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_2)) (MulActionWithZero.toSMulWithZero.{u4, u3} S N (Semiring.toMonoidWithZero.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4))) (AddMonoid.toZero.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_2)) (Module.toMulActionWithZero.{u4, u3} S N (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_2 _inst_8)))) (SMulZeroClass.toSMul.{u1, u3} R N (AddMonoid.toZero.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u3} R N (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3))) (AddMonoid.toZero.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u3} R N (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3))) (AddMonoid.toZero.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_2)) (Module.toMulActionWithZero.{u1, u3} R N (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) _inst_2 _inst_7))))] {f : LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)))) M N _inst_1 _inst_2 _inst_6 _inst_7} (h : IsBaseChange.{u2, u3, u4, u1} R M N S _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 f) (m : M), Eq.{max (succ u2) (succ u4)} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : N) => TensorProduct.{u1, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)))) M N _inst_1 _inst_2 _inst_6 _inst_7) M (fun (a : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => N) a) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u3} R R M N (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) _inst_1 _inst_2 _inst_6 _inst_7 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3))))) f m)) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u4), succ u3, max (succ u2) (succ u4)} (LinearEquiv.{u4, u4, u3, max u2 u4} S S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) (RingHom.id.{u4} S (Semiring.toNonAssocSemiring.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)))) (RingHom.id.{u4} S (Semiring.toNonAssocSemiring.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)))) (RingHomInvPair.ids.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4))) (RingHomInvPair.ids.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4))) N (TensorProduct.{u1, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6) _inst_2 (TensorProduct.addCommMonoid.{u1, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6) _inst_8 (TensorProduct.leftModule.{u1, u4, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6 (Semiring.toModule.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4))) (Algebra.to_smulCommClass.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5))) N (fun (_x : N) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : N) => TensorProduct.{u1, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6) _x) (SMulHomClass.toFunLike.{max (max u2 u3) u4, u4, u3, max u2 u4} (LinearEquiv.{u4, u4, u3, max u2 u4} S S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) (RingHom.id.{u4} S (Semiring.toNonAssocSemiring.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)))) (RingHom.id.{u4} S (Semiring.toNonAssocSemiring.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)))) (RingHomInvPair.ids.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4))) (RingHomInvPair.ids.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4))) N (TensorProduct.{u1, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6) _inst_2 (TensorProduct.addCommMonoid.{u1, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6) _inst_8 (TensorProduct.leftModule.{u1, u4, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6 (Semiring.toModule.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4))) (Algebra.to_smulCommClass.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5))) S N (TensorProduct.{u1, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6) (SMulZeroClass.toSMul.{u4, u3} S N (AddMonoid.toZero.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_2)) (DistribSMul.toSMulZeroClass.{u4, u3} S N (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_2)) (DistribMulAction.toDistribSMul.{u4, u3} S N (MonoidWithZero.toMonoid.{u4} S (Semiring.toMonoidWithZero.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)))) (AddCommMonoid.toAddMonoid.{u3} N _inst_2) (Module.toDistribMulAction.{u4, u3} S N (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_2 _inst_8)))) (SMulZeroClass.toSMul.{u4, max u2 u4} S (TensorProduct.{u1, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6) (AddMonoid.toZero.{max u2 u4} (TensorProduct.{u1, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6) (AddCommMonoid.toAddMonoid.{max u2 u4} (TensorProduct.{u1, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6) (TensorProduct.addCommMonoid.{u1, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6))) (DistribSMul.toSMulZeroClass.{u4, max u2 u4} S (TensorProduct.{u1, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6) (AddMonoid.toAddZeroClass.{max u2 u4} (TensorProduct.{u1, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6) (AddCommMonoid.toAddMonoid.{max u2 u4} (TensorProduct.{u1, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6) (TensorProduct.addCommMonoid.{u1, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6))) (DistribMulAction.toDistribSMul.{u4, max u2 u4} S (TensorProduct.{u1, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6) (MonoidWithZero.toMonoid.{u4} S (Semiring.toMonoidWithZero.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)))) (AddCommMonoid.toAddMonoid.{max u2 u4} (TensorProduct.{u1, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6) (TensorProduct.addCommMonoid.{u1, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6)) (Module.toDistribMulAction.{u4, max u2 u4} S (TensorProduct.{u1, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) (TensorProduct.addCommMonoid.{u1, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6) (TensorProduct.leftModule.{u1, u4, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6 (Semiring.toModule.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4))) (Algebra.to_smulCommClass.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5)))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u2 u3) u4, u4, u3, max u2 u4} (LinearEquiv.{u4, u4, u3, max u2 u4} S S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) (RingHom.id.{u4} S (Semiring.toNonAssocSemiring.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)))) (RingHom.id.{u4} S (Semiring.toNonAssocSemiring.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)))) (RingHomInvPair.ids.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4))) (RingHomInvPair.ids.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4))) N (TensorProduct.{u1, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6) _inst_2 (TensorProduct.addCommMonoid.{u1, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6) _inst_8 (TensorProduct.leftModule.{u1, u4, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6 (Semiring.toModule.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4))) (Algebra.to_smulCommClass.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5))) S N (TensorProduct.{u1, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6) (MonoidWithZero.toMonoid.{u4} S (Semiring.toMonoidWithZero.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)))) (AddCommMonoid.toAddMonoid.{u3} N _inst_2) (AddCommMonoid.toAddMonoid.{max u2 u4} (TensorProduct.{u1, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6) (TensorProduct.addCommMonoid.{u1, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6)) (Module.toDistribMulAction.{u4, u3} S N (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_2 _inst_8) (Module.toDistribMulAction.{u4, max u2 u4} S (TensorProduct.{u1, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) (TensorProduct.addCommMonoid.{u1, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6) (TensorProduct.leftModule.{u1, u4, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6 (Semiring.toModule.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4))) (Algebra.to_smulCommClass.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5))) (SemilinearMapClass.distribMulActionHomClass.{u4, u3, max u2 u4, max (max u2 u3) u4} S N (TensorProduct.{u1, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6) (LinearEquiv.{u4, u4, u3, max u2 u4} S S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) (RingHom.id.{u4} S (Semiring.toNonAssocSemiring.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)))) (RingHom.id.{u4} S (Semiring.toNonAssocSemiring.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)))) (RingHomInvPair.ids.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4))) (RingHomInvPair.ids.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4))) N (TensorProduct.{u1, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6) _inst_2 (TensorProduct.addCommMonoid.{u1, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6) _inst_8 (TensorProduct.leftModule.{u1, u4, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6 (Semiring.toModule.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4))) (Algebra.to_smulCommClass.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5))) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_2 (TensorProduct.addCommMonoid.{u1, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6) _inst_8 (TensorProduct.leftModule.{u1, u4, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6 (Semiring.toModule.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4))) (Algebra.to_smulCommClass.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5)) (SemilinearEquivClass.instSemilinearMapClass.{u4, u4, u3, max u2 u4, max (max u2 u3) u4} S S N (TensorProduct.{u1, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6) (LinearEquiv.{u4, u4, u3, max u2 u4} S S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) (RingHom.id.{u4} S (Semiring.toNonAssocSemiring.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)))) (RingHom.id.{u4} S (Semiring.toNonAssocSemiring.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)))) (RingHomInvPair.ids.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4))) (RingHomInvPair.ids.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4))) N (TensorProduct.{u1, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6) _inst_2 (TensorProduct.addCommMonoid.{u1, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6) _inst_8 (TensorProduct.leftModule.{u1, u4, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6 (Semiring.toModule.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4))) (Algebra.to_smulCommClass.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5))) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_2 (TensorProduct.addCommMonoid.{u1, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6) _inst_8 (TensorProduct.leftModule.{u1, u4, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6 (Semiring.toModule.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4))) (Algebra.to_smulCommClass.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5)) (RingHom.id.{u4} S (Semiring.toNonAssocSemiring.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)))) (RingHom.id.{u4} S (Semiring.toNonAssocSemiring.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)))) (RingHomInvPair.ids.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4))) (RingHomInvPair.ids.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u4, u4, u3, max u2 u4} S S N (TensorProduct.{u1, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_2 (TensorProduct.addCommMonoid.{u1, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6) _inst_8 (TensorProduct.leftModule.{u1, u4, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6 (Semiring.toModule.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4))) (Algebra.to_smulCommClass.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5)) (RingHom.id.{u4} S (Semiring.toNonAssocSemiring.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)))) (RingHom.id.{u4} S (Semiring.toNonAssocSemiring.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)))) (RingHomInvPair.ids.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4))) (RingHomInvPair.ids.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)))))))) (LinearEquiv.symm.{u4, u4, max u2 u4, u3} S S (TensorProduct.{u1, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6) N (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) (TensorProduct.addCommMonoid.{u1, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6) _inst_2 (TensorProduct.leftModule.{u1, u4, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6 (Semiring.toModule.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4))) (Algebra.to_smulCommClass.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5)) _inst_8 (RingHom.id.{u4} S (Semiring.toNonAssocSemiring.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)))) (RingHom.id.{u4} S (Semiring.toNonAssocSemiring.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)))) (RingHomInvPair.ids.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4))) (RingHomInvPair.ids.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4))) (IsBaseChange.equiv.{u2, u3, u4, u1} R M N S _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 f h)) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)))) M N _inst_1 _inst_2 _inst_6 _inst_7) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => N) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u3} R R M N (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) _inst_1 _inst_2 _inst_6 _inst_7 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3))))) f m)) (TensorProduct.tmul.{u1, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6 (OfNat.ofNat.{u4} S 1 (One.toOfNat1.{u4} S (Semiring.toOne.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4))))) m)
+<too large>
 Case conversion may be inaccurate. Consider using '#align is_base_change.equiv_symm_apply IsBaseChange.equiv_symm_applyₓ'. -/
 theorem IsBaseChange.equiv_symm_apply (m : M) : h.Equiv.symm (f m) = 1 ⊗ₜ m := by
   rw [h.equiv.symm_apply_eq, h.equiv_tmul, one_smul]
@@ -370,10 +334,7 @@ theorem IsBaseChange.equiv_symm_apply (m : M) : h.Equiv.symm (f m) = 1 ⊗ₜ m
 variable (f)
 
 /- warning: is_base_change.of_lift_unique -> IsBaseChange.of_lift_unique is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u4}} {M : Type.{u1}} {N : Type.{u2}} {S : Type.{u3}} [_inst_1 : AddCommMonoid.{u1} M] [_inst_2 : AddCommMonoid.{u2} N] [_inst_3 : CommRing.{u4} R] [_inst_4 : CommRing.{u3} S] [_inst_5 : Algebra.{u4, u3} R S (CommRing.toCommSemiring.{u4} R _inst_3) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4))] [_inst_6 : Module.{u4, u1} R M (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) _inst_1] [_inst_7 : Module.{u4, u2} R N (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) _inst_2] [_inst_8 : Module.{u3, u2} S N (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) _inst_2] [_inst_9 : IsScalarTower.{u4, u3, u2} R S N (SMulZeroClass.toHasSmul.{u4, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))))))) (SMulWithZero.toSmulZeroClass.{u4, u3} R S (MulZeroClass.toHasZero.{u4} R (MulZeroOneClass.toMulZeroClass.{u4} R (MonoidWithZero.toMulZeroOneClass.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))))))) (MulActionWithZero.toSMulWithZero.{u4, u3} R S (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))))))) (Module.toMulActionWithZero.{u4, u3} R S (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4))))) (Algebra.toModule.{u4, u3} R S (CommRing.toCommSemiring.{u4} R _inst_3) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) _inst_5))))) (SMulZeroClass.toHasSmul.{u3, u2} S N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_2))) (SMulWithZero.toSmulZeroClass.{u3, u2} S N (MulZeroClass.toHasZero.{u3} S (MulZeroOneClass.toMulZeroClass.{u3} S (MonoidWithZero.toMulZeroOneClass.{u3} S (Semiring.toMonoidWithZero.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))))) (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_2))) (MulActionWithZero.toSMulWithZero.{u3, u2} S N (Semiring.toMonoidWithZero.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4))) (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_2))) (Module.toMulActionWithZero.{u3, u2} S N (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) _inst_2 _inst_8)))) (SMulZeroClass.toHasSmul.{u4, u2} R N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_2))) (SMulWithZero.toSmulZeroClass.{u4, u2} R N (MulZeroClass.toHasZero.{u4} R (MulZeroOneClass.toMulZeroClass.{u4} R (MonoidWithZero.toMulZeroOneClass.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)))))) (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_2))) (MulActionWithZero.toSMulWithZero.{u4, u2} R N (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3))) (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_2))) (Module.toMulActionWithZero.{u4, u2} R N (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) _inst_2 _inst_7))))] (f : LinearMap.{u4, u4, u1, u2} R R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)))) M N _inst_1 _inst_2 _inst_6 _inst_7), (forall (Q : Type.{max u1 u2 u3}) [_inst_14 : AddCommMonoid.{max u1 u2 u3} Q] [_inst_15 : Module.{u4, max u1 u2 u3} R Q (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) _inst_14] [_inst_16 : Module.{u3, max u1 u2 u3} S Q (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) _inst_14] [_inst_15_1 : IsScalarTower.{u4, u3, max u1 u2 u3} R S Q (SMulZeroClass.toHasSmul.{u4, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))))))) (SMulWithZero.toSmulZeroClass.{u4, u3} R S (MulZeroClass.toHasZero.{u4} R (MulZeroOneClass.toMulZeroClass.{u4} R (MonoidWithZero.toMulZeroOneClass.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))))))) (MulActionWithZero.toSMulWithZero.{u4, u3} R S (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))))))) (Module.toMulActionWithZero.{u4, u3} R S (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4))))) (Algebra.toModule.{u4, u3} R S (CommRing.toCommSemiring.{u4} R _inst_3) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) _inst_5))))) (SMulZeroClass.toHasSmul.{u3, max u1 u2 u3} S Q (AddZeroClass.toHasZero.{max u1 u2 u3} Q (AddMonoid.toAddZeroClass.{max u1 u2 u3} Q (AddCommMonoid.toAddMonoid.{max u1 u2 u3} Q _inst_14))) (SMulWithZero.toSmulZeroClass.{u3, max u1 u2 u3} S Q (MulZeroClass.toHasZero.{u3} S (MulZeroOneClass.toMulZeroClass.{u3} S (MonoidWithZero.toMulZeroOneClass.{u3} S (Semiring.toMonoidWithZero.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))))) (AddZeroClass.toHasZero.{max u1 u2 u3} Q (AddMonoid.toAddZeroClass.{max u1 u2 u3} Q (AddCommMonoid.toAddMonoid.{max u1 u2 u3} Q _inst_14))) (MulActionWithZero.toSMulWithZero.{u3, max u1 u2 u3} S Q (Semiring.toMonoidWithZero.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4))) (AddZeroClass.toHasZero.{max u1 u2 u3} Q (AddMonoid.toAddZeroClass.{max u1 u2 u3} Q (AddCommMonoid.toAddMonoid.{max u1 u2 u3} Q _inst_14))) (Module.toMulActionWithZero.{u3, max u1 u2 u3} S Q (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) _inst_14 _inst_16)))) (SMulZeroClass.toHasSmul.{u4, max u1 u2 u3} R Q (AddZeroClass.toHasZero.{max u1 u2 u3} Q (AddMonoid.toAddZeroClass.{max u1 u2 u3} Q (AddCommMonoid.toAddMonoid.{max u1 u2 u3} Q _inst_14))) (SMulWithZero.toSmulZeroClass.{u4, max u1 u2 u3} R Q (MulZeroClass.toHasZero.{u4} R (MulZeroOneClass.toMulZeroClass.{u4} R (MonoidWithZero.toMulZeroOneClass.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)))))) (AddZeroClass.toHasZero.{max u1 u2 u3} Q (AddMonoid.toAddZeroClass.{max u1 u2 u3} Q (AddCommMonoid.toAddMonoid.{max u1 u2 u3} Q _inst_14))) (MulActionWithZero.toSMulWithZero.{u4, max u1 u2 u3} R Q (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3))) (AddZeroClass.toHasZero.{max u1 u2 u3} Q (AddMonoid.toAddZeroClass.{max u1 u2 u3} Q (AddCommMonoid.toAddMonoid.{max u1 u2 u3} Q _inst_14))) (Module.toMulActionWithZero.{u4, max u1 u2 u3} R Q (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) _inst_14 _inst_15))))] (g : LinearMap.{u4, u4, u1, max u1 u2 u3} R R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)))) M Q _inst_1 _inst_14 _inst_6 _inst_15), ExistsUnique.{max (succ u2) (succ (max u1 u2 u3))} (LinearMap.{u3, u3, u2, max u1 u2 u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))) N Q _inst_2 _inst_14 _inst_8 _inst_16) (fun (g' : LinearMap.{u3, u3, u2, max u1 u2 u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))) N Q _inst_2 _inst_14 _inst_8 _inst_16) => Eq.{max (succ u1) (succ (max u1 u2 u3))} (LinearMap.{u4, u4, u1, max u1 u2 u3} R R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)))) M Q _inst_1 _inst_14 _inst_6 _inst_15) (LinearMap.comp.{u4, u4, u4, u1, u2, max u1 u2 u3} R R R M N Q (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) _inst_1 _inst_2 _inst_14 _inst_6 _inst_7 _inst_15 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)))) (RingHomCompTriple.right_ids.{u4, u4} R R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3))))) (LinearMap.restrictScalars.{u4, u3, u2, max u1 u2 u3} R S N Q (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) _inst_2 _inst_14 _inst_7 _inst_15 _inst_8 _inst_16 (LinearMap.IsScalarTower.compatibleSMul.{u2, max u1 u2 u3, u4, u3} N Q _inst_2 _inst_14 R S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) (SMulZeroClass.toHasSmul.{u4, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))))))) (SMulWithZero.toSmulZeroClass.{u4, u3} R S (MulZeroClass.toHasZero.{u4} R (MulZeroOneClass.toMulZeroClass.{u4} R (MonoidWithZero.toMulZeroOneClass.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))))))) (MulActionWithZero.toSMulWithZero.{u4, u3} R S (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))))))) (Module.toMulActionWithZero.{u4, u3} R S (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4))))) (Algebra.toModule.{u4, u3} R S (CommRing.toCommSemiring.{u4} R _inst_3) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) _inst_5))))) (SMulZeroClass.toHasSmul.{u4, u2} R N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_2))) (SMulWithZero.toSmulZeroClass.{u4, u2} R N (MulZeroClass.toHasZero.{u4} R (MulZeroOneClass.toMulZeroClass.{u4} R (MonoidWithZero.toMulZeroOneClass.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)))))) (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_2))) (MulActionWithZero.toSMulWithZero.{u4, u2} R N (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3))) (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_2))) (Module.toMulActionWithZero.{u4, u2} R N (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) _inst_2 _inst_7)))) _inst_8 _inst_9 (SMulZeroClass.toHasSmul.{u4, max u1 u2 u3} R Q (AddZeroClass.toHasZero.{max u1 u2 u3} Q (AddMonoid.toAddZeroClass.{max u1 u2 u3} Q (AddCommMonoid.toAddMonoid.{max u1 u2 u3} Q _inst_14))) (SMulWithZero.toSmulZeroClass.{u4, max u1 u2 u3} R Q (MulZeroClass.toHasZero.{u4} R (MulZeroOneClass.toMulZeroClass.{u4} R (MonoidWithZero.toMulZeroOneClass.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)))))) (AddZeroClass.toHasZero.{max u1 u2 u3} Q (AddMonoid.toAddZeroClass.{max u1 u2 u3} Q (AddCommMonoid.toAddMonoid.{max u1 u2 u3} Q _inst_14))) (MulActionWithZero.toSMulWithZero.{u4, max u1 u2 u3} R Q (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3))) (AddZeroClass.toHasZero.{max u1 u2 u3} Q (AddMonoid.toAddZeroClass.{max u1 u2 u3} Q (AddCommMonoid.toAddMonoid.{max u1 u2 u3} Q _inst_14))) (Module.toMulActionWithZero.{u4, max u1 u2 u3} R Q (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) _inst_14 _inst_15)))) _inst_16 _inst_15_1) g') f) g)) -> (IsBaseChange.{u1, u2, u3, u4} R M N S _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 f)
-but is expected to have type
-  forall {R : Type.{u1}} {M : Type.{u2}} {N : Type.{u3}} {S : Type.{u4}} [_inst_1 : AddCommMonoid.{u2} M] [_inst_2 : AddCommMonoid.{u3} N] [_inst_3 : CommRing.{u1} R] [_inst_4 : CommRing.{u4} S] [_inst_5 : Algebra.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4))] [_inst_6 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) _inst_1] [_inst_7 : Module.{u1, u3} R N (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) _inst_2] [_inst_8 : Module.{u4, u3} S N (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_2] [_inst_9 : IsScalarTower.{u1, u4, u3} R S N (Algebra.toSMul.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) (SMulZeroClass.toSMul.{u4, u3} S N (AddMonoid.toZero.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_2)) (SMulWithZero.toSMulZeroClass.{u4, u3} S N (CommMonoidWithZero.toZero.{u4} S (CommSemiring.toCommMonoidWithZero.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4))) (AddMonoid.toZero.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_2)) (MulActionWithZero.toSMulWithZero.{u4, u3} S N (Semiring.toMonoidWithZero.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4))) (AddMonoid.toZero.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_2)) (Module.toMulActionWithZero.{u4, u3} S N (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_2 _inst_8)))) (SMulZeroClass.toSMul.{u1, u3} R N (AddMonoid.toZero.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u3} R N (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3))) (AddMonoid.toZero.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u3} R N (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3))) (AddMonoid.toZero.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_2)) (Module.toMulActionWithZero.{u1, u3} R N (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) _inst_2 _inst_7))))] (f : LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)))) M N _inst_1 _inst_2 _inst_6 _inst_7), (forall (Q : Type.{max u2 u3 u4}) [_inst_14 : AddCommMonoid.{max (max u2 u3) u4} Q] [_inst_15 : Module.{u1, max (max u2 u3) u4} R Q (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) _inst_14] [_inst_16 : Module.{u4, max (max u2 u3) u4} S Q (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_14] [_inst_15_1 : IsScalarTower.{u1, u4, max (max u2 u3) u4} R S Q (Algebra.toSMul.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) (SMulZeroClass.toSMul.{u4, max (max u2 u3) u4} S Q (AddMonoid.toZero.{max (max u2 u3) u4} Q (AddCommMonoid.toAddMonoid.{max (max u2 u3) u4} Q _inst_14)) (SMulWithZero.toSMulZeroClass.{u4, max (max u2 u3) u4} S Q (CommMonoidWithZero.toZero.{u4} S (CommSemiring.toCommMonoidWithZero.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4))) (AddMonoid.toZero.{max (max u2 u3) u4} Q (AddCommMonoid.toAddMonoid.{max (max u2 u3) u4} Q _inst_14)) (MulActionWithZero.toSMulWithZero.{u4, max (max u2 u3) u4} S Q (Semiring.toMonoidWithZero.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4))) (AddMonoid.toZero.{max (max u2 u3) u4} Q (AddCommMonoid.toAddMonoid.{max (max u2 u3) u4} Q _inst_14)) (Module.toMulActionWithZero.{u4, max (max u2 u3) u4} S Q (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_14 _inst_16)))) (SMulZeroClass.toSMul.{u1, max (max u2 u3) u4} R Q (AddMonoid.toZero.{max (max u2 u3) u4} Q (AddCommMonoid.toAddMonoid.{max (max u2 u3) u4} Q _inst_14)) (SMulWithZero.toSMulZeroClass.{u1, max (max u2 u3) u4} R Q (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3))) (AddMonoid.toZero.{max (max u2 u3) u4} Q (AddCommMonoid.toAddMonoid.{max (max u2 u3) u4} Q _inst_14)) (MulActionWithZero.toSMulWithZero.{u1, max (max u2 u3) u4} R Q (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3))) (AddMonoid.toZero.{max (max u2 u3) u4} Q (AddCommMonoid.toAddMonoid.{max (max u2 u3) u4} Q _inst_14)) (Module.toMulActionWithZero.{u1, max (max u2 u3) u4} R Q (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) _inst_14 _inst_15))))] (g : LinearMap.{u1, u1, u2, max (max u2 u3) u4} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)))) M Q _inst_1 _inst_14 _inst_6 _inst_15), ExistsUnique.{max (max (succ u2) (succ u3)) (succ u4)} (LinearMap.{u4, u4, u3, max (max u2 u3) u4} S S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) (RingHom.id.{u4} S (Semiring.toNonAssocSemiring.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)))) N Q _inst_2 _inst_14 _inst_8 _inst_16) (fun (g' : LinearMap.{u4, u4, u3, max (max u2 u3) u4} S S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) (RingHom.id.{u4} S (Semiring.toNonAssocSemiring.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)))) N Q _inst_2 _inst_14 _inst_8 _inst_16) => Eq.{max (max (succ u2) (succ u3)) (succ u4)} (LinearMap.{u1, u1, u2, max (max u2 u3) u4} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)))) M Q _inst_1 _inst_14 _inst_6 _inst_15) (LinearMap.comp.{u1, u1, u1, u2, u3, max (max u2 u3) u4} R R R M N Q (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) _inst_1 _inst_2 _inst_14 _inst_6 _inst_7 _inst_15 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)))) (RingHomCompTriple.ids.{u1, u1} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3))))) (LinearMap.restrictScalars.{u1, u4, u3, max (max u2 u3) u4} R S N Q (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_2 _inst_14 _inst_7 _inst_15 _inst_8 _inst_16 (LinearMap.IsScalarTower.compatibleSMul.{u3, max (max u2 u3) u4, u1, u4} N Q _inst_2 _inst_14 R S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) (Algebra.toSMul.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) (SMulZeroClass.toSMul.{u1, u3} R N (AddMonoid.toZero.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u3} R N (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)))) (AddMonoid.toZero.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u3} R N (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3))) (AddMonoid.toZero.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_2)) (Module.toMulActionWithZero.{u1, u3} R N (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) _inst_2 _inst_7)))) _inst_8 _inst_9 (SMulZeroClass.toSMul.{u1, max (max u2 u3) u4} R Q (AddMonoid.toZero.{max (max u2 u3) u4} Q (AddCommMonoid.toAddMonoid.{max (max u2 u3) u4} Q _inst_14)) (SMulWithZero.toSMulZeroClass.{u1, max (max u2 u3) u4} R Q (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)))) (AddMonoid.toZero.{max (max u2 u3) u4} Q (AddCommMonoid.toAddMonoid.{max (max u2 u3) u4} Q _inst_14)) (MulActionWithZero.toSMulWithZero.{u1, max (max u2 u3) u4} R Q (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3))) (AddMonoid.toZero.{max (max u2 u3) u4} Q (AddCommMonoid.toAddMonoid.{max (max u2 u3) u4} Q _inst_14)) (Module.toMulActionWithZero.{u1, max (max u2 u3) u4} R Q (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) _inst_14 _inst_15)))) _inst_16 _inst_15_1) g') f) g)) -> (IsBaseChange.{u2, u3, u4, u1} R M N S _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 f)
+<too large>
 Case conversion may be inaccurate. Consider using '#align is_base_change.of_lift_unique IsBaseChange.of_lift_uniqueₓ'. -/
 theorem IsBaseChange.of_lift_unique
     (h :
@@ -416,10 +377,7 @@ theorem IsBaseChange.of_lift_unique
 variable {f}
 
 /- warning: is_base_change.iff_lift_unique -> IsBaseChange.iff_lift_unique is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u4}} {M : Type.{u1}} {N : Type.{u2}} {S : Type.{u3}} [_inst_1 : AddCommMonoid.{u1} M] [_inst_2 : AddCommMonoid.{u2} N] [_inst_3 : CommRing.{u4} R] [_inst_4 : CommRing.{u3} S] [_inst_5 : Algebra.{u4, u3} R S (CommRing.toCommSemiring.{u4} R _inst_3) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4))] [_inst_6 : Module.{u4, u1} R M (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) _inst_1] [_inst_7 : Module.{u4, u2} R N (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) _inst_2] [_inst_8 : Module.{u3, u2} S N (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) _inst_2] [_inst_9 : IsScalarTower.{u4, u3, u2} R S N (SMulZeroClass.toHasSmul.{u4, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))))))) (SMulWithZero.toSmulZeroClass.{u4, u3} R S (MulZeroClass.toHasZero.{u4} R (MulZeroOneClass.toMulZeroClass.{u4} R (MonoidWithZero.toMulZeroOneClass.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))))))) (MulActionWithZero.toSMulWithZero.{u4, u3} R S (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))))))) (Module.toMulActionWithZero.{u4, u3} R S (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4))))) (Algebra.toModule.{u4, u3} R S (CommRing.toCommSemiring.{u4} R _inst_3) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) _inst_5))))) (SMulZeroClass.toHasSmul.{u3, u2} S N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_2))) (SMulWithZero.toSmulZeroClass.{u3, u2} S N (MulZeroClass.toHasZero.{u3} S (MulZeroOneClass.toMulZeroClass.{u3} S (MonoidWithZero.toMulZeroOneClass.{u3} S (Semiring.toMonoidWithZero.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))))) (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_2))) (MulActionWithZero.toSMulWithZero.{u3, u2} S N (Semiring.toMonoidWithZero.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4))) (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_2))) (Module.toMulActionWithZero.{u3, u2} S N (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) _inst_2 _inst_8)))) (SMulZeroClass.toHasSmul.{u4, u2} R N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_2))) (SMulWithZero.toSmulZeroClass.{u4, u2} R N (MulZeroClass.toHasZero.{u4} R (MulZeroOneClass.toMulZeroClass.{u4} R (MonoidWithZero.toMulZeroOneClass.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)))))) (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_2))) (MulActionWithZero.toSMulWithZero.{u4, u2} R N (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3))) (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_2))) (Module.toMulActionWithZero.{u4, u2} R N (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) _inst_2 _inst_7))))] {f : LinearMap.{u4, u4, u1, u2} R R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)))) M N _inst_1 _inst_2 _inst_6 _inst_7}, Iff (IsBaseChange.{u1, u2, u3, u4} R M N S _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 f) (forall (Q : Type.{max u1 u2 u3}) [_inst_14 : AddCommMonoid.{max u1 u2 u3} Q] [_inst_15 : Module.{u4, max u1 u2 u3} R Q (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) _inst_14] [_inst_16 : Module.{u3, max u1 u2 u3} S Q (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) _inst_14] [_inst_15_1 : IsScalarTower.{u4, u3, max u1 u2 u3} R S Q (SMulZeroClass.toHasSmul.{u4, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))))))) (SMulWithZero.toSmulZeroClass.{u4, u3} R S (MulZeroClass.toHasZero.{u4} R (MulZeroOneClass.toMulZeroClass.{u4} R (MonoidWithZero.toMulZeroOneClass.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))))))) (MulActionWithZero.toSMulWithZero.{u4, u3} R S (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))))))) (Module.toMulActionWithZero.{u4, u3} R S (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4))))) (Algebra.toModule.{u4, u3} R S (CommRing.toCommSemiring.{u4} R _inst_3) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) _inst_5))))) (SMulZeroClass.toHasSmul.{u3, max u1 u2 u3} S Q (AddZeroClass.toHasZero.{max u1 u2 u3} Q (AddMonoid.toAddZeroClass.{max u1 u2 u3} Q (AddCommMonoid.toAddMonoid.{max u1 u2 u3} Q _inst_14))) (SMulWithZero.toSmulZeroClass.{u3, max u1 u2 u3} S Q (MulZeroClass.toHasZero.{u3} S (MulZeroOneClass.toMulZeroClass.{u3} S (MonoidWithZero.toMulZeroOneClass.{u3} S (Semiring.toMonoidWithZero.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))))) (AddZeroClass.toHasZero.{max u1 u2 u3} Q (AddMonoid.toAddZeroClass.{max u1 u2 u3} Q (AddCommMonoid.toAddMonoid.{max u1 u2 u3} Q _inst_14))) (MulActionWithZero.toSMulWithZero.{u3, max u1 u2 u3} S Q (Semiring.toMonoidWithZero.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4))) (AddZeroClass.toHasZero.{max u1 u2 u3} Q (AddMonoid.toAddZeroClass.{max u1 u2 u3} Q (AddCommMonoid.toAddMonoid.{max u1 u2 u3} Q _inst_14))) (Module.toMulActionWithZero.{u3, max u1 u2 u3} S Q (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) _inst_14 _inst_16)))) (SMulZeroClass.toHasSmul.{u4, max u1 u2 u3} R Q (AddZeroClass.toHasZero.{max u1 u2 u3} Q (AddMonoid.toAddZeroClass.{max u1 u2 u3} Q (AddCommMonoid.toAddMonoid.{max u1 u2 u3} Q _inst_14))) (SMulWithZero.toSmulZeroClass.{u4, max u1 u2 u3} R Q (MulZeroClass.toHasZero.{u4} R (MulZeroOneClass.toMulZeroClass.{u4} R (MonoidWithZero.toMulZeroOneClass.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)))))) (AddZeroClass.toHasZero.{max u1 u2 u3} Q (AddMonoid.toAddZeroClass.{max u1 u2 u3} Q (AddCommMonoid.toAddMonoid.{max u1 u2 u3} Q _inst_14))) (MulActionWithZero.toSMulWithZero.{u4, max u1 u2 u3} R Q (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3))) (AddZeroClass.toHasZero.{max u1 u2 u3} Q (AddMonoid.toAddZeroClass.{max u1 u2 u3} Q (AddCommMonoid.toAddMonoid.{max u1 u2 u3} Q _inst_14))) (Module.toMulActionWithZero.{u4, max u1 u2 u3} R Q (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) _inst_14 _inst_15))))] (g : LinearMap.{u4, u4, u1, max u1 u2 u3} R R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)))) M Q _inst_1 _inst_14 _inst_6 _inst_15), ExistsUnique.{max (succ u2) (succ (max u1 u2 u3))} (LinearMap.{u3, u3, u2, max u1 u2 u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))) N Q _inst_2 _inst_14 _inst_8 _inst_16) (fun (g' : LinearMap.{u3, u3, u2, max u1 u2 u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))) N Q _inst_2 _inst_14 _inst_8 _inst_16) => Eq.{max (succ u1) (succ (max u1 u2 u3))} (LinearMap.{u4, u4, u1, max u1 u2 u3} R R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)))) M Q _inst_1 _inst_14 _inst_6 _inst_15) (LinearMap.comp.{u4, u4, u4, u1, u2, max u1 u2 u3} R R R M N Q (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) _inst_1 _inst_2 _inst_14 _inst_6 _inst_7 _inst_15 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)))) (RingHomCompTriple.right_ids.{u4, u4} R R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3))))) (LinearMap.restrictScalars.{u4, u3, u2, max u1 u2 u3} R S N Q (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) _inst_2 _inst_14 _inst_7 _inst_15 _inst_8 _inst_16 (LinearMap.IsScalarTower.compatibleSMul.{u2, max u1 u2 u3, u4, u3} N Q _inst_2 _inst_14 R S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) (SMulZeroClass.toHasSmul.{u4, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))))))) (SMulWithZero.toSmulZeroClass.{u4, u3} R S (MulZeroClass.toHasZero.{u4} R (MulZeroOneClass.toMulZeroClass.{u4} R (MonoidWithZero.toMulZeroOneClass.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))))))) (MulActionWithZero.toSMulWithZero.{u4, u3} R S (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))))))) (Module.toMulActionWithZero.{u4, u3} R S (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4))))) (Algebra.toModule.{u4, u3} R S (CommRing.toCommSemiring.{u4} R _inst_3) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) _inst_5))))) (SMulZeroClass.toHasSmul.{u4, u2} R N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_2))) (SMulWithZero.toSmulZeroClass.{u4, u2} R N (MulZeroClass.toHasZero.{u4} R (MulZeroOneClass.toMulZeroClass.{u4} R (MonoidWithZero.toMulZeroOneClass.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)))))) (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_2))) (MulActionWithZero.toSMulWithZero.{u4, u2} R N (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3))) (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_2))) (Module.toMulActionWithZero.{u4, u2} R N (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) _inst_2 _inst_7)))) _inst_8 _inst_9 (SMulZeroClass.toHasSmul.{u4, max u1 u2 u3} R Q (AddZeroClass.toHasZero.{max u1 u2 u3} Q (AddMonoid.toAddZeroClass.{max u1 u2 u3} Q (AddCommMonoid.toAddMonoid.{max u1 u2 u3} Q _inst_14))) (SMulWithZero.toSmulZeroClass.{u4, max u1 u2 u3} R Q (MulZeroClass.toHasZero.{u4} R (MulZeroOneClass.toMulZeroClass.{u4} R (MonoidWithZero.toMulZeroOneClass.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)))))) (AddZeroClass.toHasZero.{max u1 u2 u3} Q (AddMonoid.toAddZeroClass.{max u1 u2 u3} Q (AddCommMonoid.toAddMonoid.{max u1 u2 u3} Q _inst_14))) (MulActionWithZero.toSMulWithZero.{u4, max u1 u2 u3} R Q (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3))) (AddZeroClass.toHasZero.{max u1 u2 u3} Q (AddMonoid.toAddZeroClass.{max u1 u2 u3} Q (AddCommMonoid.toAddMonoid.{max u1 u2 u3} Q _inst_14))) (Module.toMulActionWithZero.{u4, max u1 u2 u3} R Q (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) _inst_14 _inst_15)))) _inst_16 _inst_15_1) g') f) g))
-but is expected to have type
-  forall {R : Type.{u1}} {M : Type.{u2}} {N : Type.{u3}} {S : Type.{u4}} [_inst_1 : AddCommMonoid.{u2} M] [_inst_2 : AddCommMonoid.{u3} N] [_inst_3 : CommRing.{u1} R] [_inst_4 : CommRing.{u4} S] [_inst_5 : Algebra.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4))] [_inst_6 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) _inst_1] [_inst_7 : Module.{u1, u3} R N (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) _inst_2] [_inst_8 : Module.{u4, u3} S N (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_2] [_inst_9 : IsScalarTower.{u1, u4, u3} R S N (Algebra.toSMul.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) (SMulZeroClass.toSMul.{u4, u3} S N (AddMonoid.toZero.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_2)) (SMulWithZero.toSMulZeroClass.{u4, u3} S N (CommMonoidWithZero.toZero.{u4} S (CommSemiring.toCommMonoidWithZero.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4))) (AddMonoid.toZero.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_2)) (MulActionWithZero.toSMulWithZero.{u4, u3} S N (Semiring.toMonoidWithZero.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4))) (AddMonoid.toZero.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_2)) (Module.toMulActionWithZero.{u4, u3} S N (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_2 _inst_8)))) (SMulZeroClass.toSMul.{u1, u3} R N (AddMonoid.toZero.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u3} R N (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3))) (AddMonoid.toZero.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u3} R N (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3))) (AddMonoid.toZero.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_2)) (Module.toMulActionWithZero.{u1, u3} R N (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) _inst_2 _inst_7))))] {f : LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)))) M N _inst_1 _inst_2 _inst_6 _inst_7}, Iff (IsBaseChange.{u2, u3, u4, u1} R M N S _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 f) (forall (Q : Type.{max u2 u3 u4}) [_inst_14 : AddCommMonoid.{max (max u2 u3) u4} Q] [_inst_15 : Module.{u1, max (max u2 u3) u4} R Q (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) _inst_14] [_inst_16 : Module.{u4, max (max u2 u3) u4} S Q (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_14] [_inst_15_1 : IsScalarTower.{u1, u4, max (max u2 u3) u4} R S Q (Algebra.toSMul.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) (SMulZeroClass.toSMul.{u4, max (max u2 u3) u4} S Q (AddMonoid.toZero.{max (max u2 u3) u4} Q (AddCommMonoid.toAddMonoid.{max (max u2 u3) u4} Q _inst_14)) (SMulWithZero.toSMulZeroClass.{u4, max (max u2 u3) u4} S Q (CommMonoidWithZero.toZero.{u4} S (CommSemiring.toCommMonoidWithZero.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4))) (AddMonoid.toZero.{max (max u2 u3) u4} Q (AddCommMonoid.toAddMonoid.{max (max u2 u3) u4} Q _inst_14)) (MulActionWithZero.toSMulWithZero.{u4, max (max u2 u3) u4} S Q (Semiring.toMonoidWithZero.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4))) (AddMonoid.toZero.{max (max u2 u3) u4} Q (AddCommMonoid.toAddMonoid.{max (max u2 u3) u4} Q _inst_14)) (Module.toMulActionWithZero.{u4, max (max u2 u3) u4} S Q (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_14 _inst_16)))) (SMulZeroClass.toSMul.{u1, max (max u2 u3) u4} R Q (AddMonoid.toZero.{max (max u2 u3) u4} Q (AddCommMonoid.toAddMonoid.{max (max u2 u3) u4} Q _inst_14)) (SMulWithZero.toSMulZeroClass.{u1, max (max u2 u3) u4} R Q (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3))) (AddMonoid.toZero.{max (max u2 u3) u4} Q (AddCommMonoid.toAddMonoid.{max (max u2 u3) u4} Q _inst_14)) (MulActionWithZero.toSMulWithZero.{u1, max (max u2 u3) u4} R Q (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3))) (AddMonoid.toZero.{max (max u2 u3) u4} Q (AddCommMonoid.toAddMonoid.{max (max u2 u3) u4} Q _inst_14)) (Module.toMulActionWithZero.{u1, max (max u2 u3) u4} R Q (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) _inst_14 _inst_15))))] (g : LinearMap.{u1, u1, u2, max (max u2 u3) u4} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)))) M Q _inst_1 _inst_14 _inst_6 _inst_15), ExistsUnique.{max (max (succ u2) (succ u3)) (succ u4)} (LinearMap.{u4, u4, u3, max (max u2 u3) u4} S S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) (RingHom.id.{u4} S (Semiring.toNonAssocSemiring.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)))) N Q _inst_2 _inst_14 _inst_8 _inst_16) (fun (g' : LinearMap.{u4, u4, u3, max (max u2 u3) u4} S S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) (RingHom.id.{u4} S (Semiring.toNonAssocSemiring.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)))) N Q _inst_2 _inst_14 _inst_8 _inst_16) => Eq.{max (max (succ u2) (succ u3)) (succ u4)} (LinearMap.{u1, u1, u2, max (max u2 u3) u4} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)))) M Q _inst_1 _inst_14 _inst_6 _inst_15) (LinearMap.comp.{u1, u1, u1, u2, u3, max (max u2 u3) u4} R R R M N Q (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) _inst_1 _inst_2 _inst_14 _inst_6 _inst_7 _inst_15 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)))) (RingHomCompTriple.ids.{u1, u1} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3))))) (LinearMap.restrictScalars.{u1, u4, u3, max (max u2 u3) u4} R S N Q (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_2 _inst_14 _inst_7 _inst_15 _inst_8 _inst_16 (LinearMap.IsScalarTower.compatibleSMul.{u3, max (max u2 u3) u4, u1, u4} N Q _inst_2 _inst_14 R S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) (Algebra.toSMul.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) (SMulZeroClass.toSMul.{u1, u3} R N (AddMonoid.toZero.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u3} R N (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)))) (AddMonoid.toZero.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u3} R N (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3))) (AddMonoid.toZero.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_2)) (Module.toMulActionWithZero.{u1, u3} R N (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) _inst_2 _inst_7)))) _inst_8 _inst_9 (SMulZeroClass.toSMul.{u1, max (max u2 u3) u4} R Q (AddMonoid.toZero.{max (max u2 u3) u4} Q (AddCommMonoid.toAddMonoid.{max (max u2 u3) u4} Q _inst_14)) (SMulWithZero.toSMulZeroClass.{u1, max (max u2 u3) u4} R Q (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)))) (AddMonoid.toZero.{max (max u2 u3) u4} Q (AddCommMonoid.toAddMonoid.{max (max u2 u3) u4} Q _inst_14)) (MulActionWithZero.toSMulWithZero.{u1, max (max u2 u3) u4} R Q (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3))) (AddMonoid.toZero.{max (max u2 u3) u4} Q (AddCommMonoid.toAddMonoid.{max (max u2 u3) u4} Q _inst_14)) (Module.toMulActionWithZero.{u1, max (max u2 u3) u4} R Q (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) _inst_14 _inst_15)))) _inst_16 _inst_15_1) g') f) g))
+<too large>
 Case conversion may be inaccurate. Consider using '#align is_base_change.iff_lift_unique IsBaseChange.iff_lift_uniqueₓ'. -/
 theorem IsBaseChange.iff_lift_unique :
     IsBaseChange S f ↔
@@ -463,10 +421,7 @@ variable [AddCommMonoid O] [Module R O] [Module S O] [Module T O] [IsScalarTower
 variable [IsScalarTower R S O] [IsScalarTower R T O]
 
 /- warning: is_base_change.comp -> IsBaseChange.comp is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u4}} {M : Type.{u1}} {N : Type.{u2}} {S : Type.{u3}} [_inst_1 : AddCommMonoid.{u1} M] [_inst_2 : AddCommMonoid.{u2} N] [_inst_3 : CommRing.{u4} R] [_inst_4 : CommRing.{u3} S] [_inst_5 : Algebra.{u4, u3} R S (CommRing.toCommSemiring.{u4} R _inst_3) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4))] [_inst_6 : Module.{u4, u1} R M (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) _inst_1] [_inst_7 : Module.{u4, u2} R N (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) _inst_2] [_inst_8 : Module.{u3, u2} S N (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) _inst_2] [_inst_9 : IsScalarTower.{u4, u3, u2} R S N (SMulZeroClass.toHasSmul.{u4, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))))))) (SMulWithZero.toSmulZeroClass.{u4, u3} R S (MulZeroClass.toHasZero.{u4} R (MulZeroOneClass.toMulZeroClass.{u4} R (MonoidWithZero.toMulZeroOneClass.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))))))) (MulActionWithZero.toSMulWithZero.{u4, u3} R S (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))))))) (Module.toMulActionWithZero.{u4, u3} R S (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4))))) (Algebra.toModule.{u4, u3} R S (CommRing.toCommSemiring.{u4} R _inst_3) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) _inst_5))))) (SMulZeroClass.toHasSmul.{u3, u2} S N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_2))) (SMulWithZero.toSmulZeroClass.{u3, u2} S N (MulZeroClass.toHasZero.{u3} S (MulZeroOneClass.toMulZeroClass.{u3} S (MonoidWithZero.toMulZeroOneClass.{u3} S (Semiring.toMonoidWithZero.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))))) (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_2))) (MulActionWithZero.toSMulWithZero.{u3, u2} S N (Semiring.toMonoidWithZero.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4))) (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_2))) (Module.toMulActionWithZero.{u3, u2} S N (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) _inst_2 _inst_8)))) (SMulZeroClass.toHasSmul.{u4, u2} R N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_2))) (SMulWithZero.toSmulZeroClass.{u4, u2} R N (MulZeroClass.toHasZero.{u4} R (MulZeroOneClass.toMulZeroClass.{u4} R (MonoidWithZero.toMulZeroOneClass.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)))))) (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_2))) (MulActionWithZero.toSMulWithZero.{u4, u2} R N (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3))) (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_2))) (Module.toMulActionWithZero.{u4, u2} R N (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) _inst_2 _inst_7))))] {T : Type.{u5}} {O : Type.{u6}} [_inst_14 : CommRing.{u5} T] [_inst_15 : Algebra.{u4, u5} R T (CommRing.toCommSemiring.{u4} R _inst_3) (Ring.toSemiring.{u5} T (CommRing.toRing.{u5} T _inst_14))] [_inst_16 : Algebra.{u3, u5} S T (CommRing.toCommSemiring.{u3} S _inst_4) (Ring.toSemiring.{u5} T (CommRing.toRing.{u5} T _inst_14))] [_inst_17 : IsScalarTower.{u4, u3, u5} R S T (SMulZeroClass.toHasSmul.{u4, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))))))) (SMulWithZero.toSmulZeroClass.{u4, u3} R S (MulZeroClass.toHasZero.{u4} R (MulZeroOneClass.toMulZeroClass.{u4} R (MonoidWithZero.toMulZeroOneClass.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))))))) (MulActionWithZero.toSMulWithZero.{u4, u3} R S (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))))))) (Module.toMulActionWithZero.{u4, u3} R S (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4))))) (Algebra.toModule.{u4, u3} R S (CommRing.toCommSemiring.{u4} R _inst_3) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) _inst_5))))) (SMulZeroClass.toHasSmul.{u3, u5} S T (AddZeroClass.toHasZero.{u5} T (AddMonoid.toAddZeroClass.{u5} T (AddCommMonoid.toAddMonoid.{u5} T (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} T (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} T (Semiring.toNonAssocSemiring.{u5} T (Ring.toSemiring.{u5} T (CommRing.toRing.{u5} T _inst_14)))))))) (SMulWithZero.toSmulZeroClass.{u3, u5} S T (MulZeroClass.toHasZero.{u3} S (MulZeroOneClass.toMulZeroClass.{u3} S (MonoidWithZero.toMulZeroOneClass.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_4)))))) (AddZeroClass.toHasZero.{u5} T (AddMonoid.toAddZeroClass.{u5} T (AddCommMonoid.toAddMonoid.{u5} T (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} T (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} T (Semiring.toNonAssocSemiring.{u5} T (Ring.toSemiring.{u5} T (CommRing.toRing.{u5} T _inst_14)))))))) (MulActionWithZero.toSMulWithZero.{u3, u5} S T (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_4))) (AddZeroClass.toHasZero.{u5} T (AddMonoid.toAddZeroClass.{u5} T (AddCommMonoid.toAddMonoid.{u5} T (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} T (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} T (Semiring.toNonAssocSemiring.{u5} T (Ring.toSemiring.{u5} T (CommRing.toRing.{u5} T _inst_14)))))))) (Module.toMulActionWithZero.{u3, u5} S T (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_4)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} T (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} T (Semiring.toNonAssocSemiring.{u5} T (Ring.toSemiring.{u5} T (CommRing.toRing.{u5} T _inst_14))))) (Algebra.toModule.{u3, u5} S T (CommRing.toCommSemiring.{u3} S _inst_4) (Ring.toSemiring.{u5} T (CommRing.toRing.{u5} T _inst_14)) _inst_16))))) (SMulZeroClass.toHasSmul.{u4, u5} R T (AddZeroClass.toHasZero.{u5} T (AddMonoid.toAddZeroClass.{u5} T (AddCommMonoid.toAddMonoid.{u5} T (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} T (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} T (Semiring.toNonAssocSemiring.{u5} T (Ring.toSemiring.{u5} T (CommRing.toRing.{u5} T _inst_14)))))))) (SMulWithZero.toSmulZeroClass.{u4, u5} R T (MulZeroClass.toHasZero.{u4} R (MulZeroOneClass.toMulZeroClass.{u4} R (MonoidWithZero.toMulZeroOneClass.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))))) (AddZeroClass.toHasZero.{u5} T (AddMonoid.toAddZeroClass.{u5} T (AddCommMonoid.toAddMonoid.{u5} T (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} T (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} T (Semiring.toNonAssocSemiring.{u5} T (Ring.toSemiring.{u5} T (CommRing.toRing.{u5} T _inst_14)))))))) (MulActionWithZero.toSMulWithZero.{u4, u5} R T (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3))) (AddZeroClass.toHasZero.{u5} T (AddMonoid.toAddZeroClass.{u5} T (AddCommMonoid.toAddMonoid.{u5} T (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} T (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} T (Semiring.toNonAssocSemiring.{u5} T (Ring.toSemiring.{u5} T (CommRing.toRing.{u5} T _inst_14)))))))) (Module.toMulActionWithZero.{u4, u5} R T (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} T (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} T (Semiring.toNonAssocSemiring.{u5} T (Ring.toSemiring.{u5} T (CommRing.toRing.{u5} T _inst_14))))) (Algebra.toModule.{u4, u5} R T (CommRing.toCommSemiring.{u4} R _inst_3) (Ring.toSemiring.{u5} T (CommRing.toRing.{u5} T _inst_14)) _inst_15)))))] [_inst_18 : AddCommMonoid.{u6} O] [_inst_19 : Module.{u4, u6} R O (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) _inst_18] [_inst_20 : Module.{u3, u6} S O (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) _inst_18] [_inst_21 : Module.{u5, u6} T O (Ring.toSemiring.{u5} T (CommRing.toRing.{u5} T _inst_14)) _inst_18] [_inst_22 : IsScalarTower.{u3, u5, u6} S T O (SMulZeroClass.toHasSmul.{u3, u5} S T (AddZeroClass.toHasZero.{u5} T (AddMonoid.toAddZeroClass.{u5} T (AddCommMonoid.toAddMonoid.{u5} T (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} T (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} T (Semiring.toNonAssocSemiring.{u5} T (Ring.toSemiring.{u5} T (CommRing.toRing.{u5} T _inst_14)))))))) (SMulWithZero.toSmulZeroClass.{u3, u5} S T (MulZeroClass.toHasZero.{u3} S (MulZeroOneClass.toMulZeroClass.{u3} S (MonoidWithZero.toMulZeroOneClass.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_4)))))) (AddZeroClass.toHasZero.{u5} T (AddMonoid.toAddZeroClass.{u5} T (AddCommMonoid.toAddMonoid.{u5} T (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} T (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} T (Semiring.toNonAssocSemiring.{u5} T (Ring.toSemiring.{u5} T (CommRing.toRing.{u5} T _inst_14)))))))) (MulActionWithZero.toSMulWithZero.{u3, u5} S T (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_4))) (AddZeroClass.toHasZero.{u5} T (AddMonoid.toAddZeroClass.{u5} T (AddCommMonoid.toAddMonoid.{u5} T (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} T (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} T (Semiring.toNonAssocSemiring.{u5} T (Ring.toSemiring.{u5} T (CommRing.toRing.{u5} T _inst_14)))))))) (Module.toMulActionWithZero.{u3, u5} S T (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_4)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} T (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} T (Semiring.toNonAssocSemiring.{u5} T (Ring.toSemiring.{u5} T (CommRing.toRing.{u5} T _inst_14))))) (Algebra.toModule.{u3, u5} S T (CommRing.toCommSemiring.{u3} S _inst_4) (Ring.toSemiring.{u5} T (CommRing.toRing.{u5} T _inst_14)) _inst_16))))) (SMulZeroClass.toHasSmul.{u5, u6} T O (AddZeroClass.toHasZero.{u6} O (AddMonoid.toAddZeroClass.{u6} O (AddCommMonoid.toAddMonoid.{u6} O _inst_18))) (SMulWithZero.toSmulZeroClass.{u5, u6} T O (MulZeroClass.toHasZero.{u5} T (MulZeroOneClass.toMulZeroClass.{u5} T (MonoidWithZero.toMulZeroOneClass.{u5} T (Semiring.toMonoidWithZero.{u5} T (Ring.toSemiring.{u5} T (CommRing.toRing.{u5} T _inst_14)))))) (AddZeroClass.toHasZero.{u6} O (AddMonoid.toAddZeroClass.{u6} O (AddCommMonoid.toAddMonoid.{u6} O _inst_18))) (MulActionWithZero.toSMulWithZero.{u5, u6} T O (Semiring.toMonoidWithZero.{u5} T (Ring.toSemiring.{u5} T (CommRing.toRing.{u5} T _inst_14))) (AddZeroClass.toHasZero.{u6} O (AddMonoid.toAddZeroClass.{u6} O (AddCommMonoid.toAddMonoid.{u6} O _inst_18))) (Module.toMulActionWithZero.{u5, u6} T O (Ring.toSemiring.{u5} T (CommRing.toRing.{u5} T _inst_14)) _inst_18 _inst_21)))) (SMulZeroClass.toHasSmul.{u3, u6} S O (AddZeroClass.toHasZero.{u6} O (AddMonoid.toAddZeroClass.{u6} O (AddCommMonoid.toAddMonoid.{u6} O _inst_18))) (SMulWithZero.toSmulZeroClass.{u3, u6} S O (MulZeroClass.toHasZero.{u3} S (MulZeroOneClass.toMulZeroClass.{u3} S (MonoidWithZero.toMulZeroOneClass.{u3} S (Semiring.toMonoidWithZero.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))))) (AddZeroClass.toHasZero.{u6} O (AddMonoid.toAddZeroClass.{u6} O (AddCommMonoid.toAddMonoid.{u6} O _inst_18))) (MulActionWithZero.toSMulWithZero.{u3, u6} S O (Semiring.toMonoidWithZero.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4))) (AddZeroClass.toHasZero.{u6} O (AddMonoid.toAddZeroClass.{u6} O (AddCommMonoid.toAddMonoid.{u6} O _inst_18))) (Module.toMulActionWithZero.{u3, u6} S O (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) _inst_18 _inst_20))))] [_inst_23 : IsScalarTower.{u4, u3, u6} R S O (SMulZeroClass.toHasSmul.{u4, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))))))) (SMulWithZero.toSmulZeroClass.{u4, u3} R S (MulZeroClass.toHasZero.{u4} R (MulZeroOneClass.toMulZeroClass.{u4} R (MonoidWithZero.toMulZeroOneClass.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))))))) (MulActionWithZero.toSMulWithZero.{u4, u3} R S (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))))))) (Module.toMulActionWithZero.{u4, u3} R S (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4))))) (Algebra.toModule.{u4, u3} R S (CommRing.toCommSemiring.{u4} R _inst_3) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) _inst_5))))) (SMulZeroClass.toHasSmul.{u3, u6} S O (AddZeroClass.toHasZero.{u6} O (AddMonoid.toAddZeroClass.{u6} O (AddCommMonoid.toAddMonoid.{u6} O _inst_18))) (SMulWithZero.toSmulZeroClass.{u3, u6} S O (MulZeroClass.toHasZero.{u3} S (MulZeroOneClass.toMulZeroClass.{u3} S (MonoidWithZero.toMulZeroOneClass.{u3} S (Semiring.toMonoidWithZero.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))))) (AddZeroClass.toHasZero.{u6} O (AddMonoid.toAddZeroClass.{u6} O (AddCommMonoid.toAddMonoid.{u6} O _inst_18))) (MulActionWithZero.toSMulWithZero.{u3, u6} S O (Semiring.toMonoidWithZero.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4))) (AddZeroClass.toHasZero.{u6} O (AddMonoid.toAddZeroClass.{u6} O (AddCommMonoid.toAddMonoid.{u6} O _inst_18))) (Module.toMulActionWithZero.{u3, u6} S O (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) _inst_18 _inst_20)))) (SMulZeroClass.toHasSmul.{u4, u6} R O (AddZeroClass.toHasZero.{u6} O (AddMonoid.toAddZeroClass.{u6} O (AddCommMonoid.toAddMonoid.{u6} O _inst_18))) (SMulWithZero.toSmulZeroClass.{u4, u6} R O (MulZeroClass.toHasZero.{u4} R (MulZeroOneClass.toMulZeroClass.{u4} R (MonoidWithZero.toMulZeroOneClass.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)))))) (AddZeroClass.toHasZero.{u6} O (AddMonoid.toAddZeroClass.{u6} O (AddCommMonoid.toAddMonoid.{u6} O _inst_18))) (MulActionWithZero.toSMulWithZero.{u4, u6} R O (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3))) (AddZeroClass.toHasZero.{u6} O (AddMonoid.toAddZeroClass.{u6} O (AddCommMonoid.toAddMonoid.{u6} O _inst_18))) (Module.toMulActionWithZero.{u4, u6} R O (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) _inst_18 _inst_19))))] [_inst_24 : IsScalarTower.{u4, u5, u6} R T O (SMulZeroClass.toHasSmul.{u4, u5} R T (AddZeroClass.toHasZero.{u5} T (AddMonoid.toAddZeroClass.{u5} T (AddCommMonoid.toAddMonoid.{u5} T (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} T (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} T (Semiring.toNonAssocSemiring.{u5} T (Ring.toSemiring.{u5} T (CommRing.toRing.{u5} T _inst_14)))))))) (SMulWithZero.toSmulZeroClass.{u4, u5} R T (MulZeroClass.toHasZero.{u4} R (MulZeroOneClass.toMulZeroClass.{u4} R (MonoidWithZero.toMulZeroOneClass.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))))) (AddZeroClass.toHasZero.{u5} T (AddMonoid.toAddZeroClass.{u5} T (AddCommMonoid.toAddMonoid.{u5} T (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} T (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} T (Semiring.toNonAssocSemiring.{u5} T (Ring.toSemiring.{u5} T (CommRing.toRing.{u5} T _inst_14)))))))) (MulActionWithZero.toSMulWithZero.{u4, u5} R T (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3))) (AddZeroClass.toHasZero.{u5} T (AddMonoid.toAddZeroClass.{u5} T (AddCommMonoid.toAddMonoid.{u5} T (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} T (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} T (Semiring.toNonAssocSemiring.{u5} T (Ring.toSemiring.{u5} T (CommRing.toRing.{u5} T _inst_14)))))))) (Module.toMulActionWithZero.{u4, u5} R T (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} T (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} T (Semiring.toNonAssocSemiring.{u5} T (Ring.toSemiring.{u5} T (CommRing.toRing.{u5} T _inst_14))))) (Algebra.toModule.{u4, u5} R T (CommRing.toCommSemiring.{u4} R _inst_3) (Ring.toSemiring.{u5} T (CommRing.toRing.{u5} T _inst_14)) _inst_15))))) (SMulZeroClass.toHasSmul.{u5, u6} T O (AddZeroClass.toHasZero.{u6} O (AddMonoid.toAddZeroClass.{u6} O (AddCommMonoid.toAddMonoid.{u6} O _inst_18))) (SMulWithZero.toSmulZeroClass.{u5, u6} T O (MulZeroClass.toHasZero.{u5} T (MulZeroOneClass.toMulZeroClass.{u5} T (MonoidWithZero.toMulZeroOneClass.{u5} T (Semiring.toMonoidWithZero.{u5} T (Ring.toSemiring.{u5} T (CommRing.toRing.{u5} T _inst_14)))))) (AddZeroClass.toHasZero.{u6} O (AddMonoid.toAddZeroClass.{u6} O (AddCommMonoid.toAddMonoid.{u6} O _inst_18))) (MulActionWithZero.toSMulWithZero.{u5, u6} T O (Semiring.toMonoidWithZero.{u5} T (Ring.toSemiring.{u5} T (CommRing.toRing.{u5} T _inst_14))) (AddZeroClass.toHasZero.{u6} O (AddMonoid.toAddZeroClass.{u6} O (AddCommMonoid.toAddMonoid.{u6} O _inst_18))) (Module.toMulActionWithZero.{u5, u6} T O (Ring.toSemiring.{u5} T (CommRing.toRing.{u5} T _inst_14)) _inst_18 _inst_21)))) (SMulZeroClass.toHasSmul.{u4, u6} R O (AddZeroClass.toHasZero.{u6} O (AddMonoid.toAddZeroClass.{u6} O (AddCommMonoid.toAddMonoid.{u6} O _inst_18))) (SMulWithZero.toSmulZeroClass.{u4, u6} R O (MulZeroClass.toHasZero.{u4} R (MulZeroOneClass.toMulZeroClass.{u4} R (MonoidWithZero.toMulZeroOneClass.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)))))) (AddZeroClass.toHasZero.{u6} O (AddMonoid.toAddZeroClass.{u6} O (AddCommMonoid.toAddMonoid.{u6} O _inst_18))) (MulActionWithZero.toSMulWithZero.{u4, u6} R O (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3))) (AddZeroClass.toHasZero.{u6} O (AddMonoid.toAddZeroClass.{u6} O (AddCommMonoid.toAddMonoid.{u6} O _inst_18))) (Module.toMulActionWithZero.{u4, u6} R O (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) _inst_18 _inst_19))))] {f : LinearMap.{u4, u4, u1, u2} R R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)))) M N _inst_1 _inst_2 _inst_6 _inst_7}, (IsBaseChange.{u1, u2, u3, u4} R M N S _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 f) -> (forall {g : LinearMap.{u3, u3, u2, u6} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))) N O _inst_2 _inst_18 _inst_8 _inst_20}, (IsBaseChange.{u2, u6, u5, u3} S N O T _inst_2 _inst_18 _inst_4 _inst_14 _inst_16 _inst_8 _inst_20 _inst_21 _inst_22 g) -> (IsBaseChange.{u1, u6, u5, u4} R M O T _inst_1 _inst_18 _inst_3 _inst_14 _inst_15 _inst_6 _inst_19 _inst_21 _inst_24 (LinearMap.comp.{u4, u4, u4, u1, u2, u6} R R R M N O (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) _inst_1 _inst_2 _inst_18 _inst_6 _inst_7 _inst_19 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)))) (RingHomCompTriple.right_ids.{u4, u4} R R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3))))) (LinearMap.restrictScalars.{u4, u3, u2, u6} R S N O (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) _inst_2 _inst_18 _inst_7 _inst_19 _inst_8 _inst_20 (LinearMap.IsScalarTower.compatibleSMul.{u2, u6, u4, u3} N O _inst_2 _inst_18 R S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) (SMulZeroClass.toHasSmul.{u4, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))))))) (SMulWithZero.toSmulZeroClass.{u4, u3} R S (MulZeroClass.toHasZero.{u4} R (MulZeroOneClass.toMulZeroClass.{u4} R (MonoidWithZero.toMulZeroOneClass.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))))))) (MulActionWithZero.toSMulWithZero.{u4, u3} R S (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))))))) (Module.toMulActionWithZero.{u4, u3} R S (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4))))) (Algebra.toModule.{u4, u3} R S (CommRing.toCommSemiring.{u4} R _inst_3) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) _inst_5))))) (SMulZeroClass.toHasSmul.{u4, u2} R N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_2))) (SMulWithZero.toSmulZeroClass.{u4, u2} R N (MulZeroClass.toHasZero.{u4} R (MulZeroOneClass.toMulZeroClass.{u4} R (MonoidWithZero.toMulZeroOneClass.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)))))) (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_2))) (MulActionWithZero.toSMulWithZero.{u4, u2} R N (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3))) (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_2))) (Module.toMulActionWithZero.{u4, u2} R N (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) _inst_2 _inst_7)))) _inst_8 _inst_9 (SMulZeroClass.toHasSmul.{u4, u6} R O (AddZeroClass.toHasZero.{u6} O (AddMonoid.toAddZeroClass.{u6} O (AddCommMonoid.toAddMonoid.{u6} O _inst_18))) (SMulWithZero.toSmulZeroClass.{u4, u6} R O (MulZeroClass.toHasZero.{u4} R (MulZeroOneClass.toMulZeroClass.{u4} R (MonoidWithZero.toMulZeroOneClass.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)))))) (AddZeroClass.toHasZero.{u6} O (AddMonoid.toAddZeroClass.{u6} O (AddCommMonoid.toAddMonoid.{u6} O _inst_18))) (MulActionWithZero.toSMulWithZero.{u4, u6} R O (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3))) (AddZeroClass.toHasZero.{u6} O (AddMonoid.toAddZeroClass.{u6} O (AddCommMonoid.toAddMonoid.{u6} O _inst_18))) (Module.toMulActionWithZero.{u4, u6} R O (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) _inst_18 _inst_19)))) _inst_20 _inst_23) g) f)))
-but is expected to have type
-  forall {R : Type.{u3}} {M : Type.{u4}} {N : Type.{u5}} {S : Type.{u6}} [_inst_1 : AddCommMonoid.{u4} M] [_inst_2 : AddCommMonoid.{u5} N] [_inst_3 : CommRing.{u3} R] [_inst_4 : CommRing.{u6} S] [_inst_5 : Algebra.{u3, u6} R S (CommRing.toCommSemiring.{u3} R _inst_3) (CommSemiring.toSemiring.{u6} S (CommRing.toCommSemiring.{u6} S _inst_4))] [_inst_6 : Module.{u3, u4} R M (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) _inst_1] [_inst_7 : Module.{u3, u5} R N (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) _inst_2] [_inst_8 : Module.{u6, u5} S N (CommSemiring.toSemiring.{u6} S (CommRing.toCommSemiring.{u6} S _inst_4)) _inst_2] [_inst_9 : IsScalarTower.{u3, u6, u5} R S N (Algebra.toSMul.{u3, u6} R S (CommRing.toCommSemiring.{u3} R _inst_3) (CommSemiring.toSemiring.{u6} S (CommRing.toCommSemiring.{u6} S _inst_4)) _inst_5) (SMulZeroClass.toSMul.{u6, u5} S N (AddMonoid.toZero.{u5} N (AddCommMonoid.toAddMonoid.{u5} N _inst_2)) (SMulWithZero.toSMulZeroClass.{u6, u5} S N (CommMonoidWithZero.toZero.{u6} S (CommSemiring.toCommMonoidWithZero.{u6} S (CommRing.toCommSemiring.{u6} S _inst_4))) (AddMonoid.toZero.{u5} N (AddCommMonoid.toAddMonoid.{u5} N _inst_2)) (MulActionWithZero.toSMulWithZero.{u6, u5} S N (Semiring.toMonoidWithZero.{u6} S (CommSemiring.toSemiring.{u6} S (CommRing.toCommSemiring.{u6} S _inst_4))) (AddMonoid.toZero.{u5} N (AddCommMonoid.toAddMonoid.{u5} N _inst_2)) (Module.toMulActionWithZero.{u6, u5} S N (CommSemiring.toSemiring.{u6} S (CommRing.toCommSemiring.{u6} S _inst_4)) _inst_2 _inst_8)))) (SMulZeroClass.toSMul.{u3, u5} R N (AddMonoid.toZero.{u5} N (AddCommMonoid.toAddMonoid.{u5} N _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u5} R N (CommMonoidWithZero.toZero.{u3} R (CommSemiring.toCommMonoidWithZero.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3))) (AddMonoid.toZero.{u5} N (AddCommMonoid.toAddMonoid.{u5} N _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u5} R N (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3))) (AddMonoid.toZero.{u5} N (AddCommMonoid.toAddMonoid.{u5} N _inst_2)) (Module.toMulActionWithZero.{u3, u5} R N (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) _inst_2 _inst_7))))] {T : Type.{u1}} {O : Type.{u2}} [_inst_14 : CommRing.{u1} T] [_inst_15 : Algebra.{u3, u1} R T (CommRing.toCommSemiring.{u3} R _inst_3) (CommSemiring.toSemiring.{u1} T (CommRing.toCommSemiring.{u1} T _inst_14))] [_inst_16 : Algebra.{u6, u1} S T (CommRing.toCommSemiring.{u6} S _inst_4) (CommSemiring.toSemiring.{u1} T (CommRing.toCommSemiring.{u1} T _inst_14))] [_inst_17 : IsScalarTower.{u3, u6, u1} R S T (Algebra.toSMul.{u3, u6} R S (CommRing.toCommSemiring.{u3} R _inst_3) (CommSemiring.toSemiring.{u6} S (CommRing.toCommSemiring.{u6} S _inst_4)) _inst_5) (Algebra.toSMul.{u6, u1} S T (CommRing.toCommSemiring.{u6} S _inst_4) (CommSemiring.toSemiring.{u1} T (CommRing.toCommSemiring.{u1} T _inst_14)) _inst_16) (Algebra.toSMul.{u3, u1} R T (CommRing.toCommSemiring.{u3} R _inst_3) (CommSemiring.toSemiring.{u1} T (CommRing.toCommSemiring.{u1} T _inst_14)) _inst_15)] [_inst_18 : AddCommMonoid.{u2} O] [_inst_19 : Module.{u3, u2} R O (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) _inst_18] [_inst_20 : Module.{u6, u2} S O (CommSemiring.toSemiring.{u6} S (CommRing.toCommSemiring.{u6} S _inst_4)) _inst_18] [_inst_21 : Module.{u1, u2} T O (CommSemiring.toSemiring.{u1} T (CommRing.toCommSemiring.{u1} T _inst_14)) _inst_18] [_inst_22 : IsScalarTower.{u6, u1, u2} S T O (Algebra.toSMul.{u6, u1} S T (CommRing.toCommSemiring.{u6} S _inst_4) (CommSemiring.toSemiring.{u1} T (CommRing.toCommSemiring.{u1} T _inst_14)) _inst_16) (SMulZeroClass.toSMul.{u1, u2} T O (AddMonoid.toZero.{u2} O (AddCommMonoid.toAddMonoid.{u2} O _inst_18)) (SMulWithZero.toSMulZeroClass.{u1, u2} T O (CommMonoidWithZero.toZero.{u1} T (CommSemiring.toCommMonoidWithZero.{u1} T (CommRing.toCommSemiring.{u1} T _inst_14))) (AddMonoid.toZero.{u2} O (AddCommMonoid.toAddMonoid.{u2} O _inst_18)) (MulActionWithZero.toSMulWithZero.{u1, u2} T O (Semiring.toMonoidWithZero.{u1} T (CommSemiring.toSemiring.{u1} T (CommRing.toCommSemiring.{u1} T _inst_14))) (AddMonoid.toZero.{u2} O (AddCommMonoid.toAddMonoid.{u2} O _inst_18)) (Module.toMulActionWithZero.{u1, u2} T O (CommSemiring.toSemiring.{u1} T (CommRing.toCommSemiring.{u1} T _inst_14)) _inst_18 _inst_21)))) (SMulZeroClass.toSMul.{u6, u2} S O (AddMonoid.toZero.{u2} O (AddCommMonoid.toAddMonoid.{u2} O _inst_18)) (SMulWithZero.toSMulZeroClass.{u6, u2} S O (CommMonoidWithZero.toZero.{u6} S (CommSemiring.toCommMonoidWithZero.{u6} S (CommRing.toCommSemiring.{u6} S _inst_4))) (AddMonoid.toZero.{u2} O (AddCommMonoid.toAddMonoid.{u2} O _inst_18)) (MulActionWithZero.toSMulWithZero.{u6, u2} S O (Semiring.toMonoidWithZero.{u6} S (CommSemiring.toSemiring.{u6} S (CommRing.toCommSemiring.{u6} S _inst_4))) (AddMonoid.toZero.{u2} O (AddCommMonoid.toAddMonoid.{u2} O _inst_18)) (Module.toMulActionWithZero.{u6, u2} S O (CommSemiring.toSemiring.{u6} S (CommRing.toCommSemiring.{u6} S _inst_4)) _inst_18 _inst_20))))] [_inst_23 : IsScalarTower.{u3, u6, u2} R S O (Algebra.toSMul.{u3, u6} R S (CommRing.toCommSemiring.{u3} R _inst_3) (CommSemiring.toSemiring.{u6} S (CommRing.toCommSemiring.{u6} S _inst_4)) _inst_5) (SMulZeroClass.toSMul.{u6, u2} S O (AddMonoid.toZero.{u2} O (AddCommMonoid.toAddMonoid.{u2} O _inst_18)) (SMulWithZero.toSMulZeroClass.{u6, u2} S O (CommMonoidWithZero.toZero.{u6} S (CommSemiring.toCommMonoidWithZero.{u6} S (CommRing.toCommSemiring.{u6} S _inst_4))) (AddMonoid.toZero.{u2} O (AddCommMonoid.toAddMonoid.{u2} O _inst_18)) (MulActionWithZero.toSMulWithZero.{u6, u2} S O (Semiring.toMonoidWithZero.{u6} S (CommSemiring.toSemiring.{u6} S (CommRing.toCommSemiring.{u6} S _inst_4))) (AddMonoid.toZero.{u2} O (AddCommMonoid.toAddMonoid.{u2} O _inst_18)) (Module.toMulActionWithZero.{u6, u2} S O (CommSemiring.toSemiring.{u6} S (CommRing.toCommSemiring.{u6} S _inst_4)) _inst_18 _inst_20)))) (SMulZeroClass.toSMul.{u3, u2} R O (AddMonoid.toZero.{u2} O (AddCommMonoid.toAddMonoid.{u2} O _inst_18)) (SMulWithZero.toSMulZeroClass.{u3, u2} R O (CommMonoidWithZero.toZero.{u3} R (CommSemiring.toCommMonoidWithZero.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3))) (AddMonoid.toZero.{u2} O (AddCommMonoid.toAddMonoid.{u2} O _inst_18)) (MulActionWithZero.toSMulWithZero.{u3, u2} R O (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3))) (AddMonoid.toZero.{u2} O (AddCommMonoid.toAddMonoid.{u2} O _inst_18)) (Module.toMulActionWithZero.{u3, u2} R O (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) _inst_18 _inst_19))))] [_inst_24 : IsScalarTower.{u3, u1, u2} R T O (Algebra.toSMul.{u3, u1} R T (CommRing.toCommSemiring.{u3} R _inst_3) (CommSemiring.toSemiring.{u1} T (CommRing.toCommSemiring.{u1} T _inst_14)) _inst_15) (SMulZeroClass.toSMul.{u1, u2} T O (AddMonoid.toZero.{u2} O (AddCommMonoid.toAddMonoid.{u2} O _inst_18)) (SMulWithZero.toSMulZeroClass.{u1, u2} T O (CommMonoidWithZero.toZero.{u1} T (CommSemiring.toCommMonoidWithZero.{u1} T (CommRing.toCommSemiring.{u1} T _inst_14))) (AddMonoid.toZero.{u2} O (AddCommMonoid.toAddMonoid.{u2} O _inst_18)) (MulActionWithZero.toSMulWithZero.{u1, u2} T O (Semiring.toMonoidWithZero.{u1} T (CommSemiring.toSemiring.{u1} T (CommRing.toCommSemiring.{u1} T _inst_14))) (AddMonoid.toZero.{u2} O (AddCommMonoid.toAddMonoid.{u2} O _inst_18)) (Module.toMulActionWithZero.{u1, u2} T O (CommSemiring.toSemiring.{u1} T (CommRing.toCommSemiring.{u1} T _inst_14)) _inst_18 _inst_21)))) (SMulZeroClass.toSMul.{u3, u2} R O (AddMonoid.toZero.{u2} O (AddCommMonoid.toAddMonoid.{u2} O _inst_18)) (SMulWithZero.toSMulZeroClass.{u3, u2} R O (CommMonoidWithZero.toZero.{u3} R (CommSemiring.toCommMonoidWithZero.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3))) (AddMonoid.toZero.{u2} O (AddCommMonoid.toAddMonoid.{u2} O _inst_18)) (MulActionWithZero.toSMulWithZero.{u3, u2} R O (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3))) (AddMonoid.toZero.{u2} O (AddCommMonoid.toAddMonoid.{u2} O _inst_18)) (Module.toMulActionWithZero.{u3, u2} R O (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) _inst_18 _inst_19))))] {f : LinearMap.{u3, u3, u4, u5} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) M N _inst_1 _inst_2 _inst_6 _inst_7}, (IsBaseChange.{u4, u5, u6, u3} R M N S _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 f) -> (forall {g : LinearMap.{u6, u6, u5, u2} S S (CommSemiring.toSemiring.{u6} S (CommRing.toCommSemiring.{u6} S _inst_4)) (CommSemiring.toSemiring.{u6} S (CommRing.toCommSemiring.{u6} S _inst_4)) (RingHom.id.{u6} S (Semiring.toNonAssocSemiring.{u6} S (CommSemiring.toSemiring.{u6} S (CommRing.toCommSemiring.{u6} S _inst_4)))) N O _inst_2 _inst_18 _inst_8 _inst_20}, (IsBaseChange.{u5, u2, u1, u6} S N O T _inst_2 _inst_18 _inst_4 _inst_14 _inst_16 _inst_8 _inst_20 _inst_21 _inst_22 g) -> (IsBaseChange.{u4, u2, u1, u3} R M O T _inst_1 _inst_18 _inst_3 _inst_14 _inst_15 _inst_6 _inst_19 _inst_21 _inst_24 (LinearMap.comp.{u3, u3, u3, u4, u5, u2} R R R M N O (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) _inst_1 _inst_2 _inst_18 _inst_6 _inst_7 _inst_19 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (RingHomCompTriple.ids.{u3, u3} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3))))) (LinearMap.restrictScalars.{u3, u6, u5, u2} R S N O (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u6} S (CommRing.toCommSemiring.{u6} S _inst_4)) _inst_2 _inst_18 _inst_7 _inst_19 _inst_8 _inst_20 (LinearMap.IsScalarTower.compatibleSMul.{u5, u2, u3, u6} N O _inst_2 _inst_18 R S (CommSemiring.toSemiring.{u6} S (CommRing.toCommSemiring.{u6} S _inst_4)) (Algebra.toSMul.{u3, u6} R S (CommRing.toCommSemiring.{u3} R _inst_3) (CommSemiring.toSemiring.{u6} S (CommRing.toCommSemiring.{u6} S _inst_4)) _inst_5) (SMulZeroClass.toSMul.{u3, u5} R N (AddMonoid.toZero.{u5} N (AddCommMonoid.toAddMonoid.{u5} N _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u5} R N (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (AddMonoid.toZero.{u5} N (AddCommMonoid.toAddMonoid.{u5} N _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u5} R N (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3))) (AddMonoid.toZero.{u5} N (AddCommMonoid.toAddMonoid.{u5} N _inst_2)) (Module.toMulActionWithZero.{u3, u5} R N (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) _inst_2 _inst_7)))) _inst_8 _inst_9 (SMulZeroClass.toSMul.{u3, u2} R O (AddMonoid.toZero.{u2} O (AddCommMonoid.toAddMonoid.{u2} O _inst_18)) (SMulWithZero.toSMulZeroClass.{u3, u2} R O (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (AddMonoid.toZero.{u2} O (AddCommMonoid.toAddMonoid.{u2} O _inst_18)) (MulActionWithZero.toSMulWithZero.{u3, u2} R O (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3))) (AddMonoid.toZero.{u2} O (AddCommMonoid.toAddMonoid.{u2} O _inst_18)) (Module.toMulActionWithZero.{u3, u2} R O (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) _inst_18 _inst_19)))) _inst_20 _inst_23) g) f)))
+<too large>
 Case conversion may be inaccurate. Consider using '#align is_base_change.comp IsBaseChange.compₓ'. -/
 theorem IsBaseChange.comp {f : M →ₗ[R] N} (hf : IsBaseChange S f) {g : N →ₗ[S] O}
     (hg : IsBaseChange T g) : IsBaseChange T ((g.restrictScalars R).comp f) :=
@@ -520,10 +475,7 @@ class Algebra.IsPushout : Prop where
 variable {R S R' S'}
 
 /- warning: algebra.is_pushout.symm -> Algebra.IsPushout.symm is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u2}} {S : Type.{u1}} [_inst_3 : CommRing.{u2} R] [_inst_4 : CommRing.{u1} S] [_inst_5 : Algebra.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_4))] {R' : Type.{u3}} {S' : Type.{u4}} [_inst_25 : CommRing.{u3} R'] [_inst_26 : CommRing.{u4} S'] [_inst_27 : Algebra.{u2, u3} R R' (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_25))] [_inst_28 : Algebra.{u1, u4} S S' (CommRing.toCommSemiring.{u1} S _inst_4) (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26))] [_inst_29 : Algebra.{u3, u4} R' S' (CommRing.toCommSemiring.{u3} R' _inst_25) (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26))] [_inst_30 : Algebra.{u2, u4} R S' (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26))] [_inst_31 : IsScalarTower.{u2, u3, u4} R R' S' (SMulZeroClass.toHasSmul.{u2, u3} R R' (AddZeroClass.toHasZero.{u3} R' (AddMonoid.toAddZeroClass.{u3} R' (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_25)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} R R' (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (AddZeroClass.toHasZero.{u3} R' (AddMonoid.toAddZeroClass.{u3} R' (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_25)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} R R' (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddZeroClass.toHasZero.{u3} R' (AddMonoid.toAddZeroClass.{u3} R' (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_25)))))))) (Module.toMulActionWithZero.{u2, u3} R R' (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_25))))) (Algebra.toModule.{u2, u3} R R' (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_25)) _inst_27))))) (SMulZeroClass.toHasSmul.{u3, u4} R' S' (AddZeroClass.toHasZero.{u4} S' (AddMonoid.toAddZeroClass.{u4} S' (AddCommMonoid.toAddMonoid.{u4} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))))))) (SMulWithZero.toSmulZeroClass.{u3, u4} R' S' (MulZeroClass.toHasZero.{u3} R' (MulZeroOneClass.toMulZeroClass.{u3} R' (MonoidWithZero.toMulZeroOneClass.{u3} R' (Semiring.toMonoidWithZero.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)))))) (AddZeroClass.toHasZero.{u4} S' (AddMonoid.toAddZeroClass.{u4} S' (AddCommMonoid.toAddMonoid.{u4} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))))))) (MulActionWithZero.toSMulWithZero.{u3, u4} R' S' (Semiring.toMonoidWithZero.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25))) (AddZeroClass.toHasZero.{u4} S' (AddMonoid.toAddZeroClass.{u4} S' (AddCommMonoid.toAddMonoid.{u4} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))))))) (Module.toMulActionWithZero.{u3, u4} R' S' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26))))) (Algebra.toModule.{u3, u4} R' S' (CommRing.toCommSemiring.{u3} R' _inst_25) (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)) _inst_29))))) (SMulZeroClass.toHasSmul.{u2, u4} R S' (AddZeroClass.toHasZero.{u4} S' (AddMonoid.toAddZeroClass.{u4} S' (AddCommMonoid.toAddMonoid.{u4} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))))))) (SMulWithZero.toSmulZeroClass.{u2, u4} R S' (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (AddZeroClass.toHasZero.{u4} S' (AddMonoid.toAddZeroClass.{u4} S' (AddCommMonoid.toAddMonoid.{u4} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))))))) (MulActionWithZero.toSMulWithZero.{u2, u4} R S' (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddZeroClass.toHasZero.{u4} S' (AddMonoid.toAddZeroClass.{u4} S' (AddCommMonoid.toAddMonoid.{u4} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))))))) (Module.toMulActionWithZero.{u2, u4} R S' (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26))))) (Algebra.toModule.{u2, u4} R S' (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)) _inst_30)))))] [_inst_32 : IsScalarTower.{u2, u1, u4} R S S' (SMulZeroClass.toHasSmul.{u2, u1} R S (AddZeroClass.toHasZero.{u1} S (AddMonoid.toAddZeroClass.{u1} S (AddCommMonoid.toAddMonoid.{u1} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_4)))))))) (SMulWithZero.toSmulZeroClass.{u2, u1} R S (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (AddZeroClass.toHasZero.{u1} S (AddMonoid.toAddZeroClass.{u1} S (AddCommMonoid.toAddMonoid.{u1} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_4)))))))) (MulActionWithZero.toSMulWithZero.{u2, u1} R S (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddZeroClass.toHasZero.{u1} S (AddMonoid.toAddZeroClass.{u1} S (AddCommMonoid.toAddMonoid.{u1} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_4)))))))) (Module.toMulActionWithZero.{u2, u1} R S (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_4))))) (Algebra.toModule.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_4)) _inst_5))))) (SMulZeroClass.toHasSmul.{u1, u4} S S' (AddZeroClass.toHasZero.{u4} S' (AddMonoid.toAddZeroClass.{u4} S' (AddCommMonoid.toAddMonoid.{u4} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))))))) (SMulWithZero.toSmulZeroClass.{u1, u4} S S' (MulZeroClass.toHasZero.{u1} S (MulZeroOneClass.toMulZeroClass.{u1} S (MonoidWithZero.toMulZeroOneClass.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_4)))))) (AddZeroClass.toHasZero.{u4} S' (AddMonoid.toAddZeroClass.{u4} S' (AddCommMonoid.toAddMonoid.{u4} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))))))) (MulActionWithZero.toSMulWithZero.{u1, u4} S S' (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_4))) (AddZeroClass.toHasZero.{u4} S' (AddMonoid.toAddZeroClass.{u4} S' (AddCommMonoid.toAddMonoid.{u4} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))))))) (Module.toMulActionWithZero.{u1, u4} S S' (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_4)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26))))) (Algebra.toModule.{u1, u4} S S' (CommRing.toCommSemiring.{u1} S _inst_4) (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)) _inst_28))))) (SMulZeroClass.toHasSmul.{u2, u4} R S' (AddZeroClass.toHasZero.{u4} S' (AddMonoid.toAddZeroClass.{u4} S' (AddCommMonoid.toAddMonoid.{u4} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))))))) (SMulWithZero.toSmulZeroClass.{u2, u4} R S' (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (AddZeroClass.toHasZero.{u4} S' (AddMonoid.toAddZeroClass.{u4} S' (AddCommMonoid.toAddMonoid.{u4} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))))))) (MulActionWithZero.toSMulWithZero.{u2, u4} R S' (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddZeroClass.toHasZero.{u4} S' (AddMonoid.toAddZeroClass.{u4} S' (AddCommMonoid.toAddMonoid.{u4} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))))))) (Module.toMulActionWithZero.{u2, u4} R S' (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26))))) (Algebra.toModule.{u2, u4} R S' (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)) _inst_30)))))], (Algebra.IsPushout.{u1, u2, u3, u4} R S _inst_3 _inst_4 _inst_5 R' S' _inst_25 _inst_26 _inst_27 _inst_28 _inst_29 _inst_30 _inst_31 _inst_32) -> (Algebra.IsPushout.{u3, u2, u1, u4} R R' _inst_3 _inst_25 _inst_27 S S' _inst_4 _inst_26 _inst_5 _inst_29 _inst_28 _inst_30 _inst_32 _inst_31)
-but is expected to have type
-  forall {R : Type.{u3}} {S : Type.{u4}} [_inst_3 : CommRing.{u3} R] [_inst_4 : CommRing.{u4} S] [_inst_5 : Algebra.{u3, u4} R S (CommRing.toCommSemiring.{u3} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4))] {R' : Type.{u2}} {S' : Type.{u1}} [_inst_25 : CommRing.{u2} R'] [_inst_26 : CommRing.{u1} S'] [_inst_27 : Algebra.{u3, u2} R R' (CommRing.toCommSemiring.{u3} R _inst_3) (CommSemiring.toSemiring.{u2} R' (CommRing.toCommSemiring.{u2} R' _inst_25))] [_inst_28 : Algebra.{u4, u1} S S' (CommRing.toCommSemiring.{u4} S _inst_4) (CommSemiring.toSemiring.{u1} S' (CommRing.toCommSemiring.{u1} S' _inst_26))] [_inst_29 : Algebra.{u2, u1} R' S' (CommRing.toCommSemiring.{u2} R' _inst_25) (CommSemiring.toSemiring.{u1} S' (CommRing.toCommSemiring.{u1} S' _inst_26))] [_inst_30 : Algebra.{u3, u1} R S' (CommRing.toCommSemiring.{u3} R _inst_3) (CommSemiring.toSemiring.{u1} S' (CommRing.toCommSemiring.{u1} S' _inst_26))] [_inst_31 : IsScalarTower.{u3, u2, u1} R R' S' (Algebra.toSMul.{u3, u2} R R' (CommRing.toCommSemiring.{u3} R _inst_3) (CommSemiring.toSemiring.{u2} R' (CommRing.toCommSemiring.{u2} R' _inst_25)) _inst_27) (Algebra.toSMul.{u2, u1} R' S' (CommRing.toCommSemiring.{u2} R' _inst_25) (CommSemiring.toSemiring.{u1} S' (CommRing.toCommSemiring.{u1} S' _inst_26)) _inst_29) (Algebra.toSMul.{u3, u1} R S' (CommRing.toCommSemiring.{u3} R _inst_3) (CommSemiring.toSemiring.{u1} S' (CommRing.toCommSemiring.{u1} S' _inst_26)) _inst_30)] [_inst_32 : IsScalarTower.{u3, u4, u1} R S S' (Algebra.toSMul.{u3, u4} R S (CommRing.toCommSemiring.{u3} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) (Algebra.toSMul.{u4, u1} S S' (CommRing.toCommSemiring.{u4} S _inst_4) (CommSemiring.toSemiring.{u1} S' (CommRing.toCommSemiring.{u1} S' _inst_26)) _inst_28) (Algebra.toSMul.{u3, u1} R S' (CommRing.toCommSemiring.{u3} R _inst_3) (CommSemiring.toSemiring.{u1} S' (CommRing.toCommSemiring.{u1} S' _inst_26)) _inst_30)], (Algebra.IsPushout.{u4, u3, u2, u1} R S _inst_3 _inst_4 _inst_5 R' S' _inst_25 _inst_26 _inst_27 _inst_28 _inst_29 _inst_30 _inst_31 _inst_32) -> (Algebra.IsPushout.{u2, u3, u4, u1} R R' _inst_3 _inst_25 _inst_27 S S' _inst_4 _inst_26 _inst_5 _inst_29 _inst_28 _inst_30 _inst_32 _inst_31)
+<too large>
 Case conversion may be inaccurate. Consider using '#align algebra.is_pushout.symm Algebra.IsPushout.symmₓ'. -/
 theorem Algebra.IsPushout.symm (h : Algebra.IsPushout R S R' S') : Algebra.IsPushout R R' S S' :=
   by
@@ -555,10 +507,7 @@ theorem Algebra.IsPushout.symm (h : Algebra.IsPushout R S R' S') : Algebra.IsPus
 variable (R S R' S')
 
 /- warning: algebra.is_pushout.comm -> Algebra.IsPushout.comm is a dubious translation:
-lean 3 declaration is
-  forall (R : Type.{u2}) (S : Type.{u1}) [_inst_3 : CommRing.{u2} R] [_inst_4 : CommRing.{u1} S] [_inst_5 : Algebra.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_4))] (R' : Type.{u3}) (S' : Type.{u4}) [_inst_25 : CommRing.{u3} R'] [_inst_26 : CommRing.{u4} S'] [_inst_27 : Algebra.{u2, u3} R R' (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_25))] [_inst_28 : Algebra.{u1, u4} S S' (CommRing.toCommSemiring.{u1} S _inst_4) (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26))] [_inst_29 : Algebra.{u3, u4} R' S' (CommRing.toCommSemiring.{u3} R' _inst_25) (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26))] [_inst_30 : Algebra.{u2, u4} R S' (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26))] [_inst_31 : IsScalarTower.{u2, u3, u4} R R' S' (SMulZeroClass.toHasSmul.{u2, u3} R R' (AddZeroClass.toHasZero.{u3} R' (AddMonoid.toAddZeroClass.{u3} R' (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_25)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} R R' (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (AddZeroClass.toHasZero.{u3} R' (AddMonoid.toAddZeroClass.{u3} R' (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_25)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} R R' (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddZeroClass.toHasZero.{u3} R' (AddMonoid.toAddZeroClass.{u3} R' (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_25)))))))) (Module.toMulActionWithZero.{u2, u3} R R' (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_25))))) (Algebra.toModule.{u2, u3} R R' (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_25)) _inst_27))))) (SMulZeroClass.toHasSmul.{u3, u4} R' S' (AddZeroClass.toHasZero.{u4} S' (AddMonoid.toAddZeroClass.{u4} S' (AddCommMonoid.toAddMonoid.{u4} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))))))) (SMulWithZero.toSmulZeroClass.{u3, u4} R' S' (MulZeroClass.toHasZero.{u3} R' (MulZeroOneClass.toMulZeroClass.{u3} R' (MonoidWithZero.toMulZeroOneClass.{u3} R' (Semiring.toMonoidWithZero.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)))))) (AddZeroClass.toHasZero.{u4} S' (AddMonoid.toAddZeroClass.{u4} S' (AddCommMonoid.toAddMonoid.{u4} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))))))) (MulActionWithZero.toSMulWithZero.{u3, u4} R' S' (Semiring.toMonoidWithZero.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25))) (AddZeroClass.toHasZero.{u4} S' (AddMonoid.toAddZeroClass.{u4} S' (AddCommMonoid.toAddMonoid.{u4} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))))))) (Module.toMulActionWithZero.{u3, u4} R' S' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26))))) (Algebra.toModule.{u3, u4} R' S' (CommRing.toCommSemiring.{u3} R' _inst_25) (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)) _inst_29))))) (SMulZeroClass.toHasSmul.{u2, u4} R S' (AddZeroClass.toHasZero.{u4} S' (AddMonoid.toAddZeroClass.{u4} S' (AddCommMonoid.toAddMonoid.{u4} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))))))) (SMulWithZero.toSmulZeroClass.{u2, u4} R S' (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (AddZeroClass.toHasZero.{u4} S' (AddMonoid.toAddZeroClass.{u4} S' (AddCommMonoid.toAddMonoid.{u4} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))))))) (MulActionWithZero.toSMulWithZero.{u2, u4} R S' (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddZeroClass.toHasZero.{u4} S' (AddMonoid.toAddZeroClass.{u4} S' (AddCommMonoid.toAddMonoid.{u4} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))))))) (Module.toMulActionWithZero.{u2, u4} R S' (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26))))) (Algebra.toModule.{u2, u4} R S' (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)) _inst_30)))))] [_inst_32 : IsScalarTower.{u2, u1, u4} R S S' (SMulZeroClass.toHasSmul.{u2, u1} R S (AddZeroClass.toHasZero.{u1} S (AddMonoid.toAddZeroClass.{u1} S (AddCommMonoid.toAddMonoid.{u1} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_4)))))))) (SMulWithZero.toSmulZeroClass.{u2, u1} R S (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (AddZeroClass.toHasZero.{u1} S (AddMonoid.toAddZeroClass.{u1} S (AddCommMonoid.toAddMonoid.{u1} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_4)))))))) (MulActionWithZero.toSMulWithZero.{u2, u1} R S (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddZeroClass.toHasZero.{u1} S (AddMonoid.toAddZeroClass.{u1} S (AddCommMonoid.toAddMonoid.{u1} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_4)))))))) (Module.toMulActionWithZero.{u2, u1} R S (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_4))))) (Algebra.toModule.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_4)) _inst_5))))) (SMulZeroClass.toHasSmul.{u1, u4} S S' (AddZeroClass.toHasZero.{u4} S' (AddMonoid.toAddZeroClass.{u4} S' (AddCommMonoid.toAddMonoid.{u4} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))))))) (SMulWithZero.toSmulZeroClass.{u1, u4} S S' (MulZeroClass.toHasZero.{u1} S (MulZeroOneClass.toMulZeroClass.{u1} S (MonoidWithZero.toMulZeroOneClass.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_4)))))) (AddZeroClass.toHasZero.{u4} S' (AddMonoid.toAddZeroClass.{u4} S' (AddCommMonoid.toAddMonoid.{u4} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))))))) (MulActionWithZero.toSMulWithZero.{u1, u4} S S' (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_4))) (AddZeroClass.toHasZero.{u4} S' (AddMonoid.toAddZeroClass.{u4} S' (AddCommMonoid.toAddMonoid.{u4} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))))))) (Module.toMulActionWithZero.{u1, u4} S S' (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_4)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26))))) (Algebra.toModule.{u1, u4} S S' (CommRing.toCommSemiring.{u1} S _inst_4) (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)) _inst_28))))) (SMulZeroClass.toHasSmul.{u2, u4} R S' (AddZeroClass.toHasZero.{u4} S' (AddMonoid.toAddZeroClass.{u4} S' (AddCommMonoid.toAddMonoid.{u4} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))))))) (SMulWithZero.toSmulZeroClass.{u2, u4} R S' (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (AddZeroClass.toHasZero.{u4} S' (AddMonoid.toAddZeroClass.{u4} S' (AddCommMonoid.toAddMonoid.{u4} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))))))) (MulActionWithZero.toSMulWithZero.{u2, u4} R S' (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddZeroClass.toHasZero.{u4} S' (AddMonoid.toAddZeroClass.{u4} S' (AddCommMonoid.toAddMonoid.{u4} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))))))) (Module.toMulActionWithZero.{u2, u4} R S' (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26))))) (Algebra.toModule.{u2, u4} R S' (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)) _inst_30)))))], Iff (Algebra.IsPushout.{u1, u2, u3, u4} R S _inst_3 _inst_4 _inst_5 R' S' _inst_25 _inst_26 _inst_27 _inst_28 _inst_29 _inst_30 _inst_31 _inst_32) (Algebra.IsPushout.{u3, u2, u1, u4} R R' _inst_3 _inst_25 _inst_27 S S' _inst_4 _inst_26 _inst_5 _inst_29 _inst_28 _inst_30 _inst_32 _inst_31)
-but is expected to have type
-  forall (R : Type.{u3}) (S : Type.{u4}) [_inst_3 : CommRing.{u3} R] [_inst_4 : CommRing.{u4} S] [_inst_5 : Algebra.{u3, u4} R S (CommRing.toCommSemiring.{u3} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4))] (R' : Type.{u2}) (S' : Type.{u1}) [_inst_25 : CommRing.{u2} R'] [_inst_26 : CommRing.{u1} S'] [_inst_27 : Algebra.{u3, u2} R R' (CommRing.toCommSemiring.{u3} R _inst_3) (CommSemiring.toSemiring.{u2} R' (CommRing.toCommSemiring.{u2} R' _inst_25))] [_inst_28 : Algebra.{u4, u1} S S' (CommRing.toCommSemiring.{u4} S _inst_4) (CommSemiring.toSemiring.{u1} S' (CommRing.toCommSemiring.{u1} S' _inst_26))] [_inst_29 : Algebra.{u2, u1} R' S' (CommRing.toCommSemiring.{u2} R' _inst_25) (CommSemiring.toSemiring.{u1} S' (CommRing.toCommSemiring.{u1} S' _inst_26))] [_inst_30 : Algebra.{u3, u1} R S' (CommRing.toCommSemiring.{u3} R _inst_3) (CommSemiring.toSemiring.{u1} S' (CommRing.toCommSemiring.{u1} S' _inst_26))] [_inst_31 : IsScalarTower.{u3, u2, u1} R R' S' (Algebra.toSMul.{u3, u2} R R' (CommRing.toCommSemiring.{u3} R _inst_3) (CommSemiring.toSemiring.{u2} R' (CommRing.toCommSemiring.{u2} R' _inst_25)) _inst_27) (Algebra.toSMul.{u2, u1} R' S' (CommRing.toCommSemiring.{u2} R' _inst_25) (CommSemiring.toSemiring.{u1} S' (CommRing.toCommSemiring.{u1} S' _inst_26)) _inst_29) (Algebra.toSMul.{u3, u1} R S' (CommRing.toCommSemiring.{u3} R _inst_3) (CommSemiring.toSemiring.{u1} S' (CommRing.toCommSemiring.{u1} S' _inst_26)) _inst_30)] [_inst_32 : IsScalarTower.{u3, u4, u1} R S S' (Algebra.toSMul.{u3, u4} R S (CommRing.toCommSemiring.{u3} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) (Algebra.toSMul.{u4, u1} S S' (CommRing.toCommSemiring.{u4} S _inst_4) (CommSemiring.toSemiring.{u1} S' (CommRing.toCommSemiring.{u1} S' _inst_26)) _inst_28) (Algebra.toSMul.{u3, u1} R S' (CommRing.toCommSemiring.{u3} R _inst_3) (CommSemiring.toSemiring.{u1} S' (CommRing.toCommSemiring.{u1} S' _inst_26)) _inst_30)], Iff (Algebra.IsPushout.{u4, u3, u2, u1} R S _inst_3 _inst_4 _inst_5 R' S' _inst_25 _inst_26 _inst_27 _inst_28 _inst_29 _inst_30 _inst_31 _inst_32) (Algebra.IsPushout.{u2, u3, u4, u1} R R' _inst_3 _inst_25 _inst_27 S S' _inst_4 _inst_26 _inst_5 _inst_29 _inst_28 _inst_30 _inst_32 _inst_31)
+<too large>
 Case conversion may be inaccurate. Consider using '#align algebra.is_pushout.comm Algebra.IsPushout.commₓ'. -/
 theorem Algebra.IsPushout.comm : Algebra.IsPushout R S R' S' ↔ Algebra.IsPushout R R' S S' :=
   ⟨Algebra.IsPushout.symm, Algebra.IsPushout.symm⟩
@@ -591,10 +540,7 @@ instance TensorProduct.isPushout' {R S T : Type _} [CommRing R] [CommRing S] [Co
 #align tensor_product.is_pushout' TensorProduct.isPushout'
 
 /- warning: algebra.pushout_desc -> Algebra.pushoutDesc is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u2}} {S : Type.{u1}} [_inst_3 : CommRing.{u2} R] [_inst_4 : CommRing.{u1} S] [_inst_5 : Algebra.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_4))] {R' : Type.{u3}} (S' : Type.{u4}) [_inst_25 : CommRing.{u3} R'] [_inst_26 : CommRing.{u4} S'] [_inst_27 : Algebra.{u2, u3} R R' (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_25))] [_inst_28 : Algebra.{u1, u4} S S' (CommRing.toCommSemiring.{u1} S _inst_4) (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26))] [_inst_29 : Algebra.{u3, u4} R' S' (CommRing.toCommSemiring.{u3} R' _inst_25) (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26))] [_inst_30 : Algebra.{u2, u4} R S' (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26))] [_inst_31 : IsScalarTower.{u2, u3, u4} R R' S' (SMulZeroClass.toHasSmul.{u2, u3} R R' (AddZeroClass.toHasZero.{u3} R' (AddMonoid.toAddZeroClass.{u3} R' (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_25)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} R R' (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (AddZeroClass.toHasZero.{u3} R' (AddMonoid.toAddZeroClass.{u3} R' (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_25)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} R R' (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddZeroClass.toHasZero.{u3} R' (AddMonoid.toAddZeroClass.{u3} R' (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_25)))))))) (Module.toMulActionWithZero.{u2, u3} R R' (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_25))))) (Algebra.toModule.{u2, u3} R R' (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_25)) _inst_27))))) (SMulZeroClass.toHasSmul.{u3, u4} R' S' (AddZeroClass.toHasZero.{u4} S' (AddMonoid.toAddZeroClass.{u4} S' (AddCommMonoid.toAddMonoid.{u4} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))))))) (SMulWithZero.toSmulZeroClass.{u3, u4} R' S' (MulZeroClass.toHasZero.{u3} R' (MulZeroOneClass.toMulZeroClass.{u3} R' (MonoidWithZero.toMulZeroOneClass.{u3} R' (Semiring.toMonoidWithZero.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)))))) (AddZeroClass.toHasZero.{u4} S' (AddMonoid.toAddZeroClass.{u4} S' (AddCommMonoid.toAddMonoid.{u4} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))))))) (MulActionWithZero.toSMulWithZero.{u3, u4} R' S' (Semiring.toMonoidWithZero.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25))) (AddZeroClass.toHasZero.{u4} S' (AddMonoid.toAddZeroClass.{u4} S' (AddCommMonoid.toAddMonoid.{u4} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))))))) (Module.toMulActionWithZero.{u3, u4} R' S' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26))))) (Algebra.toModule.{u3, u4} R' S' (CommRing.toCommSemiring.{u3} R' _inst_25) (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)) _inst_29))))) (SMulZeroClass.toHasSmul.{u2, u4} R S' (AddZeroClass.toHasZero.{u4} S' (AddMonoid.toAddZeroClass.{u4} S' (AddCommMonoid.toAddMonoid.{u4} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))))))) (SMulWithZero.toSmulZeroClass.{u2, u4} R S' (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (AddZeroClass.toHasZero.{u4} S' (AddMonoid.toAddZeroClass.{u4} S' (AddCommMonoid.toAddMonoid.{u4} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))))))) (MulActionWithZero.toSMulWithZero.{u2, u4} R S' (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddZeroClass.toHasZero.{u4} S' (AddMonoid.toAddZeroClass.{u4} S' (AddCommMonoid.toAddMonoid.{u4} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))))))) (Module.toMulActionWithZero.{u2, u4} R S' (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26))))) (Algebra.toModule.{u2, u4} R S' (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)) _inst_30)))))] [_inst_32 : IsScalarTower.{u2, u1, u4} R S S' (SMulZeroClass.toHasSmul.{u2, u1} R S (AddZeroClass.toHasZero.{u1} S (AddMonoid.toAddZeroClass.{u1} S (AddCommMonoid.toAddMonoid.{u1} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_4)))))))) (SMulWithZero.toSmulZeroClass.{u2, u1} R S (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (AddZeroClass.toHasZero.{u1} S (AddMonoid.toAddZeroClass.{u1} S (AddCommMonoid.toAddMonoid.{u1} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_4)))))))) (MulActionWithZero.toSMulWithZero.{u2, u1} R S (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddZeroClass.toHasZero.{u1} S (AddMonoid.toAddZeroClass.{u1} S (AddCommMonoid.toAddMonoid.{u1} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_4)))))))) (Module.toMulActionWithZero.{u2, u1} R S (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_4))))) (Algebra.toModule.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_4)) _inst_5))))) (SMulZeroClass.toHasSmul.{u1, u4} S S' (AddZeroClass.toHasZero.{u4} S' (AddMonoid.toAddZeroClass.{u4} S' (AddCommMonoid.toAddMonoid.{u4} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))))))) (SMulWithZero.toSmulZeroClass.{u1, u4} S S' (MulZeroClass.toHasZero.{u1} S (MulZeroOneClass.toMulZeroClass.{u1} S (MonoidWithZero.toMulZeroOneClass.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_4)))))) (AddZeroClass.toHasZero.{u4} S' (AddMonoid.toAddZeroClass.{u4} S' (AddCommMonoid.toAddMonoid.{u4} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))))))) (MulActionWithZero.toSMulWithZero.{u1, u4} S S' (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_4))) (AddZeroClass.toHasZero.{u4} S' (AddMonoid.toAddZeroClass.{u4} S' (AddCommMonoid.toAddMonoid.{u4} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))))))) (Module.toMulActionWithZero.{u1, u4} S S' (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_4)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26))))) (Algebra.toModule.{u1, u4} S S' (CommRing.toCommSemiring.{u1} S _inst_4) (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)) _inst_28))))) (SMulZeroClass.toHasSmul.{u2, u4} R S' (AddZeroClass.toHasZero.{u4} S' (AddMonoid.toAddZeroClass.{u4} S' (AddCommMonoid.toAddMonoid.{u4} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))))))) (SMulWithZero.toSmulZeroClass.{u2, u4} R S' (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (AddZeroClass.toHasZero.{u4} S' (AddMonoid.toAddZeroClass.{u4} S' (AddCommMonoid.toAddMonoid.{u4} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))))))) (MulActionWithZero.toSMulWithZero.{u2, u4} R S' (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddZeroClass.toHasZero.{u4} S' (AddMonoid.toAddZeroClass.{u4} S' (AddCommMonoid.toAddMonoid.{u4} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))))))) (Module.toMulActionWithZero.{u2, u4} R S' (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26))))) (Algebra.toModule.{u2, u4} R S' (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)) _inst_30)))))] [H : Algebra.IsPushout.{u1, u2, u3, u4} R S _inst_3 _inst_4 _inst_5 R' S' _inst_25 _inst_26 _inst_27 _inst_28 _inst_29 _inst_30 _inst_31 _inst_32] {A : Type.{u5}} [_inst_33 : Semiring.{u5} A] [_inst_34 : Algebra.{u2, u5} R A (CommRing.toCommSemiring.{u2} R _inst_3) _inst_33] (f : AlgHom.{u2, u1, u5} R S A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_4)) _inst_33 _inst_5 _inst_34) (g : AlgHom.{u2, u3, u5} R R' A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34), (forall (x : S) (y : R'), Eq.{succ u5} A (HMul.hMul.{u5, u5, u5} A A A (instHMul.{u5} A (Distrib.toHasMul.{u5} A (NonUnitalNonAssocSemiring.toDistrib.{u5} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} A (Semiring.toNonAssocSemiring.{u5} A _inst_33))))) (coeFn.{max (succ u1) (succ u5), max (succ u1) (succ u5)} (AlgHom.{u2, u1, u5} R S A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_4)) _inst_33 _inst_5 _inst_34) (fun (_x : AlgHom.{u2, u1, u5} R S A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_4)) _inst_33 _inst_5 _inst_34) => S -> A) ([anonymous].{u2, u1, u5} R S A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_4)) _inst_33 _inst_5 _inst_34) f x) (coeFn.{max (succ u3) (succ u5), max (succ u3) (succ u5)} (AlgHom.{u2, u3, u5} R R' A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) (fun (_x : AlgHom.{u2, u3, u5} R R' A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) => R' -> A) ([anonymous].{u2, u3, u5} R R' A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) g y)) (HMul.hMul.{u5, u5, u5} A A A (instHMul.{u5} A (Distrib.toHasMul.{u5} A (NonUnitalNonAssocSemiring.toDistrib.{u5} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} A (Semiring.toNonAssocSemiring.{u5} A _inst_33))))) (coeFn.{max (succ u3) (succ u5), max (succ u3) (succ u5)} (AlgHom.{u2, u3, u5} R R' A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) (fun (_x : AlgHom.{u2, u3, u5} R R' A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) => R' -> A) ([anonymous].{u2, u3, u5} R R' A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) g y) (coeFn.{max (succ u1) (succ u5), max (succ u1) (succ u5)} (AlgHom.{u2, u1, u5} R S A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_4)) _inst_33 _inst_5 _inst_34) (fun (_x : AlgHom.{u2, u1, u5} R S A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_4)) _inst_33 _inst_5 _inst_34) => S -> A) ([anonymous].{u2, u1, u5} R S A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_4)) _inst_33 _inst_5 _inst_34) f x))) -> (AlgHom.{u2, u4, u5} R S' A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)) _inst_33 _inst_30 _inst_34)
-but is expected to have type
-  forall {R : Type.{u2}} {S : Type.{u1}} [_inst_3 : CommRing.{u2} R] [_inst_4 : CommRing.{u1} S] [_inst_5 : Algebra.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_4))] {R' : Type.{u3}} (S' : Type.{u4}) [_inst_25 : CommRing.{u3} R'] [_inst_26 : CommRing.{u4} S'] [_inst_27 : Algebra.{u2, u3} R R' (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25))] [_inst_28 : Algebra.{u1, u4} S S' (CommRing.toCommSemiring.{u1} S _inst_4) (CommSemiring.toSemiring.{u4} S' (CommRing.toCommSemiring.{u4} S' _inst_26))] [_inst_29 : Algebra.{u3, u4} R' S' (CommRing.toCommSemiring.{u3} R' _inst_25) (CommSemiring.toSemiring.{u4} S' (CommRing.toCommSemiring.{u4} S' _inst_26))] [_inst_30 : Algebra.{u2, u4} R S' (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u4} S' (CommRing.toCommSemiring.{u4} S' _inst_26))] [_inst_31 : IsScalarTower.{u2, u3, u4} R R' S' (Algebra.toSMul.{u2, u3} R R' (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_27) (Algebra.toSMul.{u3, u4} R' S' (CommRing.toCommSemiring.{u3} R' _inst_25) (CommSemiring.toSemiring.{u4} S' (CommRing.toCommSemiring.{u4} S' _inst_26)) _inst_29) (Algebra.toSMul.{u2, u4} R S' (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u4} S' (CommRing.toCommSemiring.{u4} S' _inst_26)) _inst_30)] [_inst_32 : IsScalarTower.{u2, u1, u4} R S S' (Algebra.toSMul.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_4)) _inst_5) (Algebra.toSMul.{u1, u4} S S' (CommRing.toCommSemiring.{u1} S _inst_4) (CommSemiring.toSemiring.{u4} S' (CommRing.toCommSemiring.{u4} S' _inst_26)) _inst_28) (Algebra.toSMul.{u2, u4} R S' (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u4} S' (CommRing.toCommSemiring.{u4} S' _inst_26)) _inst_30)] [H : Algebra.IsPushout.{u1, u2, u3, u4} R S _inst_3 _inst_4 _inst_5 R' S' _inst_25 _inst_26 _inst_27 _inst_28 _inst_29 _inst_30 _inst_31 _inst_32] {A : Type.{u5}} [_inst_33 : Semiring.{u5} A] [_inst_34 : Algebra.{u2, u5} R A (CommRing.toCommSemiring.{u2} R _inst_3) _inst_33] (f : AlgHom.{u2, u1, u5} R S A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_4)) _inst_33 _inst_5 _inst_34) (g : AlgHom.{u2, u3, u5} R R' A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34), (forall (x : S) (y : R'), Eq.{succ u5} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : S) => A) x) (HMul.hMul.{u5, u5, u5} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : S) => A) x) ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : R') => A) y) ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : S) => A) x) (instHMul.{u5} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : S) => A) x) (NonUnitalNonAssocSemiring.toMul.{u5} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : S) => A) x) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : S) => A) x) (Semiring.toNonAssocSemiring.{u5} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : S) => A) x) _inst_33)))) (FunLike.coe.{max (succ u1) (succ u5), succ u1, succ u5} (AlgHom.{u2, u1, u5} R S A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_4)) _inst_33 _inst_5 _inst_34) S (fun (_x : S) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : S) => A) _x) (SMulHomClass.toFunLike.{max u1 u5, u2, u1, u5} (AlgHom.{u2, u1, u5} R S A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_4)) _inst_33 _inst_5 _inst_34) R S A (SMulZeroClass.toSMul.{u2, u1} R S (AddMonoid.toZero.{u1} S (AddCommMonoid.toAddMonoid.{u1} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_4))))))) (DistribSMul.toSMulZeroClass.{u2, u1} R S (AddMonoid.toAddZeroClass.{u1} S (AddCommMonoid.toAddMonoid.{u1} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_4))))))) (DistribMulAction.toDistribSMul.{u2, u1} R S (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (AddCommMonoid.toAddMonoid.{u1} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_4)))))) (Module.toDistribMulAction.{u2, u1} R S (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_4))))) (Algebra.toModule.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_4)) _inst_5))))) (SMulZeroClass.toSMul.{u2, u5} R A (AddMonoid.toZero.{u5} A (AddCommMonoid.toAddMonoid.{u5} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} A (Semiring.toNonAssocSemiring.{u5} A _inst_33))))) (DistribSMul.toSMulZeroClass.{u2, u5} R A (AddMonoid.toAddZeroClass.{u5} A (AddCommMonoid.toAddMonoid.{u5} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} A (Semiring.toNonAssocSemiring.{u5} A _inst_33))))) (DistribMulAction.toDistribSMul.{u2, u5} R A (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (AddCommMonoid.toAddMonoid.{u5} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} A (Semiring.toNonAssocSemiring.{u5} A _inst_33)))) (Module.toDistribMulAction.{u2, u5} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} A (Semiring.toNonAssocSemiring.{u5} A _inst_33))) (Algebra.toModule.{u2, u5} R A (CommRing.toCommSemiring.{u2} R _inst_3) _inst_33 _inst_34))))) (DistribMulActionHomClass.toSMulHomClass.{max u1 u5, u2, u1, u5} (AlgHom.{u2, u1, u5} R S A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_4)) _inst_33 _inst_5 _inst_34) R S A (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (AddCommMonoid.toAddMonoid.{u1} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_4)))))) (AddCommMonoid.toAddMonoid.{u5} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} A (Semiring.toNonAssocSemiring.{u5} A _inst_33)))) (Module.toDistribMulAction.{u2, u1} R S (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_4))))) (Algebra.toModule.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_4)) _inst_5)) (Module.toDistribMulAction.{u2, u5} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} A (Semiring.toNonAssocSemiring.{u5} A _inst_33))) (Algebra.toModule.{u2, u5} R A (CommRing.toCommSemiring.{u2} R _inst_3) _inst_33 _inst_34)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max u1 u5, u2, u1, u5} (AlgHom.{u2, u1, u5} R S A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_4)) _inst_33 _inst_5 _inst_34) R S A (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_4)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} A (Semiring.toNonAssocSemiring.{u5} A _inst_33)) (Module.toDistribMulAction.{u2, u1} R S (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_4))))) (Algebra.toModule.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_4)) _inst_5)) (Module.toDistribMulAction.{u2, u5} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} A (Semiring.toNonAssocSemiring.{u5} A _inst_33))) (Algebra.toModule.{u2, u5} R A (CommRing.toCommSemiring.{u2} R _inst_3) _inst_33 _inst_34)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u2, u1, u5, max u1 u5} R S A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_4)) _inst_33 _inst_5 _inst_34 (AlgHom.{u2, u1, u5} R S A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_4)) _inst_33 _inst_5 _inst_34) (AlgHom.algHomClass.{u2, u1, u5} R S A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_4)) _inst_33 _inst_5 _inst_34))))) f x) (FunLike.coe.{max (succ u3) (succ u5), succ u3, succ u5} (AlgHom.{u2, u3, u5} R R' A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) R' (fun (_x : R') => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : R') => A) _x) (SMulHomClass.toFunLike.{max u3 u5, u2, u3, u5} (AlgHom.{u2, u3, u5} R R' A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) R R' A (SMulZeroClass.toSMul.{u2, u3} R R' (AddMonoid.toZero.{u3} R' (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25))))))) (DistribSMul.toSMulZeroClass.{u2, u3} R R' (AddMonoid.toAddZeroClass.{u3} R' (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25))))))) (DistribMulAction.toDistribSMul.{u2, u3} R R' (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)))))) (Module.toDistribMulAction.{u2, u3} R R' (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25))))) (Algebra.toModule.{u2, u3} R R' (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_27))))) (SMulZeroClass.toSMul.{u2, u5} R A (AddMonoid.toZero.{u5} A (AddCommMonoid.toAddMonoid.{u5} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} A (Semiring.toNonAssocSemiring.{u5} A _inst_33))))) (DistribSMul.toSMulZeroClass.{u2, u5} R A (AddMonoid.toAddZeroClass.{u5} A (AddCommMonoid.toAddMonoid.{u5} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} A (Semiring.toNonAssocSemiring.{u5} A _inst_33))))) (DistribMulAction.toDistribSMul.{u2, u5} R A (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (AddCommMonoid.toAddMonoid.{u5} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} A (Semiring.toNonAssocSemiring.{u5} A _inst_33)))) (Module.toDistribMulAction.{u2, u5} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} A (Semiring.toNonAssocSemiring.{u5} A _inst_33))) (Algebra.toModule.{u2, u5} R A (CommRing.toCommSemiring.{u2} R _inst_3) _inst_33 _inst_34))))) (DistribMulActionHomClass.toSMulHomClass.{max u3 u5, u2, u3, u5} (AlgHom.{u2, u3, u5} R R' A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) R R' A (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)))))) (AddCommMonoid.toAddMonoid.{u5} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} A (Semiring.toNonAssocSemiring.{u5} A _inst_33)))) (Module.toDistribMulAction.{u2, u3} R R' (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25))))) (Algebra.toModule.{u2, u3} R R' (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_27)) (Module.toDistribMulAction.{u2, u5} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} A (Semiring.toNonAssocSemiring.{u5} A _inst_33))) (Algebra.toModule.{u2, u5} R A (CommRing.toCommSemiring.{u2} R _inst_3) _inst_33 _inst_34)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max u3 u5, u2, u3, u5} (AlgHom.{u2, u3, u5} R R' A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) R R' A (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} A (Semiring.toNonAssocSemiring.{u5} A _inst_33)) (Module.toDistribMulAction.{u2, u3} R R' (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25))))) (Algebra.toModule.{u2, u3} R R' (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_27)) (Module.toDistribMulAction.{u2, u5} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} A (Semiring.toNonAssocSemiring.{u5} A _inst_33))) (Algebra.toModule.{u2, u5} R A (CommRing.toCommSemiring.{u2} R _inst_3) _inst_33 _inst_34)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u2, u3, u5, max u3 u5} R R' A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34 (AlgHom.{u2, u3, u5} R R' A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) (AlgHom.algHomClass.{u2, u3, u5} R R' A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34))))) g y)) (HMul.hMul.{u5, u5, u5} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : R') => A) y) ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : S) => A) x) ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : R') => A) y) (instHMul.{u5} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : R') => A) y) (NonUnitalNonAssocSemiring.toMul.{u5} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : R') => A) y) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : R') => A) y) (Semiring.toNonAssocSemiring.{u5} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : R') => A) y) _inst_33)))) (FunLike.coe.{max (succ u3) (succ u5), succ u3, succ u5} (AlgHom.{u2, u3, u5} R R' A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) R' (fun (_x : R') => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : R') => A) _x) (SMulHomClass.toFunLike.{max u3 u5, u2, u3, u5} (AlgHom.{u2, u3, u5} R R' A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) R R' A (SMulZeroClass.toSMul.{u2, u3} R R' (AddMonoid.toZero.{u3} R' (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25))))))) (DistribSMul.toSMulZeroClass.{u2, u3} R R' (AddMonoid.toAddZeroClass.{u3} R' (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25))))))) (DistribMulAction.toDistribSMul.{u2, u3} R R' (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)))))) (Module.toDistribMulAction.{u2, u3} R R' (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25))))) (Algebra.toModule.{u2, u3} R R' (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_27))))) (SMulZeroClass.toSMul.{u2, u5} R A (AddMonoid.toZero.{u5} A (AddCommMonoid.toAddMonoid.{u5} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} A (Semiring.toNonAssocSemiring.{u5} A _inst_33))))) (DistribSMul.toSMulZeroClass.{u2, u5} R A (AddMonoid.toAddZeroClass.{u5} A (AddCommMonoid.toAddMonoid.{u5} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} A (Semiring.toNonAssocSemiring.{u5} A _inst_33))))) (DistribMulAction.toDistribSMul.{u2, u5} R A (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (AddCommMonoid.toAddMonoid.{u5} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} A (Semiring.toNonAssocSemiring.{u5} A _inst_33)))) (Module.toDistribMulAction.{u2, u5} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} A (Semiring.toNonAssocSemiring.{u5} A _inst_33))) (Algebra.toModule.{u2, u5} R A (CommRing.toCommSemiring.{u2} R _inst_3) _inst_33 _inst_34))))) (DistribMulActionHomClass.toSMulHomClass.{max u3 u5, u2, u3, u5} (AlgHom.{u2, u3, u5} R R' A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) R R' A (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)))))) (AddCommMonoid.toAddMonoid.{u5} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} A (Semiring.toNonAssocSemiring.{u5} A _inst_33)))) (Module.toDistribMulAction.{u2, u3} R R' (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25))))) (Algebra.toModule.{u2, u3} R R' (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_27)) (Module.toDistribMulAction.{u2, u5} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} A (Semiring.toNonAssocSemiring.{u5} A _inst_33))) (Algebra.toModule.{u2, u5} R A (CommRing.toCommSemiring.{u2} R _inst_3) _inst_33 _inst_34)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max u3 u5, u2, u3, u5} (AlgHom.{u2, u3, u5} R R' A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) R R' A (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} A (Semiring.toNonAssocSemiring.{u5} A _inst_33)) (Module.toDistribMulAction.{u2, u3} R R' (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25))))) (Algebra.toModule.{u2, u3} R R' (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_27)) (Module.toDistribMulAction.{u2, u5} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} A (Semiring.toNonAssocSemiring.{u5} A _inst_33))) (Algebra.toModule.{u2, u5} R A (CommRing.toCommSemiring.{u2} R _inst_3) _inst_33 _inst_34)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u2, u3, u5, max u3 u5} R R' A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34 (AlgHom.{u2, u3, u5} R R' A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) (AlgHom.algHomClass.{u2, u3, u5} R R' A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34))))) g y) (FunLike.coe.{max (succ u1) (succ u5), succ u1, succ u5} (AlgHom.{u2, u1, u5} R S A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_4)) _inst_33 _inst_5 _inst_34) S (fun (_x : S) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : S) => A) _x) (SMulHomClass.toFunLike.{max u1 u5, u2, u1, u5} (AlgHom.{u2, u1, u5} R S A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_4)) _inst_33 _inst_5 _inst_34) R S A (SMulZeroClass.toSMul.{u2, u1} R S (AddMonoid.toZero.{u1} S (AddCommMonoid.toAddMonoid.{u1} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_4))))))) (DistribSMul.toSMulZeroClass.{u2, u1} R S (AddMonoid.toAddZeroClass.{u1} S (AddCommMonoid.toAddMonoid.{u1} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_4))))))) (DistribMulAction.toDistribSMul.{u2, u1} R S (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (AddCommMonoid.toAddMonoid.{u1} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_4)))))) (Module.toDistribMulAction.{u2, u1} R S (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_4))))) (Algebra.toModule.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_4)) _inst_5))))) (SMulZeroClass.toSMul.{u2, u5} R A (AddMonoid.toZero.{u5} A (AddCommMonoid.toAddMonoid.{u5} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} A (Semiring.toNonAssocSemiring.{u5} A _inst_33))))) (DistribSMul.toSMulZeroClass.{u2, u5} R A (AddMonoid.toAddZeroClass.{u5} A (AddCommMonoid.toAddMonoid.{u5} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} A (Semiring.toNonAssocSemiring.{u5} A _inst_33))))) (DistribMulAction.toDistribSMul.{u2, u5} R A (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (AddCommMonoid.toAddMonoid.{u5} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} A (Semiring.toNonAssocSemiring.{u5} A _inst_33)))) (Module.toDistribMulAction.{u2, u5} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} A (Semiring.toNonAssocSemiring.{u5} A _inst_33))) (Algebra.toModule.{u2, u5} R A (CommRing.toCommSemiring.{u2} R _inst_3) _inst_33 _inst_34))))) (DistribMulActionHomClass.toSMulHomClass.{max u1 u5, u2, u1, u5} (AlgHom.{u2, u1, u5} R S A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_4)) _inst_33 _inst_5 _inst_34) R S A (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (AddCommMonoid.toAddMonoid.{u1} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_4)))))) (AddCommMonoid.toAddMonoid.{u5} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} A (Semiring.toNonAssocSemiring.{u5} A _inst_33)))) (Module.toDistribMulAction.{u2, u1} R S (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_4))))) (Algebra.toModule.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_4)) _inst_5)) (Module.toDistribMulAction.{u2, u5} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} A (Semiring.toNonAssocSemiring.{u5} A _inst_33))) (Algebra.toModule.{u2, u5} R A (CommRing.toCommSemiring.{u2} R _inst_3) _inst_33 _inst_34)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max u1 u5, u2, u1, u5} (AlgHom.{u2, u1, u5} R S A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_4)) _inst_33 _inst_5 _inst_34) R S A (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_4)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} A (Semiring.toNonAssocSemiring.{u5} A _inst_33)) (Module.toDistribMulAction.{u2, u1} R S (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_4))))) (Algebra.toModule.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_4)) _inst_5)) (Module.toDistribMulAction.{u2, u5} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} A (Semiring.toNonAssocSemiring.{u5} A _inst_33))) (Algebra.toModule.{u2, u5} R A (CommRing.toCommSemiring.{u2} R _inst_3) _inst_33 _inst_34)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u2, u1, u5, max u1 u5} R S A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_4)) _inst_33 _inst_5 _inst_34 (AlgHom.{u2, u1, u5} R S A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_4)) _inst_33 _inst_5 _inst_34) (AlgHom.algHomClass.{u2, u1, u5} R S A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_4)) _inst_33 _inst_5 _inst_34))))) f x))) -> (AlgHom.{u2, u4, u5} R S' A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u4} S' (CommRing.toCommSemiring.{u4} S' _inst_26)) _inst_33 _inst_30 _inst_34)
+<too large>
 Case conversion may be inaccurate. Consider using '#align algebra.pushout_desc Algebra.pushoutDescₓ'. -/
 /-- If `S' = S ⊗[R] R'`, then any pair of `R`-algebra homomorphisms `f : S → A` and `g : R' → A`
 such that `f x` and `g y` commutes for all `x, y` descends to a (unique) homomoprhism `S' → A`.
@@ -640,10 +586,7 @@ noncomputable def Algebra.pushoutDesc [H : Algebra.IsPushout R S R' S'] {A : Typ
 #align algebra.pushout_desc Algebra.pushoutDesc
 
 /- warning: algebra.pushout_desc_left -> Algebra.pushoutDesc_left is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u2}} {S : Type.{u1}} [_inst_3 : CommRing.{u2} R] [_inst_4 : CommRing.{u1} S] [_inst_5 : Algebra.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_4))] {R' : Type.{u3}} (S' : Type.{u4}) [_inst_25 : CommRing.{u3} R'] [_inst_26 : CommRing.{u4} S'] [_inst_27 : Algebra.{u2, u3} R R' (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_25))] [_inst_28 : Algebra.{u1, u4} S S' (CommRing.toCommSemiring.{u1} S _inst_4) (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26))] [_inst_29 : Algebra.{u3, u4} R' S' (CommRing.toCommSemiring.{u3} R' _inst_25) (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26))] [_inst_30 : Algebra.{u2, u4} R S' (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26))] [_inst_31 : IsScalarTower.{u2, u3, u4} R R' S' (SMulZeroClass.toHasSmul.{u2, u3} R R' (AddZeroClass.toHasZero.{u3} R' (AddMonoid.toAddZeroClass.{u3} R' (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_25)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} R R' (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (AddZeroClass.toHasZero.{u3} R' (AddMonoid.toAddZeroClass.{u3} R' (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_25)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} R R' (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddZeroClass.toHasZero.{u3} R' (AddMonoid.toAddZeroClass.{u3} R' (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_25)))))))) (Module.toMulActionWithZero.{u2, u3} R R' (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_25))))) (Algebra.toModule.{u2, u3} R R' (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_25)) _inst_27))))) (SMulZeroClass.toHasSmul.{u3, u4} R' S' (AddZeroClass.toHasZero.{u4} S' (AddMonoid.toAddZeroClass.{u4} S' (AddCommMonoid.toAddMonoid.{u4} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))))))) (SMulWithZero.toSmulZeroClass.{u3, u4} R' S' (MulZeroClass.toHasZero.{u3} R' (MulZeroOneClass.toMulZeroClass.{u3} R' (MonoidWithZero.toMulZeroOneClass.{u3} R' (Semiring.toMonoidWithZero.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)))))) (AddZeroClass.toHasZero.{u4} S' (AddMonoid.toAddZeroClass.{u4} S' (AddCommMonoid.toAddMonoid.{u4} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))))))) (MulActionWithZero.toSMulWithZero.{u3, u4} R' S' (Semiring.toMonoidWithZero.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25))) (AddZeroClass.toHasZero.{u4} S' (AddMonoid.toAddZeroClass.{u4} S' (AddCommMonoid.toAddMonoid.{u4} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))))))) (Module.toMulActionWithZero.{u3, u4} R' S' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26))))) (Algebra.toModule.{u3, u4} R' S' (CommRing.toCommSemiring.{u3} R' _inst_25) (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)) _inst_29))))) (SMulZeroClass.toHasSmul.{u2, u4} R S' (AddZeroClass.toHasZero.{u4} S' (AddMonoid.toAddZeroClass.{u4} S' (AddCommMonoid.toAddMonoid.{u4} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))))))) (SMulWithZero.toSmulZeroClass.{u2, u4} R S' (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (AddZeroClass.toHasZero.{u4} S' (AddMonoid.toAddZeroClass.{u4} S' (AddCommMonoid.toAddMonoid.{u4} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))))))) (MulActionWithZero.toSMulWithZero.{u2, u4} R S' (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddZeroClass.toHasZero.{u4} S' (AddMonoid.toAddZeroClass.{u4} S' (AddCommMonoid.toAddMonoid.{u4} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))))))) (Module.toMulActionWithZero.{u2, u4} R S' (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26))))) (Algebra.toModule.{u2, u4} R S' (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)) _inst_30)))))] [_inst_32 : IsScalarTower.{u2, u1, u4} R S S' (SMulZeroClass.toHasSmul.{u2, u1} R S (AddZeroClass.toHasZero.{u1} S (AddMonoid.toAddZeroClass.{u1} S (AddCommMonoid.toAddMonoid.{u1} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_4)))))))) (SMulWithZero.toSmulZeroClass.{u2, u1} R S (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (AddZeroClass.toHasZero.{u1} S (AddMonoid.toAddZeroClass.{u1} S (AddCommMonoid.toAddMonoid.{u1} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_4)))))))) (MulActionWithZero.toSMulWithZero.{u2, u1} R S (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddZeroClass.toHasZero.{u1} S (AddMonoid.toAddZeroClass.{u1} S (AddCommMonoid.toAddMonoid.{u1} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_4)))))))) (Module.toMulActionWithZero.{u2, u1} R S (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_4))))) (Algebra.toModule.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_4)) _inst_5))))) (SMulZeroClass.toHasSmul.{u1, u4} S S' (AddZeroClass.toHasZero.{u4} S' (AddMonoid.toAddZeroClass.{u4} S' (AddCommMonoid.toAddMonoid.{u4} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))))))) (SMulWithZero.toSmulZeroClass.{u1, u4} S S' (MulZeroClass.toHasZero.{u1} S (MulZeroOneClass.toMulZeroClass.{u1} S (MonoidWithZero.toMulZeroOneClass.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_4)))))) (AddZeroClass.toHasZero.{u4} S' (AddMonoid.toAddZeroClass.{u4} S' (AddCommMonoid.toAddMonoid.{u4} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))))))) (MulActionWithZero.toSMulWithZero.{u1, u4} S S' (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_4))) (AddZeroClass.toHasZero.{u4} S' (AddMonoid.toAddZeroClass.{u4} S' (AddCommMonoid.toAddMonoid.{u4} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))))))) (Module.toMulActionWithZero.{u1, u4} S S' (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_4)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26))))) (Algebra.toModule.{u1, u4} S S' (CommRing.toCommSemiring.{u1} S _inst_4) (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)) _inst_28))))) (SMulZeroClass.toHasSmul.{u2, u4} R S' (AddZeroClass.toHasZero.{u4} S' (AddMonoid.toAddZeroClass.{u4} S' (AddCommMonoid.toAddMonoid.{u4} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))))))) (SMulWithZero.toSmulZeroClass.{u2, u4} R S' (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (AddZeroClass.toHasZero.{u4} S' (AddMonoid.toAddZeroClass.{u4} S' (AddCommMonoid.toAddMonoid.{u4} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))))))) (MulActionWithZero.toSMulWithZero.{u2, u4} R S' (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddZeroClass.toHasZero.{u4} S' (AddMonoid.toAddZeroClass.{u4} S' (AddCommMonoid.toAddMonoid.{u4} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))))))) (Module.toMulActionWithZero.{u2, u4} R S' (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26))))) (Algebra.toModule.{u2, u4} R S' (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)) _inst_30)))))] [H : Algebra.IsPushout.{u1, u2, u3, u4} R S _inst_3 _inst_4 _inst_5 R' S' _inst_25 _inst_26 _inst_27 _inst_28 _inst_29 _inst_30 _inst_31 _inst_32] {A : Type.{u5}} [_inst_33 : Semiring.{u5} A] [_inst_34 : Algebra.{u2, u5} R A (CommRing.toCommSemiring.{u2} R _inst_3) _inst_33] (f : AlgHom.{u2, u1, u5} R S A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_4)) _inst_33 _inst_5 _inst_34) (g : AlgHom.{u2, u3, u5} R R' A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) (H_1 : forall (x : S) (y : R'), Eq.{succ u5} A (HMul.hMul.{u5, u5, u5} A A A (instHMul.{u5} A (Distrib.toHasMul.{u5} A (NonUnitalNonAssocSemiring.toDistrib.{u5} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} A (Semiring.toNonAssocSemiring.{u5} A _inst_33))))) (coeFn.{max (succ u1) (succ u5), max (succ u1) (succ u5)} (AlgHom.{u2, u1, u5} R S A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_4)) _inst_33 _inst_5 _inst_34) (fun (_x : AlgHom.{u2, u1, u5} R S A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_4)) _inst_33 _inst_5 _inst_34) => S -> A) ([anonymous].{u2, u1, u5} R S A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_4)) _inst_33 _inst_5 _inst_34) f x) (coeFn.{max (succ u3) (succ u5), max (succ u3) (succ u5)} (AlgHom.{u2, u3, u5} R R' A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) (fun (_x : AlgHom.{u2, u3, u5} R R' A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) => R' -> A) ([anonymous].{u2, u3, u5} R R' A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) g y)) (HMul.hMul.{u5, u5, u5} A A A (instHMul.{u5} A (Distrib.toHasMul.{u5} A (NonUnitalNonAssocSemiring.toDistrib.{u5} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} A (Semiring.toNonAssocSemiring.{u5} A _inst_33))))) (coeFn.{max (succ u3) (succ u5), max (succ u3) (succ u5)} (AlgHom.{u2, u3, u5} R R' A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) (fun (_x : AlgHom.{u2, u3, u5} R R' A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) => R' -> A) ([anonymous].{u2, u3, u5} R R' A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) g y) (coeFn.{max (succ u1) (succ u5), max (succ u1) (succ u5)} (AlgHom.{u2, u1, u5} R S A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_4)) _inst_33 _inst_5 _inst_34) (fun (_x : AlgHom.{u2, u1, u5} R S A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_4)) _inst_33 _inst_5 _inst_34) => S -> A) ([anonymous].{u2, u1, u5} R S A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_4)) _inst_33 _inst_5 _inst_34) f x))) (x : S), Eq.{succ u5} A (coeFn.{max (succ u4) (succ u5), max (succ u4) (succ u5)} (AlgHom.{u2, u4, u5} R S' A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)) _inst_33 _inst_30 _inst_34) (fun (_x : AlgHom.{u2, u4, u5} R S' A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)) _inst_33 _inst_30 _inst_34) => S' -> A) ([anonymous].{u2, u4, u5} R S' A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)) _inst_33 _inst_30 _inst_34) (Algebra.pushoutDesc.{u1, u2, u3, u4, u5} R S _inst_3 _inst_4 _inst_5 R' S' _inst_25 _inst_26 _inst_27 _inst_28 _inst_29 _inst_30 _inst_31 _inst_32 H A _inst_33 _inst_34 f g H_1) (coeFn.{max (succ u1) (succ u4), max (succ u1) (succ u4)} (RingHom.{u1, u4} S S' (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_4))) (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))) (fun (_x : RingHom.{u1, u4} S S' (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_4))) (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))) => S -> S') (RingHom.hasCoeToFun.{u1, u4} S S' (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_4))) (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))) (algebraMap.{u1, u4} S S' (CommRing.toCommSemiring.{u1} S _inst_4) (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)) _inst_28) x)) (coeFn.{max (succ u1) (succ u5), max (succ u1) (succ u5)} (AlgHom.{u2, u1, u5} R S A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_4)) _inst_33 _inst_5 _inst_34) (fun (_x : AlgHom.{u2, u1, u5} R S A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_4)) _inst_33 _inst_5 _inst_34) => S -> A) ([anonymous].{u2, u1, u5} R S A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_4)) _inst_33 _inst_5 _inst_34) f x)
-but is expected to have type
-  forall {R : Type.{u4}} {S : Type.{u5}} [_inst_3 : CommRing.{u4} R] [_inst_4 : CommRing.{u5} S] [_inst_5 : Algebra.{u4, u5} R S (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4))] {R' : Type.{u3}} (S' : Type.{u2}) [_inst_25 : CommRing.{u3} R'] [_inst_26 : CommRing.{u2} S'] [_inst_27 : Algebra.{u4, u3} R R' (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25))] [_inst_28 : Algebra.{u5, u2} S S' (CommRing.toCommSemiring.{u5} S _inst_4) (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26))] [_inst_29 : Algebra.{u3, u2} R' S' (CommRing.toCommSemiring.{u3} R' _inst_25) (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26))] [_inst_30 : Algebra.{u4, u2} R S' (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26))] [_inst_31 : IsScalarTower.{u4, u3, u2} R R' S' (Algebra.toSMul.{u4, u3} R R' (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_27) (Algebra.toSMul.{u3, u2} R' S' (CommRing.toCommSemiring.{u3} R' _inst_25) (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26)) _inst_29) (Algebra.toSMul.{u4, u2} R S' (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26)) _inst_30)] [_inst_32 : IsScalarTower.{u4, u5, u2} R S S' (Algebra.toSMul.{u4, u5} R S (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_5) (Algebra.toSMul.{u5, u2} S S' (CommRing.toCommSemiring.{u5} S _inst_4) (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26)) _inst_28) (Algebra.toSMul.{u4, u2} R S' (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26)) _inst_30)] [H : Algebra.IsPushout.{u5, u4, u3, u2} R S _inst_3 _inst_4 _inst_5 R' S' _inst_25 _inst_26 _inst_27 _inst_28 _inst_29 _inst_30 _inst_31 _inst_32] {A : Type.{u1}} [_inst_33 : Semiring.{u1} A] [_inst_34 : Algebra.{u4, u1} R A (CommRing.toCommSemiring.{u4} R _inst_3) _inst_33] (f : AlgHom.{u4, u5, u1} R S A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_33 _inst_5 _inst_34) (g : AlgHom.{u4, u3, u1} R R' A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) (H_1 : forall (x : S) (y : R'), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : S) => A) x) (HMul.hMul.{u1, u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : S) => A) x) ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : R') => A) y) ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : S) => A) x) (instHMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : S) => A) x) (NonUnitalNonAssocSemiring.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : S) => A) x) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : S) => A) x) (Semiring.toNonAssocSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : S) => A) x) _inst_33)))) (FunLike.coe.{max (succ u5) (succ u1), succ u5, succ u1} (AlgHom.{u4, u5, u1} R S A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_33 _inst_5 _inst_34) S (fun (_x : S) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : S) => A) _x) (SMulHomClass.toFunLike.{max u5 u1, u4, u5, u1} (AlgHom.{u4, u5, u1} R S A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_33 _inst_5 _inst_34) R S A (SMulZeroClass.toSMul.{u4, u5} R S (AddMonoid.toZero.{u5} S (AddCommMonoid.toAddMonoid.{u5} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} S (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4))))))) (DistribSMul.toSMulZeroClass.{u4, u5} R S (AddMonoid.toAddZeroClass.{u5} S (AddCommMonoid.toAddMonoid.{u5} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} S (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4))))))) (DistribMulAction.toDistribSMul.{u4, u5} R S (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))) (AddCommMonoid.toAddMonoid.{u5} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} S (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)))))) (Module.toDistribMulAction.{u4, u5} R S (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} S (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4))))) (Algebra.toModule.{u4, u5} R S (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_5))))) (SMulZeroClass.toSMul.{u4, u1} R A (AddMonoid.toZero.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))))) (DistribSMul.toSMulZeroClass.{u4, u1} R A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))))) (DistribMulAction.toDistribSMul.{u4, u1} R A (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))) (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33)))) (Module.toDistribMulAction.{u4, u1} R A (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))) (Algebra.toModule.{u4, u1} R A (CommRing.toCommSemiring.{u4} R _inst_3) _inst_33 _inst_34))))) (DistribMulActionHomClass.toSMulHomClass.{max u5 u1, u4, u5, u1} (AlgHom.{u4, u5, u1} R S A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_33 _inst_5 _inst_34) R S A (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))) (AddCommMonoid.toAddMonoid.{u5} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} S (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)))))) (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33)))) (Module.toDistribMulAction.{u4, u5} R S (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} S (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4))))) (Algebra.toModule.{u4, u5} R S (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_5)) (Module.toDistribMulAction.{u4, u1} R A (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))) (Algebra.toModule.{u4, u1} R A (CommRing.toCommSemiring.{u4} R _inst_3) _inst_33 _inst_34)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max u5 u1, u4, u5, u1} (AlgHom.{u4, u5, u1} R S A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_33 _inst_5 _inst_34) R S A (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} S (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33)) (Module.toDistribMulAction.{u4, u5} R S (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} S (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4))))) (Algebra.toModule.{u4, u5} R S (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_5)) (Module.toDistribMulAction.{u4, u1} R A (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))) (Algebra.toModule.{u4, u1} R A (CommRing.toCommSemiring.{u4} R _inst_3) _inst_33 _inst_34)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u4, u5, u1, max u5 u1} R S A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_33 _inst_5 _inst_34 (AlgHom.{u4, u5, u1} R S A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_33 _inst_5 _inst_34) (AlgHom.algHomClass.{u4, u5, u1} R S A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_33 _inst_5 _inst_34))))) f x) (FunLike.coe.{max (succ u3) (succ u1), succ u3, succ u1} (AlgHom.{u4, u3, u1} R R' A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) R' (fun (_x : R') => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : R') => A) _x) (SMulHomClass.toFunLike.{max u3 u1, u4, u3, u1} (AlgHom.{u4, u3, u1} R R' A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) R R' A (SMulZeroClass.toSMul.{u4, u3} R R' (AddMonoid.toZero.{u3} R' (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25))))))) (DistribSMul.toSMulZeroClass.{u4, u3} R R' (AddMonoid.toAddZeroClass.{u3} R' (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25))))))) (DistribMulAction.toDistribSMul.{u4, u3} R R' (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))) (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)))))) (Module.toDistribMulAction.{u4, u3} R R' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25))))) (Algebra.toModule.{u4, u3} R R' (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_27))))) (SMulZeroClass.toSMul.{u4, u1} R A (AddMonoid.toZero.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))))) (DistribSMul.toSMulZeroClass.{u4, u1} R A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))))) (DistribMulAction.toDistribSMul.{u4, u1} R A (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))) (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33)))) (Module.toDistribMulAction.{u4, u1} R A (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))) (Algebra.toModule.{u4, u1} R A (CommRing.toCommSemiring.{u4} R _inst_3) _inst_33 _inst_34))))) (DistribMulActionHomClass.toSMulHomClass.{max u3 u1, u4, u3, u1} (AlgHom.{u4, u3, u1} R R' A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) R R' A (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))) (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)))))) (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33)))) (Module.toDistribMulAction.{u4, u3} R R' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25))))) (Algebra.toModule.{u4, u3} R R' (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_27)) (Module.toDistribMulAction.{u4, u1} R A (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))) (Algebra.toModule.{u4, u1} R A (CommRing.toCommSemiring.{u4} R _inst_3) _inst_33 _inst_34)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max u3 u1, u4, u3, u1} (AlgHom.{u4, u3, u1} R R' A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) R R' A (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33)) (Module.toDistribMulAction.{u4, u3} R R' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25))))) (Algebra.toModule.{u4, u3} R R' (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_27)) (Module.toDistribMulAction.{u4, u1} R A (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))) (Algebra.toModule.{u4, u1} R A (CommRing.toCommSemiring.{u4} R _inst_3) _inst_33 _inst_34)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u4, u3, u1, max u3 u1} R R' A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34 (AlgHom.{u4, u3, u1} R R' A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) (AlgHom.algHomClass.{u4, u3, u1} R R' A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34))))) g y)) (HMul.hMul.{u1, u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : R') => A) y) ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : S) => A) x) ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : R') => A) y) (instHMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : R') => A) y) (NonUnitalNonAssocSemiring.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : R') => A) y) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : R') => A) y) (Semiring.toNonAssocSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : R') => A) y) _inst_33)))) (FunLike.coe.{max (succ u3) (succ u1), succ u3, succ u1} (AlgHom.{u4, u3, u1} R R' A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) R' (fun (_x : R') => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : R') => A) _x) (SMulHomClass.toFunLike.{max u3 u1, u4, u3, u1} (AlgHom.{u4, u3, u1} R R' A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) R R' A (SMulZeroClass.toSMul.{u4, u3} R R' (AddMonoid.toZero.{u3} R' (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25))))))) (DistribSMul.toSMulZeroClass.{u4, u3} R R' (AddMonoid.toAddZeroClass.{u3} R' (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25))))))) (DistribMulAction.toDistribSMul.{u4, u3} R R' (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))) (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)))))) (Module.toDistribMulAction.{u4, u3} R R' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25))))) (Algebra.toModule.{u4, u3} R R' (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_27))))) (SMulZeroClass.toSMul.{u4, u1} R A (AddMonoid.toZero.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))))) (DistribSMul.toSMulZeroClass.{u4, u1} R A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))))) (DistribMulAction.toDistribSMul.{u4, u1} R A (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))) (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33)))) (Module.toDistribMulAction.{u4, u1} R A (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))) (Algebra.toModule.{u4, u1} R A (CommRing.toCommSemiring.{u4} R _inst_3) _inst_33 _inst_34))))) (DistribMulActionHomClass.toSMulHomClass.{max u3 u1, u4, u3, u1} (AlgHom.{u4, u3, u1} R R' A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) R R' A (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))) (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)))))) (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33)))) (Module.toDistribMulAction.{u4, u3} R R' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25))))) (Algebra.toModule.{u4, u3} R R' (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_27)) (Module.toDistribMulAction.{u4, u1} R A (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))) (Algebra.toModule.{u4, u1} R A (CommRing.toCommSemiring.{u4} R _inst_3) _inst_33 _inst_34)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max u3 u1, u4, u3, u1} (AlgHom.{u4, u3, u1} R R' A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) R R' A (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33)) (Module.toDistribMulAction.{u4, u3} R R' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25))))) (Algebra.toModule.{u4, u3} R R' (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_27)) (Module.toDistribMulAction.{u4, u1} R A (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))) (Algebra.toModule.{u4, u1} R A (CommRing.toCommSemiring.{u4} R _inst_3) _inst_33 _inst_34)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u4, u3, u1, max u3 u1} R R' A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34 (AlgHom.{u4, u3, u1} R R' A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) (AlgHom.algHomClass.{u4, u3, u1} R R' A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34))))) g y) (FunLike.coe.{max (succ u5) (succ u1), succ u5, succ u1} (AlgHom.{u4, u5, u1} R S A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_33 _inst_5 _inst_34) S (fun (_x : S) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : S) => A) _x) (SMulHomClass.toFunLike.{max u5 u1, u4, u5, u1} (AlgHom.{u4, u5, u1} R S A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_33 _inst_5 _inst_34) R S A (SMulZeroClass.toSMul.{u4, u5} R S (AddMonoid.toZero.{u5} S (AddCommMonoid.toAddMonoid.{u5} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} S (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4))))))) (DistribSMul.toSMulZeroClass.{u4, u5} R S (AddMonoid.toAddZeroClass.{u5} S (AddCommMonoid.toAddMonoid.{u5} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} S (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4))))))) (DistribMulAction.toDistribSMul.{u4, u5} R S (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))) (AddCommMonoid.toAddMonoid.{u5} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} S (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)))))) (Module.toDistribMulAction.{u4, u5} R S (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} S (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4))))) (Algebra.toModule.{u4, u5} R S (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_5))))) (SMulZeroClass.toSMul.{u4, u1} R A (AddMonoid.toZero.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))))) (DistribSMul.toSMulZeroClass.{u4, u1} R A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))))) (DistribMulAction.toDistribSMul.{u4, u1} R A (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))) (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33)))) (Module.toDistribMulAction.{u4, u1} R A (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))) (Algebra.toModule.{u4, u1} R A (CommRing.toCommSemiring.{u4} R _inst_3) _inst_33 _inst_34))))) (DistribMulActionHomClass.toSMulHomClass.{max u5 u1, u4, u5, u1} (AlgHom.{u4, u5, u1} R S A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_33 _inst_5 _inst_34) R S A (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))) (AddCommMonoid.toAddMonoid.{u5} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} S (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)))))) (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33)))) (Module.toDistribMulAction.{u4, u5} R S (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} S (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4))))) (Algebra.toModule.{u4, u5} R S (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_5)) (Module.toDistribMulAction.{u4, u1} R A (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))) (Algebra.toModule.{u4, u1} R A (CommRing.toCommSemiring.{u4} R _inst_3) _inst_33 _inst_34)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max u5 u1, u4, u5, u1} (AlgHom.{u4, u5, u1} R S A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_33 _inst_5 _inst_34) R S A (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} S (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33)) (Module.toDistribMulAction.{u4, u5} R S (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} S (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4))))) (Algebra.toModule.{u4, u5} R S (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_5)) (Module.toDistribMulAction.{u4, u1} R A (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))) (Algebra.toModule.{u4, u1} R A (CommRing.toCommSemiring.{u4} R _inst_3) _inst_33 _inst_34)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u4, u5, u1, max u5 u1} R S A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_33 _inst_5 _inst_34 (AlgHom.{u4, u5, u1} R S A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_33 _inst_5 _inst_34) (AlgHom.algHomClass.{u4, u5, u1} R S A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_33 _inst_5 _inst_34))))) f x))) (x : S), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : S') => A) (FunLike.coe.{max (succ u5) (succ u2), succ u5, succ u2} (RingHom.{u5, u2} S S' (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4))) (Semiring.toNonAssocSemiring.{u2} S' (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26)))) S (fun (a : S) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : S) => S') a) (MulHomClass.toFunLike.{max u5 u2, u5, u2} (RingHom.{u5, u2} S S' (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4))) (Semiring.toNonAssocSemiring.{u2} S' (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26)))) S S' (NonUnitalNonAssocSemiring.toMul.{u5} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} S (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4))))) (NonUnitalNonAssocSemiring.toMul.{u2} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S' (Semiring.toNonAssocSemiring.{u2} S' (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26))))) (NonUnitalRingHomClass.toMulHomClass.{max u5 u2, u5, u2} (RingHom.{u5, u2} S S' (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4))) (Semiring.toNonAssocSemiring.{u2} S' (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26)))) S S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} S (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S' (Semiring.toNonAssocSemiring.{u2} S' (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26)))) (RingHomClass.toNonUnitalRingHomClass.{max u5 u2, u5, u2} (RingHom.{u5, u2} S S' (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4))) (Semiring.toNonAssocSemiring.{u2} S' (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26)))) S S' (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4))) (Semiring.toNonAssocSemiring.{u2} S' (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26))) (RingHom.instRingHomClassRingHom.{u5, u2} S S' (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4))) (Semiring.toNonAssocSemiring.{u2} S' (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26))))))) (algebraMap.{u5, u2} S S' (CommRing.toCommSemiring.{u5} S _inst_4) (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26)) _inst_28) x)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (AlgHom.{u4, u2, u1} R S' A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26)) _inst_33 _inst_30 _inst_34) S' (fun (_x : S') => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : S') => A) _x) (SMulHomClass.toFunLike.{max u2 u1, u4, u2, u1} (AlgHom.{u4, u2, u1} R S' A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26)) _inst_33 _inst_30 _inst_34) R S' A (SMulZeroClass.toSMul.{u4, u2} R S' (AddMonoid.toZero.{u2} S' (AddCommMonoid.toAddMonoid.{u2} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S' (Semiring.toNonAssocSemiring.{u2} S' (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26))))))) (DistribSMul.toSMulZeroClass.{u4, u2} R S' (AddMonoid.toAddZeroClass.{u2} S' (AddCommMonoid.toAddMonoid.{u2} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S' (Semiring.toNonAssocSemiring.{u2} S' (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26))))))) (DistribMulAction.toDistribSMul.{u4, u2} R S' (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))) (AddCommMonoid.toAddMonoid.{u2} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S' (Semiring.toNonAssocSemiring.{u2} S' (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26)))))) (Module.toDistribMulAction.{u4, u2} R S' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S' (Semiring.toNonAssocSemiring.{u2} S' (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26))))) (Algebra.toModule.{u4, u2} R S' (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26)) _inst_30))))) (SMulZeroClass.toSMul.{u4, u1} R A (AddMonoid.toZero.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))))) (DistribSMul.toSMulZeroClass.{u4, u1} R A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))))) (DistribMulAction.toDistribSMul.{u4, u1} R A (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))) (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33)))) (Module.toDistribMulAction.{u4, u1} R A (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))) (Algebra.toModule.{u4, u1} R A (CommRing.toCommSemiring.{u4} R _inst_3) _inst_33 _inst_34))))) (DistribMulActionHomClass.toSMulHomClass.{max u2 u1, u4, u2, u1} (AlgHom.{u4, u2, u1} R S' A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26)) _inst_33 _inst_30 _inst_34) R S' A (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))) (AddCommMonoid.toAddMonoid.{u2} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S' (Semiring.toNonAssocSemiring.{u2} S' (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26)))))) (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33)))) (Module.toDistribMulAction.{u4, u2} R S' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S' (Semiring.toNonAssocSemiring.{u2} S' (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26))))) (Algebra.toModule.{u4, u2} R S' (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26)) _inst_30)) (Module.toDistribMulAction.{u4, u1} R A (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))) (Algebra.toModule.{u4, u1} R A (CommRing.toCommSemiring.{u4} R _inst_3) _inst_33 _inst_34)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max u2 u1, u4, u2, u1} (AlgHom.{u4, u2, u1} R S' A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26)) _inst_33 _inst_30 _inst_34) R S' A (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S' (Semiring.toNonAssocSemiring.{u2} S' (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33)) (Module.toDistribMulAction.{u4, u2} R S' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S' (Semiring.toNonAssocSemiring.{u2} S' (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26))))) (Algebra.toModule.{u4, u2} R S' (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26)) _inst_30)) (Module.toDistribMulAction.{u4, u1} R A (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))) (Algebra.toModule.{u4, u1} R A (CommRing.toCommSemiring.{u4} R _inst_3) _inst_33 _inst_34)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u4, u2, u1, max u2 u1} R S' A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26)) _inst_33 _inst_30 _inst_34 (AlgHom.{u4, u2, u1} R S' A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26)) _inst_33 _inst_30 _inst_34) (AlgHom.algHomClass.{u4, u2, u1} R S' A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26)) _inst_33 _inst_30 _inst_34))))) (Algebra.pushoutDesc.{u5, u4, u3, u2, u1} R S _inst_3 _inst_4 _inst_5 R' S' _inst_25 _inst_26 _inst_27 _inst_28 _inst_29 _inst_30 _inst_31 _inst_32 H A _inst_33 _inst_34 f g H_1) (FunLike.coe.{max (succ u5) (succ u2), succ u5, succ u2} (RingHom.{u5, u2} S S' (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4))) (Semiring.toNonAssocSemiring.{u2} S' (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26)))) S (fun (_x : S) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : S) => S') _x) (MulHomClass.toFunLike.{max u5 u2, u5, u2} (RingHom.{u5, u2} S S' (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4))) (Semiring.toNonAssocSemiring.{u2} S' (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26)))) S S' (NonUnitalNonAssocSemiring.toMul.{u5} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} S (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4))))) (NonUnitalNonAssocSemiring.toMul.{u2} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S' (Semiring.toNonAssocSemiring.{u2} S' (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26))))) (NonUnitalRingHomClass.toMulHomClass.{max u5 u2, u5, u2} (RingHom.{u5, u2} S S' (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4))) (Semiring.toNonAssocSemiring.{u2} S' (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26)))) S S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} S (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S' (Semiring.toNonAssocSemiring.{u2} S' (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26)))) (RingHomClass.toNonUnitalRingHomClass.{max u5 u2, u5, u2} (RingHom.{u5, u2} S S' (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4))) (Semiring.toNonAssocSemiring.{u2} S' (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26)))) S S' (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4))) (Semiring.toNonAssocSemiring.{u2} S' (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26))) (RingHom.instRingHomClassRingHom.{u5, u2} S S' (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4))) (Semiring.toNonAssocSemiring.{u2} S' (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26))))))) (algebraMap.{u5, u2} S S' (CommRing.toCommSemiring.{u5} S _inst_4) (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26)) _inst_28) x)) (FunLike.coe.{max (succ u5) (succ u1), succ u5, succ u1} (AlgHom.{u4, u5, u1} R S A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_33 _inst_5 _inst_34) S (fun (_x : S) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : S) => A) _x) (SMulHomClass.toFunLike.{max u5 u1, u4, u5, u1} (AlgHom.{u4, u5, u1} R S A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_33 _inst_5 _inst_34) R S A (SMulZeroClass.toSMul.{u4, u5} R S (AddMonoid.toZero.{u5} S (AddCommMonoid.toAddMonoid.{u5} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} S (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4))))))) (DistribSMul.toSMulZeroClass.{u4, u5} R S (AddMonoid.toAddZeroClass.{u5} S (AddCommMonoid.toAddMonoid.{u5} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} S (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4))))))) (DistribMulAction.toDistribSMul.{u4, u5} R S (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))) (AddCommMonoid.toAddMonoid.{u5} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} S (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)))))) (Module.toDistribMulAction.{u4, u5} R S (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} S (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4))))) (Algebra.toModule.{u4, u5} R S (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_5))))) (SMulZeroClass.toSMul.{u4, u1} R A (AddMonoid.toZero.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))))) (DistribSMul.toSMulZeroClass.{u4, u1} R A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))))) (DistribMulAction.toDistribSMul.{u4, u1} R A (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))) (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33)))) (Module.toDistribMulAction.{u4, u1} R A (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))) (Algebra.toModule.{u4, u1} R A (CommRing.toCommSemiring.{u4} R _inst_3) _inst_33 _inst_34))))) (DistribMulActionHomClass.toSMulHomClass.{max u5 u1, u4, u5, u1} (AlgHom.{u4, u5, u1} R S A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_33 _inst_5 _inst_34) R S A (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))) (AddCommMonoid.toAddMonoid.{u5} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} S (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)))))) (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33)))) (Module.toDistribMulAction.{u4, u5} R S (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} S (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4))))) (Algebra.toModule.{u4, u5} R S (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_5)) (Module.toDistribMulAction.{u4, u1} R A (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))) (Algebra.toModule.{u4, u1} R A (CommRing.toCommSemiring.{u4} R _inst_3) _inst_33 _inst_34)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max u5 u1, u4, u5, u1} (AlgHom.{u4, u5, u1} R S A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_33 _inst_5 _inst_34) R S A (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} S (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33)) (Module.toDistribMulAction.{u4, u5} R S (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} S (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4))))) (Algebra.toModule.{u4, u5} R S (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_5)) (Module.toDistribMulAction.{u4, u1} R A (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))) (Algebra.toModule.{u4, u1} R A (CommRing.toCommSemiring.{u4} R _inst_3) _inst_33 _inst_34)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u4, u5, u1, max u5 u1} R S A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_33 _inst_5 _inst_34 (AlgHom.{u4, u5, u1} R S A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_33 _inst_5 _inst_34) (AlgHom.algHomClass.{u4, u5, u1} R S A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_33 _inst_5 _inst_34))))) f x)
+<too large>
 Case conversion may be inaccurate. Consider using '#align algebra.pushout_desc_left Algebra.pushoutDesc_leftₓ'. -/
 @[simp]
 theorem Algebra.pushoutDesc_left [H : Algebra.IsPushout R S R' S'] {A : Type _} [Semiring A]
@@ -656,10 +599,7 @@ theorem Algebra.pushoutDesc_left [H : Algebra.IsPushout R S R' S'] {A : Type _}
 #align algebra.pushout_desc_left Algebra.pushoutDesc_left
 
 /- warning: algebra.lift_alg_hom_comp_left -> Algebra.lift_algHom_comp_left is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u2}} {S : Type.{u1}} [_inst_3 : CommRing.{u2} R] [_inst_4 : CommRing.{u1} S] [_inst_5 : Algebra.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_4))] {R' : Type.{u3}} (S' : Type.{u4}) [_inst_25 : CommRing.{u3} R'] [_inst_26 : CommRing.{u4} S'] [_inst_27 : Algebra.{u2, u3} R R' (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_25))] [_inst_28 : Algebra.{u1, u4} S S' (CommRing.toCommSemiring.{u1} S _inst_4) (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26))] [_inst_29 : Algebra.{u3, u4} R' S' (CommRing.toCommSemiring.{u3} R' _inst_25) (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26))] [_inst_30 : Algebra.{u2, u4} R S' (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26))] [_inst_31 : IsScalarTower.{u2, u3, u4} R R' S' (SMulZeroClass.toHasSmul.{u2, u3} R R' (AddZeroClass.toHasZero.{u3} R' (AddMonoid.toAddZeroClass.{u3} R' (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_25)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} R R' (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (AddZeroClass.toHasZero.{u3} R' (AddMonoid.toAddZeroClass.{u3} R' (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_25)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} R R' (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddZeroClass.toHasZero.{u3} R' (AddMonoid.toAddZeroClass.{u3} R' (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_25)))))))) (Module.toMulActionWithZero.{u2, u3} R R' (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_25))))) (Algebra.toModule.{u2, u3} R R' (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_25)) _inst_27))))) (SMulZeroClass.toHasSmul.{u3, u4} R' S' (AddZeroClass.toHasZero.{u4} S' (AddMonoid.toAddZeroClass.{u4} S' (AddCommMonoid.toAddMonoid.{u4} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))))))) (SMulWithZero.toSmulZeroClass.{u3, u4} R' S' (MulZeroClass.toHasZero.{u3} R' (MulZeroOneClass.toMulZeroClass.{u3} R' (MonoidWithZero.toMulZeroOneClass.{u3} R' (Semiring.toMonoidWithZero.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)))))) (AddZeroClass.toHasZero.{u4} S' (AddMonoid.toAddZeroClass.{u4} S' (AddCommMonoid.toAddMonoid.{u4} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))))))) (MulActionWithZero.toSMulWithZero.{u3, u4} R' S' (Semiring.toMonoidWithZero.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25))) (AddZeroClass.toHasZero.{u4} S' (AddMonoid.toAddZeroClass.{u4} S' (AddCommMonoid.toAddMonoid.{u4} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))))))) (Module.toMulActionWithZero.{u3, u4} R' S' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26))))) (Algebra.toModule.{u3, u4} R' S' (CommRing.toCommSemiring.{u3} R' _inst_25) (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)) _inst_29))))) (SMulZeroClass.toHasSmul.{u2, u4} R S' (AddZeroClass.toHasZero.{u4} S' (AddMonoid.toAddZeroClass.{u4} S' (AddCommMonoid.toAddMonoid.{u4} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))))))) (SMulWithZero.toSmulZeroClass.{u2, u4} R S' (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (AddZeroClass.toHasZero.{u4} S' (AddMonoid.toAddZeroClass.{u4} S' (AddCommMonoid.toAddMonoid.{u4} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))))))) (MulActionWithZero.toSMulWithZero.{u2, u4} R S' (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddZeroClass.toHasZero.{u4} S' (AddMonoid.toAddZeroClass.{u4} S' (AddCommMonoid.toAddMonoid.{u4} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))))))) (Module.toMulActionWithZero.{u2, u4} R S' (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26))))) (Algebra.toModule.{u2, u4} R S' (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)) _inst_30)))))] [_inst_32 : IsScalarTower.{u2, u1, u4} R S S' (SMulZeroClass.toHasSmul.{u2, u1} R S (AddZeroClass.toHasZero.{u1} S (AddMonoid.toAddZeroClass.{u1} S (AddCommMonoid.toAddMonoid.{u1} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_4)))))))) (SMulWithZero.toSmulZeroClass.{u2, u1} R S (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (AddZeroClass.toHasZero.{u1} S (AddMonoid.toAddZeroClass.{u1} S (AddCommMonoid.toAddMonoid.{u1} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_4)))))))) (MulActionWithZero.toSMulWithZero.{u2, u1} R S (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddZeroClass.toHasZero.{u1} S (AddMonoid.toAddZeroClass.{u1} S (AddCommMonoid.toAddMonoid.{u1} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_4)))))))) (Module.toMulActionWithZero.{u2, u1} R S (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_4))))) (Algebra.toModule.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_4)) _inst_5))))) (SMulZeroClass.toHasSmul.{u1, u4} S S' (AddZeroClass.toHasZero.{u4} S' (AddMonoid.toAddZeroClass.{u4} S' (AddCommMonoid.toAddMonoid.{u4} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))))))) (SMulWithZero.toSmulZeroClass.{u1, u4} S S' (MulZeroClass.toHasZero.{u1} S (MulZeroOneClass.toMulZeroClass.{u1} S (MonoidWithZero.toMulZeroOneClass.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_4)))))) (AddZeroClass.toHasZero.{u4} S' (AddMonoid.toAddZeroClass.{u4} S' (AddCommMonoid.toAddMonoid.{u4} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))))))) (MulActionWithZero.toSMulWithZero.{u1, u4} S S' (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_4))) (AddZeroClass.toHasZero.{u4} S' (AddMonoid.toAddZeroClass.{u4} S' (AddCommMonoid.toAddMonoid.{u4} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))))))) (Module.toMulActionWithZero.{u1, u4} S S' (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_4)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26))))) (Algebra.toModule.{u1, u4} S S' (CommRing.toCommSemiring.{u1} S _inst_4) (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)) _inst_28))))) (SMulZeroClass.toHasSmul.{u2, u4} R S' (AddZeroClass.toHasZero.{u4} S' (AddMonoid.toAddZeroClass.{u4} S' (AddCommMonoid.toAddMonoid.{u4} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))))))) (SMulWithZero.toSmulZeroClass.{u2, u4} R S' (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (AddZeroClass.toHasZero.{u4} S' (AddMonoid.toAddZeroClass.{u4} S' (AddCommMonoid.toAddMonoid.{u4} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))))))) (MulActionWithZero.toSMulWithZero.{u2, u4} R S' (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddZeroClass.toHasZero.{u4} S' (AddMonoid.toAddZeroClass.{u4} S' (AddCommMonoid.toAddMonoid.{u4} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))))))) (Module.toMulActionWithZero.{u2, u4} R S' (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26))))) (Algebra.toModule.{u2, u4} R S' (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)) _inst_30)))))] [H : Algebra.IsPushout.{u1, u2, u3, u4} R S _inst_3 _inst_4 _inst_5 R' S' _inst_25 _inst_26 _inst_27 _inst_28 _inst_29 _inst_30 _inst_31 _inst_32] {A : Type.{u5}} [_inst_33 : Semiring.{u5} A] [_inst_34 : Algebra.{u2, u5} R A (CommRing.toCommSemiring.{u2} R _inst_3) _inst_33] (f : AlgHom.{u2, u1, u5} R S A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_4)) _inst_33 _inst_5 _inst_34) (g : AlgHom.{u2, u3, u5} R R' A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) (H_1 : forall (x : S) (y : R'), Eq.{succ u5} A (HMul.hMul.{u5, u5, u5} A A A (instHMul.{u5} A (Distrib.toHasMul.{u5} A (NonUnitalNonAssocSemiring.toDistrib.{u5} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} A (Semiring.toNonAssocSemiring.{u5} A _inst_33))))) (coeFn.{max (succ u1) (succ u5), max (succ u1) (succ u5)} (AlgHom.{u2, u1, u5} R S A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_4)) _inst_33 _inst_5 _inst_34) (fun (_x : AlgHom.{u2, u1, u5} R S A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_4)) _inst_33 _inst_5 _inst_34) => S -> A) ([anonymous].{u2, u1, u5} R S A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_4)) _inst_33 _inst_5 _inst_34) f x) (coeFn.{max (succ u3) (succ u5), max (succ u3) (succ u5)} (AlgHom.{u2, u3, u5} R R' A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) (fun (_x : AlgHom.{u2, u3, u5} R R' A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) => R' -> A) ([anonymous].{u2, u3, u5} R R' A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) g y)) (HMul.hMul.{u5, u5, u5} A A A (instHMul.{u5} A (Distrib.toHasMul.{u5} A (NonUnitalNonAssocSemiring.toDistrib.{u5} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} A (Semiring.toNonAssocSemiring.{u5} A _inst_33))))) (coeFn.{max (succ u3) (succ u5), max (succ u3) (succ u5)} (AlgHom.{u2, u3, u5} R R' A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) (fun (_x : AlgHom.{u2, u3, u5} R R' A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) => R' -> A) ([anonymous].{u2, u3, u5} R R' A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) g y) (coeFn.{max (succ u1) (succ u5), max (succ u1) (succ u5)} (AlgHom.{u2, u1, u5} R S A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_4)) _inst_33 _inst_5 _inst_34) (fun (_x : AlgHom.{u2, u1, u5} R S A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_4)) _inst_33 _inst_5 _inst_34) => S -> A) ([anonymous].{u2, u1, u5} R S A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_4)) _inst_33 _inst_5 _inst_34) f x))), Eq.{max (succ u1) (succ u5)} (AlgHom.{u2, u1, u5} R S A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_4)) _inst_33 _inst_5 _inst_34) (AlgHom.comp.{u2, u1, u4, u5} R S S' A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_4)) (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)) _inst_33 _inst_5 _inst_30 _inst_34 (Algebra.pushoutDesc.{u1, u2, u3, u4, u5} R S _inst_3 _inst_4 _inst_5 R' S' _inst_25 _inst_26 _inst_27 _inst_28 _inst_29 _inst_30 _inst_31 _inst_32 H A _inst_33 _inst_34 f g H_1) (IsScalarTower.toAlgHom.{u2, u1, u4} R S S' (CommRing.toCommSemiring.{u2} R _inst_3) (CommRing.toCommSemiring.{u1} S _inst_4) (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)) _inst_5 _inst_28 _inst_30 _inst_32)) f
-but is expected to have type
-  forall {R : Type.{u4}} {S : Type.{u5}} [_inst_3 : CommRing.{u4} R] [_inst_4 : CommRing.{u5} S] [_inst_5 : Algebra.{u4, u5} R S (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4))] {R' : Type.{u3}} (S' : Type.{u2}) [_inst_25 : CommRing.{u3} R'] [_inst_26 : CommRing.{u2} S'] [_inst_27 : Algebra.{u4, u3} R R' (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25))] [_inst_28 : Algebra.{u5, u2} S S' (CommRing.toCommSemiring.{u5} S _inst_4) (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26))] [_inst_29 : Algebra.{u3, u2} R' S' (CommRing.toCommSemiring.{u3} R' _inst_25) (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26))] [_inst_30 : Algebra.{u4, u2} R S' (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26))] [_inst_31 : IsScalarTower.{u4, u3, u2} R R' S' (Algebra.toSMul.{u4, u3} R R' (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_27) (Algebra.toSMul.{u3, u2} R' S' (CommRing.toCommSemiring.{u3} R' _inst_25) (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26)) _inst_29) (Algebra.toSMul.{u4, u2} R S' (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26)) _inst_30)] [_inst_32 : IsScalarTower.{u4, u5, u2} R S S' (Algebra.toSMul.{u4, u5} R S (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_5) (Algebra.toSMul.{u5, u2} S S' (CommRing.toCommSemiring.{u5} S _inst_4) (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26)) _inst_28) (Algebra.toSMul.{u4, u2} R S' (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26)) _inst_30)] [H : Algebra.IsPushout.{u5, u4, u3, u2} R S _inst_3 _inst_4 _inst_5 R' S' _inst_25 _inst_26 _inst_27 _inst_28 _inst_29 _inst_30 _inst_31 _inst_32] {A : Type.{u1}} [_inst_33 : Semiring.{u1} A] [_inst_34 : Algebra.{u4, u1} R A (CommRing.toCommSemiring.{u4} R _inst_3) _inst_33] (f : AlgHom.{u4, u5, u1} R S A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_33 _inst_5 _inst_34) (g : AlgHom.{u4, u3, u1} R R' A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) (H_1 : forall (x : S) (y : R'), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : S) => A) x) (HMul.hMul.{u1, u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : S) => A) x) ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : R') => A) y) ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : S) => A) x) (instHMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : S) => A) x) (NonUnitalNonAssocSemiring.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : S) => A) x) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : S) => A) x) (Semiring.toNonAssocSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : S) => A) x) _inst_33)))) (FunLike.coe.{max (succ u5) (succ u1), succ u5, succ u1} (AlgHom.{u4, u5, u1} R S A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_33 _inst_5 _inst_34) S (fun (_x : S) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : S) => A) _x) (SMulHomClass.toFunLike.{max u5 u1, u4, u5, u1} (AlgHom.{u4, u5, u1} R S A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_33 _inst_5 _inst_34) R S A (SMulZeroClass.toSMul.{u4, u5} R S (AddMonoid.toZero.{u5} S (AddCommMonoid.toAddMonoid.{u5} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} S (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4))))))) (DistribSMul.toSMulZeroClass.{u4, u5} R S (AddMonoid.toAddZeroClass.{u5} S (AddCommMonoid.toAddMonoid.{u5} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} S (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4))))))) (DistribMulAction.toDistribSMul.{u4, u5} R S (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))) (AddCommMonoid.toAddMonoid.{u5} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} S (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)))))) (Module.toDistribMulAction.{u4, u5} R S (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} S (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4))))) (Algebra.toModule.{u4, u5} R S (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_5))))) (SMulZeroClass.toSMul.{u4, u1} R A (AddMonoid.toZero.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))))) (DistribSMul.toSMulZeroClass.{u4, u1} R A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))))) (DistribMulAction.toDistribSMul.{u4, u1} R A (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))) (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33)))) (Module.toDistribMulAction.{u4, u1} R A (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))) (Algebra.toModule.{u4, u1} R A (CommRing.toCommSemiring.{u4} R _inst_3) _inst_33 _inst_34))))) (DistribMulActionHomClass.toSMulHomClass.{max u5 u1, u4, u5, u1} (AlgHom.{u4, u5, u1} R S A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_33 _inst_5 _inst_34) R S A (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))) (AddCommMonoid.toAddMonoid.{u5} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} S (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)))))) (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33)))) (Module.toDistribMulAction.{u4, u5} R S (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} S (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4))))) (Algebra.toModule.{u4, u5} R S (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_5)) (Module.toDistribMulAction.{u4, u1} R A (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))) (Algebra.toModule.{u4, u1} R A (CommRing.toCommSemiring.{u4} R _inst_3) _inst_33 _inst_34)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max u5 u1, u4, u5, u1} (AlgHom.{u4, u5, u1} R S A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_33 _inst_5 _inst_34) R S A (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} S (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33)) (Module.toDistribMulAction.{u4, u5} R S (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} S (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4))))) (Algebra.toModule.{u4, u5} R S (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_5)) (Module.toDistribMulAction.{u4, u1} R A (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))) (Algebra.toModule.{u4, u1} R A (CommRing.toCommSemiring.{u4} R _inst_3) _inst_33 _inst_34)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u4, u5, u1, max u5 u1} R S A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_33 _inst_5 _inst_34 (AlgHom.{u4, u5, u1} R S A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_33 _inst_5 _inst_34) (AlgHom.algHomClass.{u4, u5, u1} R S A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_33 _inst_5 _inst_34))))) f x) (FunLike.coe.{max (succ u3) (succ u1), succ u3, succ u1} (AlgHom.{u4, u3, u1} R R' A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) R' (fun (_x : R') => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : R') => A) _x) (SMulHomClass.toFunLike.{max u3 u1, u4, u3, u1} (AlgHom.{u4, u3, u1} R R' A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) R R' A (SMulZeroClass.toSMul.{u4, u3} R R' (AddMonoid.toZero.{u3} R' (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25))))))) (DistribSMul.toSMulZeroClass.{u4, u3} R R' (AddMonoid.toAddZeroClass.{u3} R' (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25))))))) (DistribMulAction.toDistribSMul.{u4, u3} R R' (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))) (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)))))) (Module.toDistribMulAction.{u4, u3} R R' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25))))) (Algebra.toModule.{u4, u3} R R' (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_27))))) (SMulZeroClass.toSMul.{u4, u1} R A (AddMonoid.toZero.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))))) (DistribSMul.toSMulZeroClass.{u4, u1} R A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))))) (DistribMulAction.toDistribSMul.{u4, u1} R A (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))) (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33)))) (Module.toDistribMulAction.{u4, u1} R A (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))) (Algebra.toModule.{u4, u1} R A (CommRing.toCommSemiring.{u4} R _inst_3) _inst_33 _inst_34))))) (DistribMulActionHomClass.toSMulHomClass.{max u3 u1, u4, u3, u1} (AlgHom.{u4, u3, u1} R R' A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) R R' A (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))) (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)))))) (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33)))) (Module.toDistribMulAction.{u4, u3} R R' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25))))) (Algebra.toModule.{u4, u3} R R' (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_27)) (Module.toDistribMulAction.{u4, u1} R A (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))) (Algebra.toModule.{u4, u1} R A (CommRing.toCommSemiring.{u4} R _inst_3) _inst_33 _inst_34)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max u3 u1, u4, u3, u1} (AlgHom.{u4, u3, u1} R R' A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) R R' A (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33)) (Module.toDistribMulAction.{u4, u3} R R' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25))))) (Algebra.toModule.{u4, u3} R R' (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_27)) (Module.toDistribMulAction.{u4, u1} R A (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))) (Algebra.toModule.{u4, u1} R A (CommRing.toCommSemiring.{u4} R _inst_3) _inst_33 _inst_34)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u4, u3, u1, max u3 u1} R R' A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34 (AlgHom.{u4, u3, u1} R R' A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) (AlgHom.algHomClass.{u4, u3, u1} R R' A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34))))) g y)) (HMul.hMul.{u1, u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : R') => A) y) ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : S) => A) x) ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : R') => A) y) (instHMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : R') => A) y) (NonUnitalNonAssocSemiring.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : R') => A) y) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : R') => A) y) (Semiring.toNonAssocSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : R') => A) y) _inst_33)))) (FunLike.coe.{max (succ u3) (succ u1), succ u3, succ u1} (AlgHom.{u4, u3, u1} R R' A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) R' (fun (_x : R') => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : R') => A) _x) (SMulHomClass.toFunLike.{max u3 u1, u4, u3, u1} (AlgHom.{u4, u3, u1} R R' A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) R R' A (SMulZeroClass.toSMul.{u4, u3} R R' (AddMonoid.toZero.{u3} R' (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25))))))) (DistribSMul.toSMulZeroClass.{u4, u3} R R' (AddMonoid.toAddZeroClass.{u3} R' (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25))))))) (DistribMulAction.toDistribSMul.{u4, u3} R R' (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))) (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)))))) (Module.toDistribMulAction.{u4, u3} R R' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25))))) (Algebra.toModule.{u4, u3} R R' (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_27))))) (SMulZeroClass.toSMul.{u4, u1} R A (AddMonoid.toZero.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))))) (DistribSMul.toSMulZeroClass.{u4, u1} R A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))))) (DistribMulAction.toDistribSMul.{u4, u1} R A (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))) (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33)))) (Module.toDistribMulAction.{u4, u1} R A (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))) (Algebra.toModule.{u4, u1} R A (CommRing.toCommSemiring.{u4} R _inst_3) _inst_33 _inst_34))))) (DistribMulActionHomClass.toSMulHomClass.{max u3 u1, u4, u3, u1} (AlgHom.{u4, u3, u1} R R' A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) R R' A (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))) (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)))))) (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33)))) (Module.toDistribMulAction.{u4, u3} R R' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25))))) (Algebra.toModule.{u4, u3} R R' (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_27)) (Module.toDistribMulAction.{u4, u1} R A (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))) (Algebra.toModule.{u4, u1} R A (CommRing.toCommSemiring.{u4} R _inst_3) _inst_33 _inst_34)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max u3 u1, u4, u3, u1} (AlgHom.{u4, u3, u1} R R' A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) R R' A (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33)) (Module.toDistribMulAction.{u4, u3} R R' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25))))) (Algebra.toModule.{u4, u3} R R' (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_27)) (Module.toDistribMulAction.{u4, u1} R A (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))) (Algebra.toModule.{u4, u1} R A (CommRing.toCommSemiring.{u4} R _inst_3) _inst_33 _inst_34)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u4, u3, u1, max u3 u1} R R' A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34 (AlgHom.{u4, u3, u1} R R' A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) (AlgHom.algHomClass.{u4, u3, u1} R R' A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34))))) g y) (FunLike.coe.{max (succ u5) (succ u1), succ u5, succ u1} (AlgHom.{u4, u5, u1} R S A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_33 _inst_5 _inst_34) S (fun (_x : S) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : S) => A) _x) (SMulHomClass.toFunLike.{max u5 u1, u4, u5, u1} (AlgHom.{u4, u5, u1} R S A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_33 _inst_5 _inst_34) R S A (SMulZeroClass.toSMul.{u4, u5} R S (AddMonoid.toZero.{u5} S (AddCommMonoid.toAddMonoid.{u5} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} S (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4))))))) (DistribSMul.toSMulZeroClass.{u4, u5} R S (AddMonoid.toAddZeroClass.{u5} S (AddCommMonoid.toAddMonoid.{u5} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} S (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4))))))) (DistribMulAction.toDistribSMul.{u4, u5} R S (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))) (AddCommMonoid.toAddMonoid.{u5} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} S (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)))))) (Module.toDistribMulAction.{u4, u5} R S (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} S (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4))))) (Algebra.toModule.{u4, u5} R S (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_5))))) (SMulZeroClass.toSMul.{u4, u1} R A (AddMonoid.toZero.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))))) (DistribSMul.toSMulZeroClass.{u4, u1} R A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))))) (DistribMulAction.toDistribSMul.{u4, u1} R A (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))) (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33)))) (Module.toDistribMulAction.{u4, u1} R A (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))) (Algebra.toModule.{u4, u1} R A (CommRing.toCommSemiring.{u4} R _inst_3) _inst_33 _inst_34))))) (DistribMulActionHomClass.toSMulHomClass.{max u5 u1, u4, u5, u1} (AlgHom.{u4, u5, u1} R S A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_33 _inst_5 _inst_34) R S A (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))) (AddCommMonoid.toAddMonoid.{u5} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} S (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)))))) (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33)))) (Module.toDistribMulAction.{u4, u5} R S (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} S (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4))))) (Algebra.toModule.{u4, u5} R S (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_5)) (Module.toDistribMulAction.{u4, u1} R A (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))) (Algebra.toModule.{u4, u1} R A (CommRing.toCommSemiring.{u4} R _inst_3) _inst_33 _inst_34)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max u5 u1, u4, u5, u1} (AlgHom.{u4, u5, u1} R S A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_33 _inst_5 _inst_34) R S A (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} S (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33)) (Module.toDistribMulAction.{u4, u5} R S (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} S (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4))))) (Algebra.toModule.{u4, u5} R S (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_5)) (Module.toDistribMulAction.{u4, u1} R A (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))) (Algebra.toModule.{u4, u1} R A (CommRing.toCommSemiring.{u4} R _inst_3) _inst_33 _inst_34)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u4, u5, u1, max u5 u1} R S A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_33 _inst_5 _inst_34 (AlgHom.{u4, u5, u1} R S A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_33 _inst_5 _inst_34) (AlgHom.algHomClass.{u4, u5, u1} R S A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_33 _inst_5 _inst_34))))) f x))), Eq.{max (succ u5) (succ u1)} (AlgHom.{u4, u5, u1} R S A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_33 _inst_5 _inst_34) (AlgHom.comp.{u4, u5, u2, u1} R S S' A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26)) _inst_33 _inst_5 _inst_30 _inst_34 (Algebra.pushoutDesc.{u5, u4, u3, u2, u1} R S _inst_3 _inst_4 _inst_5 R' S' _inst_25 _inst_26 _inst_27 _inst_28 _inst_29 _inst_30 _inst_31 _inst_32 H A _inst_33 _inst_34 f g H_1) (IsScalarTower.toAlgHom.{u4, u5, u2} R S S' (CommRing.toCommSemiring.{u4} R _inst_3) (CommRing.toCommSemiring.{u5} S _inst_4) (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26)) _inst_5 _inst_28 _inst_30 _inst_32)) f
+<too large>
 Case conversion may be inaccurate. Consider using '#align algebra.lift_alg_hom_comp_left Algebra.lift_algHom_comp_leftₓ'. -/
 theorem Algebra.lift_algHom_comp_left [H : Algebra.IsPushout R S R' S'] {A : Type _} [Semiring A]
     [Algebra R A] (f : S →ₐ[R] A) (g : R' →ₐ[R] A) (H) :
@@ -668,10 +608,7 @@ theorem Algebra.lift_algHom_comp_left [H : Algebra.IsPushout R S R' S'] {A : Typ
 #align algebra.lift_alg_hom_comp_left Algebra.lift_algHom_comp_left
 
 /- warning: algebra.pushout_desc_right -> Algebra.pushoutDesc_right is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u2}} {S : Type.{u1}} [_inst_3 : CommRing.{u2} R] [_inst_4 : CommRing.{u1} S] [_inst_5 : Algebra.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_4))] {R' : Type.{u3}} (S' : Type.{u4}) [_inst_25 : CommRing.{u3} R'] [_inst_26 : CommRing.{u4} S'] [_inst_27 : Algebra.{u2, u3} R R' (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_25))] [_inst_28 : Algebra.{u1, u4} S S' (CommRing.toCommSemiring.{u1} S _inst_4) (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26))] [_inst_29 : Algebra.{u3, u4} R' S' (CommRing.toCommSemiring.{u3} R' _inst_25) (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26))] [_inst_30 : Algebra.{u2, u4} R S' (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26))] [_inst_31 : IsScalarTower.{u2, u3, u4} R R' S' (SMulZeroClass.toHasSmul.{u2, u3} R R' (AddZeroClass.toHasZero.{u3} R' (AddMonoid.toAddZeroClass.{u3} R' (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_25)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} R R' (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (AddZeroClass.toHasZero.{u3} R' (AddMonoid.toAddZeroClass.{u3} R' (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_25)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} R R' (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddZeroClass.toHasZero.{u3} R' (AddMonoid.toAddZeroClass.{u3} R' (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_25)))))))) (Module.toMulActionWithZero.{u2, u3} R R' (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_25))))) (Algebra.toModule.{u2, u3} R R' (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_25)) _inst_27))))) (SMulZeroClass.toHasSmul.{u3, u4} R' S' (AddZeroClass.toHasZero.{u4} S' (AddMonoid.toAddZeroClass.{u4} S' (AddCommMonoid.toAddMonoid.{u4} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))))))) (SMulWithZero.toSmulZeroClass.{u3, u4} R' S' (MulZeroClass.toHasZero.{u3} R' (MulZeroOneClass.toMulZeroClass.{u3} R' (MonoidWithZero.toMulZeroOneClass.{u3} R' (Semiring.toMonoidWithZero.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)))))) (AddZeroClass.toHasZero.{u4} S' (AddMonoid.toAddZeroClass.{u4} S' (AddCommMonoid.toAddMonoid.{u4} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))))))) (MulActionWithZero.toSMulWithZero.{u3, u4} R' S' (Semiring.toMonoidWithZero.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25))) (AddZeroClass.toHasZero.{u4} S' (AddMonoid.toAddZeroClass.{u4} S' (AddCommMonoid.toAddMonoid.{u4} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))))))) (Module.toMulActionWithZero.{u3, u4} R' S' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26))))) (Algebra.toModule.{u3, u4} R' S' (CommRing.toCommSemiring.{u3} R' _inst_25) (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)) _inst_29))))) (SMulZeroClass.toHasSmul.{u2, u4} R S' (AddZeroClass.toHasZero.{u4} S' (AddMonoid.toAddZeroClass.{u4} S' (AddCommMonoid.toAddMonoid.{u4} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))))))) (SMulWithZero.toSmulZeroClass.{u2, u4} R S' (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (AddZeroClass.toHasZero.{u4} S' (AddMonoid.toAddZeroClass.{u4} S' (AddCommMonoid.toAddMonoid.{u4} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))))))) (MulActionWithZero.toSMulWithZero.{u2, u4} R S' (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddZeroClass.toHasZero.{u4} S' (AddMonoid.toAddZeroClass.{u4} S' (AddCommMonoid.toAddMonoid.{u4} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))))))) (Module.toMulActionWithZero.{u2, u4} R S' (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26))))) (Algebra.toModule.{u2, u4} R S' (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)) _inst_30)))))] [_inst_32 : IsScalarTower.{u2, u1, u4} R S S' (SMulZeroClass.toHasSmul.{u2, u1} R S (AddZeroClass.toHasZero.{u1} S (AddMonoid.toAddZeroClass.{u1} S (AddCommMonoid.toAddMonoid.{u1} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_4)))))))) (SMulWithZero.toSmulZeroClass.{u2, u1} R S (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (AddZeroClass.toHasZero.{u1} S (AddMonoid.toAddZeroClass.{u1} S (AddCommMonoid.toAddMonoid.{u1} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_4)))))))) (MulActionWithZero.toSMulWithZero.{u2, u1} R S (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddZeroClass.toHasZero.{u1} S (AddMonoid.toAddZeroClass.{u1} S (AddCommMonoid.toAddMonoid.{u1} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_4)))))))) (Module.toMulActionWithZero.{u2, u1} R S (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_4))))) (Algebra.toModule.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_4)) _inst_5))))) (SMulZeroClass.toHasSmul.{u1, u4} S S' (AddZeroClass.toHasZero.{u4} S' (AddMonoid.toAddZeroClass.{u4} S' (AddCommMonoid.toAddMonoid.{u4} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))))))) (SMulWithZero.toSmulZeroClass.{u1, u4} S S' (MulZeroClass.toHasZero.{u1} S (MulZeroOneClass.toMulZeroClass.{u1} S (MonoidWithZero.toMulZeroOneClass.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_4)))))) (AddZeroClass.toHasZero.{u4} S' (AddMonoid.toAddZeroClass.{u4} S' (AddCommMonoid.toAddMonoid.{u4} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))))))) (MulActionWithZero.toSMulWithZero.{u1, u4} S S' (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_4))) (AddZeroClass.toHasZero.{u4} S' (AddMonoid.toAddZeroClass.{u4} S' (AddCommMonoid.toAddMonoid.{u4} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))))))) (Module.toMulActionWithZero.{u1, u4} S S' (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_4)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26))))) (Algebra.toModule.{u1, u4} S S' (CommRing.toCommSemiring.{u1} S _inst_4) (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)) _inst_28))))) (SMulZeroClass.toHasSmul.{u2, u4} R S' (AddZeroClass.toHasZero.{u4} S' (AddMonoid.toAddZeroClass.{u4} S' (AddCommMonoid.toAddMonoid.{u4} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))))))) (SMulWithZero.toSmulZeroClass.{u2, u4} R S' (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (AddZeroClass.toHasZero.{u4} S' (AddMonoid.toAddZeroClass.{u4} S' (AddCommMonoid.toAddMonoid.{u4} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))))))) (MulActionWithZero.toSMulWithZero.{u2, u4} R S' (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddZeroClass.toHasZero.{u4} S' (AddMonoid.toAddZeroClass.{u4} S' (AddCommMonoid.toAddMonoid.{u4} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))))))) (Module.toMulActionWithZero.{u2, u4} R S' (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26))))) (Algebra.toModule.{u2, u4} R S' (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)) _inst_30)))))] [H : Algebra.IsPushout.{u1, u2, u3, u4} R S _inst_3 _inst_4 _inst_5 R' S' _inst_25 _inst_26 _inst_27 _inst_28 _inst_29 _inst_30 _inst_31 _inst_32] {A : Type.{u5}} [_inst_33 : Semiring.{u5} A] [_inst_34 : Algebra.{u2, u5} R A (CommRing.toCommSemiring.{u2} R _inst_3) _inst_33] (f : AlgHom.{u2, u1, u5} R S A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_4)) _inst_33 _inst_5 _inst_34) (g : AlgHom.{u2, u3, u5} R R' A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) (H_1 : forall (x : S) (y : R'), Eq.{succ u5} A (HMul.hMul.{u5, u5, u5} A A A (instHMul.{u5} A (Distrib.toHasMul.{u5} A (NonUnitalNonAssocSemiring.toDistrib.{u5} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} A (Semiring.toNonAssocSemiring.{u5} A _inst_33))))) (coeFn.{max (succ u1) (succ u5), max (succ u1) (succ u5)} (AlgHom.{u2, u1, u5} R S A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_4)) _inst_33 _inst_5 _inst_34) (fun (_x : AlgHom.{u2, u1, u5} R S A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_4)) _inst_33 _inst_5 _inst_34) => S -> A) ([anonymous].{u2, u1, u5} R S A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_4)) _inst_33 _inst_5 _inst_34) f x) (coeFn.{max (succ u3) (succ u5), max (succ u3) (succ u5)} (AlgHom.{u2, u3, u5} R R' A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) (fun (_x : AlgHom.{u2, u3, u5} R R' A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) => R' -> A) ([anonymous].{u2, u3, u5} R R' A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) g y)) (HMul.hMul.{u5, u5, u5} A A A (instHMul.{u5} A (Distrib.toHasMul.{u5} A (NonUnitalNonAssocSemiring.toDistrib.{u5} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} A (Semiring.toNonAssocSemiring.{u5} A _inst_33))))) (coeFn.{max (succ u3) (succ u5), max (succ u3) (succ u5)} (AlgHom.{u2, u3, u5} R R' A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) (fun (_x : AlgHom.{u2, u3, u5} R R' A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) => R' -> A) ([anonymous].{u2, u3, u5} R R' A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) g y) (coeFn.{max (succ u1) (succ u5), max (succ u1) (succ u5)} (AlgHom.{u2, u1, u5} R S A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_4)) _inst_33 _inst_5 _inst_34) (fun (_x : AlgHom.{u2, u1, u5} R S A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_4)) _inst_33 _inst_5 _inst_34) => S -> A) ([anonymous].{u2, u1, u5} R S A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_4)) _inst_33 _inst_5 _inst_34) f x))) (x : R'), Eq.{succ u5} A (coeFn.{max (succ u4) (succ u5), max (succ u4) (succ u5)} (AlgHom.{u2, u4, u5} R S' A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)) _inst_33 _inst_30 _inst_34) (fun (_x : AlgHom.{u2, u4, u5} R S' A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)) _inst_33 _inst_30 _inst_34) => S' -> A) ([anonymous].{u2, u4, u5} R S' A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)) _inst_33 _inst_30 _inst_34) (Algebra.pushoutDesc.{u1, u2, u3, u4, u5} R S _inst_3 _inst_4 _inst_5 R' S' _inst_25 _inst_26 _inst_27 _inst_28 _inst_29 _inst_30 _inst_31 _inst_32 H A _inst_33 _inst_34 f g H_1) (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (RingHom.{u3, u4} R' S' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25))) (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))) (fun (_x : RingHom.{u3, u4} R' S' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25))) (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))) => R' -> S') (RingHom.hasCoeToFun.{u3, u4} R' S' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25))) (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))) (algebraMap.{u3, u4} R' S' (CommRing.toCommSemiring.{u3} R' _inst_25) (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)) _inst_29) x)) (coeFn.{max (succ u3) (succ u5), max (succ u3) (succ u5)} (AlgHom.{u2, u3, u5} R R' A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) (fun (_x : AlgHom.{u2, u3, u5} R R' A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) => R' -> A) ([anonymous].{u2, u3, u5} R R' A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) g x)
-but is expected to have type
-  forall {R : Type.{u4}} {S : Type.{u5}} [_inst_3 : CommRing.{u4} R] [_inst_4 : CommRing.{u5} S] [_inst_5 : Algebra.{u4, u5} R S (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4))] {R' : Type.{u3}} (S' : Type.{u2}) [_inst_25 : CommRing.{u3} R'] [_inst_26 : CommRing.{u2} S'] [_inst_27 : Algebra.{u4, u3} R R' (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25))] [_inst_28 : Algebra.{u5, u2} S S' (CommRing.toCommSemiring.{u5} S _inst_4) (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26))] [_inst_29 : Algebra.{u3, u2} R' S' (CommRing.toCommSemiring.{u3} R' _inst_25) (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26))] [_inst_30 : Algebra.{u4, u2} R S' (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26))] [_inst_31 : IsScalarTower.{u4, u3, u2} R R' S' (Algebra.toSMul.{u4, u3} R R' (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_27) (Algebra.toSMul.{u3, u2} R' S' (CommRing.toCommSemiring.{u3} R' _inst_25) (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26)) _inst_29) (Algebra.toSMul.{u4, u2} R S' (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26)) _inst_30)] [_inst_32 : IsScalarTower.{u4, u5, u2} R S S' (Algebra.toSMul.{u4, u5} R S (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_5) (Algebra.toSMul.{u5, u2} S S' (CommRing.toCommSemiring.{u5} S _inst_4) (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26)) _inst_28) (Algebra.toSMul.{u4, u2} R S' (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26)) _inst_30)] [H : Algebra.IsPushout.{u5, u4, u3, u2} R S _inst_3 _inst_4 _inst_5 R' S' _inst_25 _inst_26 _inst_27 _inst_28 _inst_29 _inst_30 _inst_31 _inst_32] {A : Type.{u1}} [_inst_33 : Semiring.{u1} A] [_inst_34 : Algebra.{u4, u1} R A (CommRing.toCommSemiring.{u4} R _inst_3) _inst_33] (f : AlgHom.{u4, u5, u1} R S A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_33 _inst_5 _inst_34) (g : AlgHom.{u4, u3, u1} R R' A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) (H_1 : forall (x : S) (y : R'), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : S) => A) x) (HMul.hMul.{u1, u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : S) => A) x) ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : R') => A) y) ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : S) => A) x) (instHMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : S) => A) x) (NonUnitalNonAssocSemiring.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : S) => A) x) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : S) => A) x) (Semiring.toNonAssocSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : S) => A) x) _inst_33)))) (FunLike.coe.{max (succ u5) (succ u1), succ u5, succ u1} (AlgHom.{u4, u5, u1} R S A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_33 _inst_5 _inst_34) S (fun (_x : S) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : S) => A) _x) (SMulHomClass.toFunLike.{max u5 u1, u4, u5, u1} (AlgHom.{u4, u5, u1} R S A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_33 _inst_5 _inst_34) R S A (SMulZeroClass.toSMul.{u4, u5} R S (AddMonoid.toZero.{u5} S (AddCommMonoid.toAddMonoid.{u5} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} S (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4))))))) (DistribSMul.toSMulZeroClass.{u4, u5} R S (AddMonoid.toAddZeroClass.{u5} S (AddCommMonoid.toAddMonoid.{u5} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} S (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4))))))) (DistribMulAction.toDistribSMul.{u4, u5} R S (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))) (AddCommMonoid.toAddMonoid.{u5} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} S (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)))))) (Module.toDistribMulAction.{u4, u5} R S (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} S (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4))))) (Algebra.toModule.{u4, u5} R S (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_5))))) (SMulZeroClass.toSMul.{u4, u1} R A (AddMonoid.toZero.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))))) (DistribSMul.toSMulZeroClass.{u4, u1} R A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))))) (DistribMulAction.toDistribSMul.{u4, u1} R A (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))) (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33)))) (Module.toDistribMulAction.{u4, u1} R A (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))) (Algebra.toModule.{u4, u1} R A (CommRing.toCommSemiring.{u4} R _inst_3) _inst_33 _inst_34))))) (DistribMulActionHomClass.toSMulHomClass.{max u5 u1, u4, u5, u1} (AlgHom.{u4, u5, u1} R S A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_33 _inst_5 _inst_34) R S A (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))) (AddCommMonoid.toAddMonoid.{u5} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} S (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)))))) (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33)))) (Module.toDistribMulAction.{u4, u5} R S (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} S (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4))))) (Algebra.toModule.{u4, u5} R S (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_5)) (Module.toDistribMulAction.{u4, u1} R A (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))) (Algebra.toModule.{u4, u1} R A (CommRing.toCommSemiring.{u4} R _inst_3) _inst_33 _inst_34)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max u5 u1, u4, u5, u1} (AlgHom.{u4, u5, u1} R S A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_33 _inst_5 _inst_34) R S A (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} S (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33)) (Module.toDistribMulAction.{u4, u5} R S (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} S (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4))))) (Algebra.toModule.{u4, u5} R S (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_5)) (Module.toDistribMulAction.{u4, u1} R A (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))) (Algebra.toModule.{u4, u1} R A (CommRing.toCommSemiring.{u4} R _inst_3) _inst_33 _inst_34)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u4, u5, u1, max u5 u1} R S A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_33 _inst_5 _inst_34 (AlgHom.{u4, u5, u1} R S A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_33 _inst_5 _inst_34) (AlgHom.algHomClass.{u4, u5, u1} R S A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_33 _inst_5 _inst_34))))) f x) (FunLike.coe.{max (succ u3) (succ u1), succ u3, succ u1} (AlgHom.{u4, u3, u1} R R' A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) R' (fun (_x : R') => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : R') => A) _x) (SMulHomClass.toFunLike.{max u3 u1, u4, u3, u1} (AlgHom.{u4, u3, u1} R R' A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) R R' A (SMulZeroClass.toSMul.{u4, u3} R R' (AddMonoid.toZero.{u3} R' (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25))))))) (DistribSMul.toSMulZeroClass.{u4, u3} R R' (AddMonoid.toAddZeroClass.{u3} R' (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25))))))) (DistribMulAction.toDistribSMul.{u4, u3} R R' (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))) (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)))))) (Module.toDistribMulAction.{u4, u3} R R' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25))))) (Algebra.toModule.{u4, u3} R R' (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_27))))) (SMulZeroClass.toSMul.{u4, u1} R A (AddMonoid.toZero.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))))) (DistribSMul.toSMulZeroClass.{u4, u1} R A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))))) (DistribMulAction.toDistribSMul.{u4, u1} R A (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))) (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33)))) (Module.toDistribMulAction.{u4, u1} R A (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))) (Algebra.toModule.{u4, u1} R A (CommRing.toCommSemiring.{u4} R _inst_3) _inst_33 _inst_34))))) (DistribMulActionHomClass.toSMulHomClass.{max u3 u1, u4, u3, u1} (AlgHom.{u4, u3, u1} R R' A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) R R' A (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))) (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)))))) (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33)))) (Module.toDistribMulAction.{u4, u3} R R' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25))))) (Algebra.toModule.{u4, u3} R R' (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_27)) (Module.toDistribMulAction.{u4, u1} R A (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))) (Algebra.toModule.{u4, u1} R A (CommRing.toCommSemiring.{u4} R _inst_3) _inst_33 _inst_34)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max u3 u1, u4, u3, u1} (AlgHom.{u4, u3, u1} R R' A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) R R' A (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33)) (Module.toDistribMulAction.{u4, u3} R R' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25))))) (Algebra.toModule.{u4, u3} R R' (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_27)) (Module.toDistribMulAction.{u4, u1} R A (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))) (Algebra.toModule.{u4, u1} R A (CommRing.toCommSemiring.{u4} R _inst_3) _inst_33 _inst_34)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u4, u3, u1, max u3 u1} R R' A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34 (AlgHom.{u4, u3, u1} R R' A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) (AlgHom.algHomClass.{u4, u3, u1} R R' A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34))))) g y)) (HMul.hMul.{u1, u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : R') => A) y) ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : S) => A) x) ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : R') => A) y) (instHMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : R') => A) y) (NonUnitalNonAssocSemiring.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : R') => A) y) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : R') => A) y) (Semiring.toNonAssocSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : R') => A) y) _inst_33)))) (FunLike.coe.{max (succ u3) (succ u1), succ u3, succ u1} (AlgHom.{u4, u3, u1} R R' A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) R' (fun (_x : R') => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : R') => A) _x) (SMulHomClass.toFunLike.{max u3 u1, u4, u3, u1} (AlgHom.{u4, u3, u1} R R' A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) R R' A (SMulZeroClass.toSMul.{u4, u3} R R' (AddMonoid.toZero.{u3} R' (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25))))))) (DistribSMul.toSMulZeroClass.{u4, u3} R R' (AddMonoid.toAddZeroClass.{u3} R' (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25))))))) (DistribMulAction.toDistribSMul.{u4, u3} R R' (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))) (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)))))) (Module.toDistribMulAction.{u4, u3} R R' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25))))) (Algebra.toModule.{u4, u3} R R' (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_27))))) (SMulZeroClass.toSMul.{u4, u1} R A (AddMonoid.toZero.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))))) (DistribSMul.toSMulZeroClass.{u4, u1} R A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))))) (DistribMulAction.toDistribSMul.{u4, u1} R A (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))) (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33)))) (Module.toDistribMulAction.{u4, u1} R A (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))) (Algebra.toModule.{u4, u1} R A (CommRing.toCommSemiring.{u4} R _inst_3) _inst_33 _inst_34))))) (DistribMulActionHomClass.toSMulHomClass.{max u3 u1, u4, u3, u1} (AlgHom.{u4, u3, u1} R R' A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) R R' A (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))) (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)))))) (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33)))) (Module.toDistribMulAction.{u4, u3} R R' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25))))) (Algebra.toModule.{u4, u3} R R' (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_27)) (Module.toDistribMulAction.{u4, u1} R A (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))) (Algebra.toModule.{u4, u1} R A (CommRing.toCommSemiring.{u4} R _inst_3) _inst_33 _inst_34)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max u3 u1, u4, u3, u1} (AlgHom.{u4, u3, u1} R R' A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) R R' A (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33)) (Module.toDistribMulAction.{u4, u3} R R' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25))))) (Algebra.toModule.{u4, u3} R R' (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_27)) (Module.toDistribMulAction.{u4, u1} R A (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))) (Algebra.toModule.{u4, u1} R A (CommRing.toCommSemiring.{u4} R _inst_3) _inst_33 _inst_34)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u4, u3, u1, max u3 u1} R R' A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34 (AlgHom.{u4, u3, u1} R R' A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) (AlgHom.algHomClass.{u4, u3, u1} R R' A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34))))) g y) (FunLike.coe.{max (succ u5) (succ u1), succ u5, succ u1} (AlgHom.{u4, u5, u1} R S A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_33 _inst_5 _inst_34) S (fun (_x : S) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : S) => A) _x) (SMulHomClass.toFunLike.{max u5 u1, u4, u5, u1} (AlgHom.{u4, u5, u1} R S A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_33 _inst_5 _inst_34) R S A (SMulZeroClass.toSMul.{u4, u5} R S (AddMonoid.toZero.{u5} S (AddCommMonoid.toAddMonoid.{u5} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} S (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4))))))) (DistribSMul.toSMulZeroClass.{u4, u5} R S (AddMonoid.toAddZeroClass.{u5} S (AddCommMonoid.toAddMonoid.{u5} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} S (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4))))))) (DistribMulAction.toDistribSMul.{u4, u5} R S (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))) (AddCommMonoid.toAddMonoid.{u5} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} S (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)))))) (Module.toDistribMulAction.{u4, u5} R S (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} S (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4))))) (Algebra.toModule.{u4, u5} R S (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_5))))) (SMulZeroClass.toSMul.{u4, u1} R A (AddMonoid.toZero.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))))) (DistribSMul.toSMulZeroClass.{u4, u1} R A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))))) (DistribMulAction.toDistribSMul.{u4, u1} R A (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))) (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33)))) (Module.toDistribMulAction.{u4, u1} R A (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))) (Algebra.toModule.{u4, u1} R A (CommRing.toCommSemiring.{u4} R _inst_3) _inst_33 _inst_34))))) (DistribMulActionHomClass.toSMulHomClass.{max u5 u1, u4, u5, u1} (AlgHom.{u4, u5, u1} R S A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_33 _inst_5 _inst_34) R S A (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))) (AddCommMonoid.toAddMonoid.{u5} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} S (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)))))) (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33)))) (Module.toDistribMulAction.{u4, u5} R S (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} S (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4))))) (Algebra.toModule.{u4, u5} R S (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_5)) (Module.toDistribMulAction.{u4, u1} R A (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))) (Algebra.toModule.{u4, u1} R A (CommRing.toCommSemiring.{u4} R _inst_3) _inst_33 _inst_34)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max u5 u1, u4, u5, u1} (AlgHom.{u4, u5, u1} R S A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_33 _inst_5 _inst_34) R S A (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} S (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33)) (Module.toDistribMulAction.{u4, u5} R S (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} S (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4))))) (Algebra.toModule.{u4, u5} R S (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_5)) (Module.toDistribMulAction.{u4, u1} R A (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))) (Algebra.toModule.{u4, u1} R A (CommRing.toCommSemiring.{u4} R _inst_3) _inst_33 _inst_34)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u4, u5, u1, max u5 u1} R S A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_33 _inst_5 _inst_34 (AlgHom.{u4, u5, u1} R S A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_33 _inst_5 _inst_34) (AlgHom.algHomClass.{u4, u5, u1} R S A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_33 _inst_5 _inst_34))))) f x))) (x : R'), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : S') => A) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (RingHom.{u3, u2} R' S' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25))) (Semiring.toNonAssocSemiring.{u2} S' (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26)))) R' (fun (a : R') => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R') => S') a) (MulHomClass.toFunLike.{max u3 u2, u3, u2} (RingHom.{u3, u2} R' S' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25))) (Semiring.toNonAssocSemiring.{u2} S' (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26)))) R' S' (NonUnitalNonAssocSemiring.toMul.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25))))) (NonUnitalNonAssocSemiring.toMul.{u2} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S' (Semiring.toNonAssocSemiring.{u2} S' (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26))))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u2, u3, u2} (RingHom.{u3, u2} R' S' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25))) (Semiring.toNonAssocSemiring.{u2} S' (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26)))) R' S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S' (Semiring.toNonAssocSemiring.{u2} S' (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26)))) (RingHomClass.toNonUnitalRingHomClass.{max u3 u2, u3, u2} (RingHom.{u3, u2} R' S' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25))) (Semiring.toNonAssocSemiring.{u2} S' (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26)))) R' S' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25))) (Semiring.toNonAssocSemiring.{u2} S' (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26))) (RingHom.instRingHomClassRingHom.{u3, u2} R' S' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25))) (Semiring.toNonAssocSemiring.{u2} S' (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26))))))) (algebraMap.{u3, u2} R' S' (CommRing.toCommSemiring.{u3} R' _inst_25) (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26)) _inst_29) x)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (AlgHom.{u4, u2, u1} R S' A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26)) _inst_33 _inst_30 _inst_34) S' (fun (_x : S') => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : S') => A) _x) (SMulHomClass.toFunLike.{max u2 u1, u4, u2, u1} (AlgHom.{u4, u2, u1} R S' A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26)) _inst_33 _inst_30 _inst_34) R S' A (SMulZeroClass.toSMul.{u4, u2} R S' (AddMonoid.toZero.{u2} S' (AddCommMonoid.toAddMonoid.{u2} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S' (Semiring.toNonAssocSemiring.{u2} S' (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26))))))) (DistribSMul.toSMulZeroClass.{u4, u2} R S' (AddMonoid.toAddZeroClass.{u2} S' (AddCommMonoid.toAddMonoid.{u2} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S' (Semiring.toNonAssocSemiring.{u2} S' (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26))))))) (DistribMulAction.toDistribSMul.{u4, u2} R S' (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))) (AddCommMonoid.toAddMonoid.{u2} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S' (Semiring.toNonAssocSemiring.{u2} S' (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26)))))) (Module.toDistribMulAction.{u4, u2} R S' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S' (Semiring.toNonAssocSemiring.{u2} S' (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26))))) (Algebra.toModule.{u4, u2} R S' (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26)) _inst_30))))) (SMulZeroClass.toSMul.{u4, u1} R A (AddMonoid.toZero.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))))) (DistribSMul.toSMulZeroClass.{u4, u1} R A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))))) (DistribMulAction.toDistribSMul.{u4, u1} R A (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))) (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33)))) (Module.toDistribMulAction.{u4, u1} R A (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))) (Algebra.toModule.{u4, u1} R A (CommRing.toCommSemiring.{u4} R _inst_3) _inst_33 _inst_34))))) (DistribMulActionHomClass.toSMulHomClass.{max u2 u1, u4, u2, u1} (AlgHom.{u4, u2, u1} R S' A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26)) _inst_33 _inst_30 _inst_34) R S' A (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))) (AddCommMonoid.toAddMonoid.{u2} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S' (Semiring.toNonAssocSemiring.{u2} S' (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26)))))) (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33)))) (Module.toDistribMulAction.{u4, u2} R S' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S' (Semiring.toNonAssocSemiring.{u2} S' (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26))))) (Algebra.toModule.{u4, u2} R S' (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26)) _inst_30)) (Module.toDistribMulAction.{u4, u1} R A (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))) (Algebra.toModule.{u4, u1} R A (CommRing.toCommSemiring.{u4} R _inst_3) _inst_33 _inst_34)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max u2 u1, u4, u2, u1} (AlgHom.{u4, u2, u1} R S' A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26)) _inst_33 _inst_30 _inst_34) R S' A (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S' (Semiring.toNonAssocSemiring.{u2} S' (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33)) (Module.toDistribMulAction.{u4, u2} R S' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S' (Semiring.toNonAssocSemiring.{u2} S' (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26))))) (Algebra.toModule.{u4, u2} R S' (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26)) _inst_30)) (Module.toDistribMulAction.{u4, u1} R A (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))) (Algebra.toModule.{u4, u1} R A (CommRing.toCommSemiring.{u4} R _inst_3) _inst_33 _inst_34)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u4, u2, u1, max u2 u1} R S' A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26)) _inst_33 _inst_30 _inst_34 (AlgHom.{u4, u2, u1} R S' A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26)) _inst_33 _inst_30 _inst_34) (AlgHom.algHomClass.{u4, u2, u1} R S' A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26)) _inst_33 _inst_30 _inst_34))))) (Algebra.pushoutDesc.{u5, u4, u3, u2, u1} R S _inst_3 _inst_4 _inst_5 R' S' _inst_25 _inst_26 _inst_27 _inst_28 _inst_29 _inst_30 _inst_31 _inst_32 H A _inst_33 _inst_34 f g H_1) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (RingHom.{u3, u2} R' S' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25))) (Semiring.toNonAssocSemiring.{u2} S' (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26)))) R' (fun (_x : R') => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R') => S') _x) (MulHomClass.toFunLike.{max u3 u2, u3, u2} (RingHom.{u3, u2} R' S' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25))) (Semiring.toNonAssocSemiring.{u2} S' (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26)))) R' S' (NonUnitalNonAssocSemiring.toMul.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25))))) (NonUnitalNonAssocSemiring.toMul.{u2} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S' (Semiring.toNonAssocSemiring.{u2} S' (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26))))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u2, u3, u2} (RingHom.{u3, u2} R' S' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25))) (Semiring.toNonAssocSemiring.{u2} S' (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26)))) R' S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S' (Semiring.toNonAssocSemiring.{u2} S' (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26)))) (RingHomClass.toNonUnitalRingHomClass.{max u3 u2, u3, u2} (RingHom.{u3, u2} R' S' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25))) (Semiring.toNonAssocSemiring.{u2} S' (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26)))) R' S' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25))) (Semiring.toNonAssocSemiring.{u2} S' (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26))) (RingHom.instRingHomClassRingHom.{u3, u2} R' S' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25))) (Semiring.toNonAssocSemiring.{u2} S' (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26))))))) (algebraMap.{u3, u2} R' S' (CommRing.toCommSemiring.{u3} R' _inst_25) (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26)) _inst_29) x)) (FunLike.coe.{max (succ u3) (succ u1), succ u3, succ u1} (AlgHom.{u4, u3, u1} R R' A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) R' (fun (_x : R') => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : R') => A) _x) (SMulHomClass.toFunLike.{max u3 u1, u4, u3, u1} (AlgHom.{u4, u3, u1} R R' A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) R R' A (SMulZeroClass.toSMul.{u4, u3} R R' (AddMonoid.toZero.{u3} R' (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25))))))) (DistribSMul.toSMulZeroClass.{u4, u3} R R' (AddMonoid.toAddZeroClass.{u3} R' (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25))))))) (DistribMulAction.toDistribSMul.{u4, u3} R R' (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))) (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)))))) (Module.toDistribMulAction.{u4, u3} R R' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25))))) (Algebra.toModule.{u4, u3} R R' (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_27))))) (SMulZeroClass.toSMul.{u4, u1} R A (AddMonoid.toZero.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))))) (DistribSMul.toSMulZeroClass.{u4, u1} R A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))))) (DistribMulAction.toDistribSMul.{u4, u1} R A (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))) (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33)))) (Module.toDistribMulAction.{u4, u1} R A (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))) (Algebra.toModule.{u4, u1} R A (CommRing.toCommSemiring.{u4} R _inst_3) _inst_33 _inst_34))))) (DistribMulActionHomClass.toSMulHomClass.{max u3 u1, u4, u3, u1} (AlgHom.{u4, u3, u1} R R' A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) R R' A (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))) (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)))))) (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33)))) (Module.toDistribMulAction.{u4, u3} R R' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25))))) (Algebra.toModule.{u4, u3} R R' (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_27)) (Module.toDistribMulAction.{u4, u1} R A (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))) (Algebra.toModule.{u4, u1} R A (CommRing.toCommSemiring.{u4} R _inst_3) _inst_33 _inst_34)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max u3 u1, u4, u3, u1} (AlgHom.{u4, u3, u1} R R' A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) R R' A (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33)) (Module.toDistribMulAction.{u4, u3} R R' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25))))) (Algebra.toModule.{u4, u3} R R' (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_27)) (Module.toDistribMulAction.{u4, u1} R A (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))) (Algebra.toModule.{u4, u1} R A (CommRing.toCommSemiring.{u4} R _inst_3) _inst_33 _inst_34)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u4, u3, u1, max u3 u1} R R' A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34 (AlgHom.{u4, u3, u1} R R' A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) (AlgHom.algHomClass.{u4, u3, u1} R R' A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34))))) g x)
+<too large>
 Case conversion may be inaccurate. Consider using '#align algebra.pushout_desc_right Algebra.pushoutDesc_rightₓ'. -/
 @[simp]
 theorem Algebra.pushoutDesc_right [H : Algebra.IsPushout R S R' S'] {A : Type _} [Semiring A]
@@ -681,10 +618,7 @@ theorem Algebra.pushoutDesc_right [H : Algebra.IsPushout R S R' S'] {A : Type _}
 #align algebra.pushout_desc_right Algebra.pushoutDesc_right
 
 /- warning: algebra.lift_alg_hom_comp_right -> Algebra.lift_algHom_comp_right is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u2}} {S : Type.{u1}} [_inst_3 : CommRing.{u2} R] [_inst_4 : CommRing.{u1} S] [_inst_5 : Algebra.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_4))] {R' : Type.{u3}} (S' : Type.{u4}) [_inst_25 : CommRing.{u3} R'] [_inst_26 : CommRing.{u4} S'] [_inst_27 : Algebra.{u2, u3} R R' (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_25))] [_inst_28 : Algebra.{u1, u4} S S' (CommRing.toCommSemiring.{u1} S _inst_4) (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26))] [_inst_29 : Algebra.{u3, u4} R' S' (CommRing.toCommSemiring.{u3} R' _inst_25) (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26))] [_inst_30 : Algebra.{u2, u4} R S' (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26))] [_inst_31 : IsScalarTower.{u2, u3, u4} R R' S' (SMulZeroClass.toHasSmul.{u2, u3} R R' (AddZeroClass.toHasZero.{u3} R' (AddMonoid.toAddZeroClass.{u3} R' (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_25)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} R R' (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (AddZeroClass.toHasZero.{u3} R' (AddMonoid.toAddZeroClass.{u3} R' (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_25)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} R R' (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddZeroClass.toHasZero.{u3} R' (AddMonoid.toAddZeroClass.{u3} R' (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_25)))))))) (Module.toMulActionWithZero.{u2, u3} R R' (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_25))))) (Algebra.toModule.{u2, u3} R R' (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_25)) _inst_27))))) (SMulZeroClass.toHasSmul.{u3, u4} R' S' (AddZeroClass.toHasZero.{u4} S' (AddMonoid.toAddZeroClass.{u4} S' (AddCommMonoid.toAddMonoid.{u4} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))))))) (SMulWithZero.toSmulZeroClass.{u3, u4} R' S' (MulZeroClass.toHasZero.{u3} R' (MulZeroOneClass.toMulZeroClass.{u3} R' (MonoidWithZero.toMulZeroOneClass.{u3} R' (Semiring.toMonoidWithZero.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)))))) (AddZeroClass.toHasZero.{u4} S' (AddMonoid.toAddZeroClass.{u4} S' (AddCommMonoid.toAddMonoid.{u4} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))))))) (MulActionWithZero.toSMulWithZero.{u3, u4} R' S' (Semiring.toMonoidWithZero.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25))) (AddZeroClass.toHasZero.{u4} S' (AddMonoid.toAddZeroClass.{u4} S' (AddCommMonoid.toAddMonoid.{u4} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))))))) (Module.toMulActionWithZero.{u3, u4} R' S' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26))))) (Algebra.toModule.{u3, u4} R' S' (CommRing.toCommSemiring.{u3} R' _inst_25) (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)) _inst_29))))) (SMulZeroClass.toHasSmul.{u2, u4} R S' (AddZeroClass.toHasZero.{u4} S' (AddMonoid.toAddZeroClass.{u4} S' (AddCommMonoid.toAddMonoid.{u4} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))))))) (SMulWithZero.toSmulZeroClass.{u2, u4} R S' (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (AddZeroClass.toHasZero.{u4} S' (AddMonoid.toAddZeroClass.{u4} S' (AddCommMonoid.toAddMonoid.{u4} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))))))) (MulActionWithZero.toSMulWithZero.{u2, u4} R S' (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddZeroClass.toHasZero.{u4} S' (AddMonoid.toAddZeroClass.{u4} S' (AddCommMonoid.toAddMonoid.{u4} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))))))) (Module.toMulActionWithZero.{u2, u4} R S' (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26))))) (Algebra.toModule.{u2, u4} R S' (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)) _inst_30)))))] [_inst_32 : IsScalarTower.{u2, u1, u4} R S S' (SMulZeroClass.toHasSmul.{u2, u1} R S (AddZeroClass.toHasZero.{u1} S (AddMonoid.toAddZeroClass.{u1} S (AddCommMonoid.toAddMonoid.{u1} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_4)))))))) (SMulWithZero.toSmulZeroClass.{u2, u1} R S (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (AddZeroClass.toHasZero.{u1} S (AddMonoid.toAddZeroClass.{u1} S (AddCommMonoid.toAddMonoid.{u1} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_4)))))))) (MulActionWithZero.toSMulWithZero.{u2, u1} R S (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddZeroClass.toHasZero.{u1} S (AddMonoid.toAddZeroClass.{u1} S (AddCommMonoid.toAddMonoid.{u1} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_4)))))))) (Module.toMulActionWithZero.{u2, u1} R S (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_4))))) (Algebra.toModule.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_4)) _inst_5))))) (SMulZeroClass.toHasSmul.{u1, u4} S S' (AddZeroClass.toHasZero.{u4} S' (AddMonoid.toAddZeroClass.{u4} S' (AddCommMonoid.toAddMonoid.{u4} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))))))) (SMulWithZero.toSmulZeroClass.{u1, u4} S S' (MulZeroClass.toHasZero.{u1} S (MulZeroOneClass.toMulZeroClass.{u1} S (MonoidWithZero.toMulZeroOneClass.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_4)))))) (AddZeroClass.toHasZero.{u4} S' (AddMonoid.toAddZeroClass.{u4} S' (AddCommMonoid.toAddMonoid.{u4} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))))))) (MulActionWithZero.toSMulWithZero.{u1, u4} S S' (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_4))) (AddZeroClass.toHasZero.{u4} S' (AddMonoid.toAddZeroClass.{u4} S' (AddCommMonoid.toAddMonoid.{u4} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))))))) (Module.toMulActionWithZero.{u1, u4} S S' (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_4)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26))))) (Algebra.toModule.{u1, u4} S S' (CommRing.toCommSemiring.{u1} S _inst_4) (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)) _inst_28))))) (SMulZeroClass.toHasSmul.{u2, u4} R S' (AddZeroClass.toHasZero.{u4} S' (AddMonoid.toAddZeroClass.{u4} S' (AddCommMonoid.toAddMonoid.{u4} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))))))) (SMulWithZero.toSmulZeroClass.{u2, u4} R S' (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (AddZeroClass.toHasZero.{u4} S' (AddMonoid.toAddZeroClass.{u4} S' (AddCommMonoid.toAddMonoid.{u4} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))))))) (MulActionWithZero.toSMulWithZero.{u2, u4} R S' (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddZeroClass.toHasZero.{u4} S' (AddMonoid.toAddZeroClass.{u4} S' (AddCommMonoid.toAddMonoid.{u4} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))))))) (Module.toMulActionWithZero.{u2, u4} R S' (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26))))) (Algebra.toModule.{u2, u4} R S' (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)) _inst_30)))))] [H : Algebra.IsPushout.{u1, u2, u3, u4} R S _inst_3 _inst_4 _inst_5 R' S' _inst_25 _inst_26 _inst_27 _inst_28 _inst_29 _inst_30 _inst_31 _inst_32] {A : Type.{u5}} [_inst_33 : Semiring.{u5} A] [_inst_34 : Algebra.{u2, u5} R A (CommRing.toCommSemiring.{u2} R _inst_3) _inst_33] (f : AlgHom.{u2, u1, u5} R S A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_4)) _inst_33 _inst_5 _inst_34) (g : AlgHom.{u2, u3, u5} R R' A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) (H_1 : forall (x : S) (y : R'), Eq.{succ u5} A (HMul.hMul.{u5, u5, u5} A A A (instHMul.{u5} A (Distrib.toHasMul.{u5} A (NonUnitalNonAssocSemiring.toDistrib.{u5} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} A (Semiring.toNonAssocSemiring.{u5} A _inst_33))))) (coeFn.{max (succ u1) (succ u5), max (succ u1) (succ u5)} (AlgHom.{u2, u1, u5} R S A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_4)) _inst_33 _inst_5 _inst_34) (fun (_x : AlgHom.{u2, u1, u5} R S A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_4)) _inst_33 _inst_5 _inst_34) => S -> A) ([anonymous].{u2, u1, u5} R S A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_4)) _inst_33 _inst_5 _inst_34) f x) (coeFn.{max (succ u3) (succ u5), max (succ u3) (succ u5)} (AlgHom.{u2, u3, u5} R R' A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) (fun (_x : AlgHom.{u2, u3, u5} R R' A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) => R' -> A) ([anonymous].{u2, u3, u5} R R' A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) g y)) (HMul.hMul.{u5, u5, u5} A A A (instHMul.{u5} A (Distrib.toHasMul.{u5} A (NonUnitalNonAssocSemiring.toDistrib.{u5} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} A (Semiring.toNonAssocSemiring.{u5} A _inst_33))))) (coeFn.{max (succ u3) (succ u5), max (succ u3) (succ u5)} (AlgHom.{u2, u3, u5} R R' A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) (fun (_x : AlgHom.{u2, u3, u5} R R' A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) => R' -> A) ([anonymous].{u2, u3, u5} R R' A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) g y) (coeFn.{max (succ u1) (succ u5), max (succ u1) (succ u5)} (AlgHom.{u2, u1, u5} R S A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_4)) _inst_33 _inst_5 _inst_34) (fun (_x : AlgHom.{u2, u1, u5} R S A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_4)) _inst_33 _inst_5 _inst_34) => S -> A) ([anonymous].{u2, u1, u5} R S A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_4)) _inst_33 _inst_5 _inst_34) f x))), Eq.{max (succ u3) (succ u5)} (AlgHom.{u2, u3, u5} R R' A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) (AlgHom.comp.{u2, u3, u4, u5} R R' S' A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)) _inst_33 _inst_27 _inst_30 _inst_34 (Algebra.pushoutDesc.{u1, u2, u3, u4, u5} R S _inst_3 _inst_4 _inst_5 R' S' _inst_25 _inst_26 _inst_27 _inst_28 _inst_29 _inst_30 _inst_31 _inst_32 H A _inst_33 _inst_34 f g H_1) (IsScalarTower.toAlgHom.{u2, u3, u4} R R' S' (CommRing.toCommSemiring.{u2} R _inst_3) (CommRing.toCommSemiring.{u3} R' _inst_25) (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)) _inst_27 _inst_29 _inst_30 _inst_31)) g
-but is expected to have type
-  forall {R : Type.{u4}} {S : Type.{u5}} [_inst_3 : CommRing.{u4} R] [_inst_4 : CommRing.{u5} S] [_inst_5 : Algebra.{u4, u5} R S (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4))] {R' : Type.{u3}} (S' : Type.{u2}) [_inst_25 : CommRing.{u3} R'] [_inst_26 : CommRing.{u2} S'] [_inst_27 : Algebra.{u4, u3} R R' (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25))] [_inst_28 : Algebra.{u5, u2} S S' (CommRing.toCommSemiring.{u5} S _inst_4) (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26))] [_inst_29 : Algebra.{u3, u2} R' S' (CommRing.toCommSemiring.{u3} R' _inst_25) (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26))] [_inst_30 : Algebra.{u4, u2} R S' (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26))] [_inst_31 : IsScalarTower.{u4, u3, u2} R R' S' (Algebra.toSMul.{u4, u3} R R' (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_27) (Algebra.toSMul.{u3, u2} R' S' (CommRing.toCommSemiring.{u3} R' _inst_25) (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26)) _inst_29) (Algebra.toSMul.{u4, u2} R S' (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26)) _inst_30)] [_inst_32 : IsScalarTower.{u4, u5, u2} R S S' (Algebra.toSMul.{u4, u5} R S (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_5) (Algebra.toSMul.{u5, u2} S S' (CommRing.toCommSemiring.{u5} S _inst_4) (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26)) _inst_28) (Algebra.toSMul.{u4, u2} R S' (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26)) _inst_30)] [H : Algebra.IsPushout.{u5, u4, u3, u2} R S _inst_3 _inst_4 _inst_5 R' S' _inst_25 _inst_26 _inst_27 _inst_28 _inst_29 _inst_30 _inst_31 _inst_32] {A : Type.{u1}} [_inst_33 : Semiring.{u1} A] [_inst_34 : Algebra.{u4, u1} R A (CommRing.toCommSemiring.{u4} R _inst_3) _inst_33] (f : AlgHom.{u4, u5, u1} R S A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_33 _inst_5 _inst_34) (g : AlgHom.{u4, u3, u1} R R' A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) (H_1 : forall (x : S) (y : R'), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : S) => A) x) (HMul.hMul.{u1, u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : S) => A) x) ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : R') => A) y) ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : S) => A) x) (instHMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : S) => A) x) (NonUnitalNonAssocSemiring.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : S) => A) x) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : S) => A) x) (Semiring.toNonAssocSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : S) => A) x) _inst_33)))) (FunLike.coe.{max (succ u5) (succ u1), succ u5, succ u1} (AlgHom.{u4, u5, u1} R S A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_33 _inst_5 _inst_34) S (fun (_x : S) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : S) => A) _x) (SMulHomClass.toFunLike.{max u5 u1, u4, u5, u1} (AlgHom.{u4, u5, u1} R S A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_33 _inst_5 _inst_34) R S A (SMulZeroClass.toSMul.{u4, u5} R S (AddMonoid.toZero.{u5} S (AddCommMonoid.toAddMonoid.{u5} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} S (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4))))))) (DistribSMul.toSMulZeroClass.{u4, u5} R S (AddMonoid.toAddZeroClass.{u5} S (AddCommMonoid.toAddMonoid.{u5} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} S (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4))))))) (DistribMulAction.toDistribSMul.{u4, u5} R S (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))) (AddCommMonoid.toAddMonoid.{u5} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} S (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)))))) (Module.toDistribMulAction.{u4, u5} R S (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} S (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4))))) (Algebra.toModule.{u4, u5} R S (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_5))))) (SMulZeroClass.toSMul.{u4, u1} R A (AddMonoid.toZero.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))))) (DistribSMul.toSMulZeroClass.{u4, u1} R A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))))) (DistribMulAction.toDistribSMul.{u4, u1} R A (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))) (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33)))) (Module.toDistribMulAction.{u4, u1} R A (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))) (Algebra.toModule.{u4, u1} R A (CommRing.toCommSemiring.{u4} R _inst_3) _inst_33 _inst_34))))) (DistribMulActionHomClass.toSMulHomClass.{max u5 u1, u4, u5, u1} (AlgHom.{u4, u5, u1} R S A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_33 _inst_5 _inst_34) R S A (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))) (AddCommMonoid.toAddMonoid.{u5} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} S (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)))))) (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33)))) (Module.toDistribMulAction.{u4, u5} R S (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} S (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4))))) (Algebra.toModule.{u4, u5} R S (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_5)) (Module.toDistribMulAction.{u4, u1} R A (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))) (Algebra.toModule.{u4, u1} R A (CommRing.toCommSemiring.{u4} R _inst_3) _inst_33 _inst_34)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max u5 u1, u4, u5, u1} (AlgHom.{u4, u5, u1} R S A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_33 _inst_5 _inst_34) R S A (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} S (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33)) (Module.toDistribMulAction.{u4, u5} R S (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} S (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4))))) (Algebra.toModule.{u4, u5} R S (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_5)) (Module.toDistribMulAction.{u4, u1} R A (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))) (Algebra.toModule.{u4, u1} R A (CommRing.toCommSemiring.{u4} R _inst_3) _inst_33 _inst_34)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u4, u5, u1, max u5 u1} R S A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_33 _inst_5 _inst_34 (AlgHom.{u4, u5, u1} R S A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_33 _inst_5 _inst_34) (AlgHom.algHomClass.{u4, u5, u1} R S A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_33 _inst_5 _inst_34))))) f x) (FunLike.coe.{max (succ u3) (succ u1), succ u3, succ u1} (AlgHom.{u4, u3, u1} R R' A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) R' (fun (_x : R') => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : R') => A) _x) (SMulHomClass.toFunLike.{max u3 u1, u4, u3, u1} (AlgHom.{u4, u3, u1} R R' A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) R R' A (SMulZeroClass.toSMul.{u4, u3} R R' (AddMonoid.toZero.{u3} R' (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25))))))) (DistribSMul.toSMulZeroClass.{u4, u3} R R' (AddMonoid.toAddZeroClass.{u3} R' (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25))))))) (DistribMulAction.toDistribSMul.{u4, u3} R R' (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))) (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)))))) (Module.toDistribMulAction.{u4, u3} R R' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25))))) (Algebra.toModule.{u4, u3} R R' (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_27))))) (SMulZeroClass.toSMul.{u4, u1} R A (AddMonoid.toZero.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))))) (DistribSMul.toSMulZeroClass.{u4, u1} R A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))))) (DistribMulAction.toDistribSMul.{u4, u1} R A (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))) (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33)))) (Module.toDistribMulAction.{u4, u1} R A (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))) (Algebra.toModule.{u4, u1} R A (CommRing.toCommSemiring.{u4} R _inst_3) _inst_33 _inst_34))))) (DistribMulActionHomClass.toSMulHomClass.{max u3 u1, u4, u3, u1} (AlgHom.{u4, u3, u1} R R' A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) R R' A (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))) (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)))))) (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33)))) (Module.toDistribMulAction.{u4, u3} R R' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25))))) (Algebra.toModule.{u4, u3} R R' (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_27)) (Module.toDistribMulAction.{u4, u1} R A (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))) (Algebra.toModule.{u4, u1} R A (CommRing.toCommSemiring.{u4} R _inst_3) _inst_33 _inst_34)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max u3 u1, u4, u3, u1} (AlgHom.{u4, u3, u1} R R' A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) R R' A (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33)) (Module.toDistribMulAction.{u4, u3} R R' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25))))) (Algebra.toModule.{u4, u3} R R' (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_27)) (Module.toDistribMulAction.{u4, u1} R A (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))) (Algebra.toModule.{u4, u1} R A (CommRing.toCommSemiring.{u4} R _inst_3) _inst_33 _inst_34)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u4, u3, u1, max u3 u1} R R' A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34 (AlgHom.{u4, u3, u1} R R' A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) (AlgHom.algHomClass.{u4, u3, u1} R R' A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34))))) g y)) (HMul.hMul.{u1, u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : R') => A) y) ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : S) => A) x) ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : R') => A) y) (instHMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : R') => A) y) (NonUnitalNonAssocSemiring.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : R') => A) y) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : R') => A) y) (Semiring.toNonAssocSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : R') => A) y) _inst_33)))) (FunLike.coe.{max (succ u3) (succ u1), succ u3, succ u1} (AlgHom.{u4, u3, u1} R R' A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) R' (fun (_x : R') => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : R') => A) _x) (SMulHomClass.toFunLike.{max u3 u1, u4, u3, u1} (AlgHom.{u4, u3, u1} R R' A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) R R' A (SMulZeroClass.toSMul.{u4, u3} R R' (AddMonoid.toZero.{u3} R' (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25))))))) (DistribSMul.toSMulZeroClass.{u4, u3} R R' (AddMonoid.toAddZeroClass.{u3} R' (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25))))))) (DistribMulAction.toDistribSMul.{u4, u3} R R' (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))) (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)))))) (Module.toDistribMulAction.{u4, u3} R R' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25))))) (Algebra.toModule.{u4, u3} R R' (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_27))))) (SMulZeroClass.toSMul.{u4, u1} R A (AddMonoid.toZero.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))))) (DistribSMul.toSMulZeroClass.{u4, u1} R A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))))) (DistribMulAction.toDistribSMul.{u4, u1} R A (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))) (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33)))) (Module.toDistribMulAction.{u4, u1} R A (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))) (Algebra.toModule.{u4, u1} R A (CommRing.toCommSemiring.{u4} R _inst_3) _inst_33 _inst_34))))) (DistribMulActionHomClass.toSMulHomClass.{max u3 u1, u4, u3, u1} (AlgHom.{u4, u3, u1} R R' A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) R R' A (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))) (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)))))) (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33)))) (Module.toDistribMulAction.{u4, u3} R R' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25))))) (Algebra.toModule.{u4, u3} R R' (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_27)) (Module.toDistribMulAction.{u4, u1} R A (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))) (Algebra.toModule.{u4, u1} R A (CommRing.toCommSemiring.{u4} R _inst_3) _inst_33 _inst_34)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max u3 u1, u4, u3, u1} (AlgHom.{u4, u3, u1} R R' A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) R R' A (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33)) (Module.toDistribMulAction.{u4, u3} R R' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25))))) (Algebra.toModule.{u4, u3} R R' (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_27)) (Module.toDistribMulAction.{u4, u1} R A (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))) (Algebra.toModule.{u4, u1} R A (CommRing.toCommSemiring.{u4} R _inst_3) _inst_33 _inst_34)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u4, u3, u1, max u3 u1} R R' A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34 (AlgHom.{u4, u3, u1} R R' A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) (AlgHom.algHomClass.{u4, u3, u1} R R' A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34))))) g y) (FunLike.coe.{max (succ u5) (succ u1), succ u5, succ u1} (AlgHom.{u4, u5, u1} R S A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_33 _inst_5 _inst_34) S (fun (_x : S) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : S) => A) _x) (SMulHomClass.toFunLike.{max u5 u1, u4, u5, u1} (AlgHom.{u4, u5, u1} R S A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_33 _inst_5 _inst_34) R S A (SMulZeroClass.toSMul.{u4, u5} R S (AddMonoid.toZero.{u5} S (AddCommMonoid.toAddMonoid.{u5} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} S (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4))))))) (DistribSMul.toSMulZeroClass.{u4, u5} R S (AddMonoid.toAddZeroClass.{u5} S (AddCommMonoid.toAddMonoid.{u5} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} S (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4))))))) (DistribMulAction.toDistribSMul.{u4, u5} R S (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))) (AddCommMonoid.toAddMonoid.{u5} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} S (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)))))) (Module.toDistribMulAction.{u4, u5} R S (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} S (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4))))) (Algebra.toModule.{u4, u5} R S (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_5))))) (SMulZeroClass.toSMul.{u4, u1} R A (AddMonoid.toZero.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))))) (DistribSMul.toSMulZeroClass.{u4, u1} R A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))))) (DistribMulAction.toDistribSMul.{u4, u1} R A (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))) (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33)))) (Module.toDistribMulAction.{u4, u1} R A (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))) (Algebra.toModule.{u4, u1} R A (CommRing.toCommSemiring.{u4} R _inst_3) _inst_33 _inst_34))))) (DistribMulActionHomClass.toSMulHomClass.{max u5 u1, u4, u5, u1} (AlgHom.{u4, u5, u1} R S A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_33 _inst_5 _inst_34) R S A (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))) (AddCommMonoid.toAddMonoid.{u5} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} S (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)))))) (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33)))) (Module.toDistribMulAction.{u4, u5} R S (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} S (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4))))) (Algebra.toModule.{u4, u5} R S (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_5)) (Module.toDistribMulAction.{u4, u1} R A (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))) (Algebra.toModule.{u4, u1} R A (CommRing.toCommSemiring.{u4} R _inst_3) _inst_33 _inst_34)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max u5 u1, u4, u5, u1} (AlgHom.{u4, u5, u1} R S A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_33 _inst_5 _inst_34) R S A (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} S (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33)) (Module.toDistribMulAction.{u4, u5} R S (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} S (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4))))) (Algebra.toModule.{u4, u5} R S (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_5)) (Module.toDistribMulAction.{u4, u1} R A (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))) (Algebra.toModule.{u4, u1} R A (CommRing.toCommSemiring.{u4} R _inst_3) _inst_33 _inst_34)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u4, u5, u1, max u5 u1} R S A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_33 _inst_5 _inst_34 (AlgHom.{u4, u5, u1} R S A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_33 _inst_5 _inst_34) (AlgHom.algHomClass.{u4, u5, u1} R S A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_33 _inst_5 _inst_34))))) f x))), Eq.{max (succ u3) (succ u1)} (AlgHom.{u4, u3, u1} R R' A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) (AlgHom.comp.{u4, u3, u2, u1} R R' S' A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26)) _inst_33 _inst_27 _inst_30 _inst_34 (Algebra.pushoutDesc.{u5, u4, u3, u2, u1} R S _inst_3 _inst_4 _inst_5 R' S' _inst_25 _inst_26 _inst_27 _inst_28 _inst_29 _inst_30 _inst_31 _inst_32 H A _inst_33 _inst_34 f g H_1) (IsScalarTower.toAlgHom.{u4, u3, u2} R R' S' (CommRing.toCommSemiring.{u4} R _inst_3) (CommRing.toCommSemiring.{u3} R' _inst_25) (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26)) _inst_27 _inst_29 _inst_30 _inst_31)) g
+<too large>
 Case conversion may be inaccurate. Consider using '#align algebra.lift_alg_hom_comp_right Algebra.lift_algHom_comp_rightₓ'. -/
 theorem Algebra.lift_algHom_comp_right [H : Algebra.IsPushout R S R' S'] {A : Type _} [Semiring A]
     [Algebra R A] (f : S →ₐ[R] A) (g : R' →ₐ[R] A) (H) :
@@ -693,10 +627,7 @@ theorem Algebra.lift_algHom_comp_right [H : Algebra.IsPushout R S R' S'] {A : Ty
 #align algebra.lift_alg_hom_comp_right Algebra.lift_algHom_comp_right
 
 /- warning: algebra.is_pushout.alg_hom_ext -> Algebra.IsPushout.algHom_ext is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u2}} {S : Type.{u1}} [_inst_3 : CommRing.{u2} R] [_inst_4 : CommRing.{u1} S] [_inst_5 : Algebra.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_4))] {R' : Type.{u3}} (S' : Type.{u4}) [_inst_25 : CommRing.{u3} R'] [_inst_26 : CommRing.{u4} S'] [_inst_27 : Algebra.{u2, u3} R R' (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_25))] [_inst_28 : Algebra.{u1, u4} S S' (CommRing.toCommSemiring.{u1} S _inst_4) (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26))] [_inst_29 : Algebra.{u3, u4} R' S' (CommRing.toCommSemiring.{u3} R' _inst_25) (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26))] [_inst_30 : Algebra.{u2, u4} R S' (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26))] [_inst_31 : IsScalarTower.{u2, u3, u4} R R' S' (SMulZeroClass.toHasSmul.{u2, u3} R R' (AddZeroClass.toHasZero.{u3} R' (AddMonoid.toAddZeroClass.{u3} R' (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_25)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} R R' (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (AddZeroClass.toHasZero.{u3} R' (AddMonoid.toAddZeroClass.{u3} R' (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_25)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} R R' (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddZeroClass.toHasZero.{u3} R' (AddMonoid.toAddZeroClass.{u3} R' (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_25)))))))) (Module.toMulActionWithZero.{u2, u3} R R' (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_25))))) (Algebra.toModule.{u2, u3} R R' (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_25)) _inst_27))))) (SMulZeroClass.toHasSmul.{u3, u4} R' S' (AddZeroClass.toHasZero.{u4} S' (AddMonoid.toAddZeroClass.{u4} S' (AddCommMonoid.toAddMonoid.{u4} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))))))) (SMulWithZero.toSmulZeroClass.{u3, u4} R' S' (MulZeroClass.toHasZero.{u3} R' (MulZeroOneClass.toMulZeroClass.{u3} R' (MonoidWithZero.toMulZeroOneClass.{u3} R' (Semiring.toMonoidWithZero.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)))))) (AddZeroClass.toHasZero.{u4} S' (AddMonoid.toAddZeroClass.{u4} S' (AddCommMonoid.toAddMonoid.{u4} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))))))) (MulActionWithZero.toSMulWithZero.{u3, u4} R' S' (Semiring.toMonoidWithZero.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25))) (AddZeroClass.toHasZero.{u4} S' (AddMonoid.toAddZeroClass.{u4} S' (AddCommMonoid.toAddMonoid.{u4} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))))))) (Module.toMulActionWithZero.{u3, u4} R' S' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26))))) (Algebra.toModule.{u3, u4} R' S' (CommRing.toCommSemiring.{u3} R' _inst_25) (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)) _inst_29))))) (SMulZeroClass.toHasSmul.{u2, u4} R S' (AddZeroClass.toHasZero.{u4} S' (AddMonoid.toAddZeroClass.{u4} S' (AddCommMonoid.toAddMonoid.{u4} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))))))) (SMulWithZero.toSmulZeroClass.{u2, u4} R S' (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (AddZeroClass.toHasZero.{u4} S' (AddMonoid.toAddZeroClass.{u4} S' (AddCommMonoid.toAddMonoid.{u4} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))))))) (MulActionWithZero.toSMulWithZero.{u2, u4} R S' (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddZeroClass.toHasZero.{u4} S' (AddMonoid.toAddZeroClass.{u4} S' (AddCommMonoid.toAddMonoid.{u4} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))))))) (Module.toMulActionWithZero.{u2, u4} R S' (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26))))) (Algebra.toModule.{u2, u4} R S' (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)) _inst_30)))))] [_inst_32 : IsScalarTower.{u2, u1, u4} R S S' (SMulZeroClass.toHasSmul.{u2, u1} R S (AddZeroClass.toHasZero.{u1} S (AddMonoid.toAddZeroClass.{u1} S (AddCommMonoid.toAddMonoid.{u1} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_4)))))))) (SMulWithZero.toSmulZeroClass.{u2, u1} R S (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (AddZeroClass.toHasZero.{u1} S (AddMonoid.toAddZeroClass.{u1} S (AddCommMonoid.toAddMonoid.{u1} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_4)))))))) (MulActionWithZero.toSMulWithZero.{u2, u1} R S (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddZeroClass.toHasZero.{u1} S (AddMonoid.toAddZeroClass.{u1} S (AddCommMonoid.toAddMonoid.{u1} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_4)))))))) (Module.toMulActionWithZero.{u2, u1} R S (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_4))))) (Algebra.toModule.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_4)) _inst_5))))) (SMulZeroClass.toHasSmul.{u1, u4} S S' (AddZeroClass.toHasZero.{u4} S' (AddMonoid.toAddZeroClass.{u4} S' (AddCommMonoid.toAddMonoid.{u4} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))))))) (SMulWithZero.toSmulZeroClass.{u1, u4} S S' (MulZeroClass.toHasZero.{u1} S (MulZeroOneClass.toMulZeroClass.{u1} S (MonoidWithZero.toMulZeroOneClass.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_4)))))) (AddZeroClass.toHasZero.{u4} S' (AddMonoid.toAddZeroClass.{u4} S' (AddCommMonoid.toAddMonoid.{u4} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))))))) (MulActionWithZero.toSMulWithZero.{u1, u4} S S' (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_4))) (AddZeroClass.toHasZero.{u4} S' (AddMonoid.toAddZeroClass.{u4} S' (AddCommMonoid.toAddMonoid.{u4} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))))))) (Module.toMulActionWithZero.{u1, u4} S S' (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_4)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26))))) (Algebra.toModule.{u1, u4} S S' (CommRing.toCommSemiring.{u1} S _inst_4) (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)) _inst_28))))) (SMulZeroClass.toHasSmul.{u2, u4} R S' (AddZeroClass.toHasZero.{u4} S' (AddMonoid.toAddZeroClass.{u4} S' (AddCommMonoid.toAddMonoid.{u4} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))))))) (SMulWithZero.toSmulZeroClass.{u2, u4} R S' (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (AddZeroClass.toHasZero.{u4} S' (AddMonoid.toAddZeroClass.{u4} S' (AddCommMonoid.toAddMonoid.{u4} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))))))) (MulActionWithZero.toSMulWithZero.{u2, u4} R S' (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddZeroClass.toHasZero.{u4} S' (AddMonoid.toAddZeroClass.{u4} S' (AddCommMonoid.toAddMonoid.{u4} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))))))) (Module.toMulActionWithZero.{u2, u4} R S' (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26))))) (Algebra.toModule.{u2, u4} R S' (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)) _inst_30)))))] [H : Algebra.IsPushout.{u1, u2, u3, u4} R S _inst_3 _inst_4 _inst_5 R' S' _inst_25 _inst_26 _inst_27 _inst_28 _inst_29 _inst_30 _inst_31 _inst_32] {A : Type.{u5}} [_inst_33 : Semiring.{u5} A] [_inst_34 : Algebra.{u2, u5} R A (CommRing.toCommSemiring.{u2} R _inst_3) _inst_33] {f : AlgHom.{u2, u4, u5} R S' A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)) _inst_33 _inst_30 _inst_34} {g : AlgHom.{u2, u4, u5} R S' A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)) _inst_33 _inst_30 _inst_34}, (Eq.{max (succ u3) (succ u5)} (AlgHom.{u2, u3, u5} R R' A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) (AlgHom.comp.{u2, u3, u4, u5} R R' S' A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)) _inst_33 _inst_27 _inst_30 _inst_34 f (IsScalarTower.toAlgHom.{u2, u3, u4} R R' S' (CommRing.toCommSemiring.{u2} R _inst_3) (CommRing.toCommSemiring.{u3} R' _inst_25) (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)) _inst_27 _inst_29 _inst_30 _inst_31)) (AlgHom.comp.{u2, u3, u4, u5} R R' S' A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)) _inst_33 _inst_27 _inst_30 _inst_34 g (IsScalarTower.toAlgHom.{u2, u3, u4} R R' S' (CommRing.toCommSemiring.{u2} R _inst_3) (CommRing.toCommSemiring.{u3} R' _inst_25) (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)) _inst_27 _inst_29 _inst_30 _inst_31))) -> (Eq.{max (succ u1) (succ u5)} (AlgHom.{u2, u1, u5} R S A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_4)) _inst_33 _inst_5 _inst_34) (AlgHom.comp.{u2, u1, u4, u5} R S S' A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_4)) (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)) _inst_33 _inst_5 _inst_30 _inst_34 f (IsScalarTower.toAlgHom.{u2, u1, u4} R S S' (CommRing.toCommSemiring.{u2} R _inst_3) (CommRing.toCommSemiring.{u1} S _inst_4) (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)) _inst_5 _inst_28 _inst_30 _inst_32)) (AlgHom.comp.{u2, u1, u4, u5} R S S' A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_4)) (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)) _inst_33 _inst_5 _inst_30 _inst_34 g (IsScalarTower.toAlgHom.{u2, u1, u4} R S S' (CommRing.toCommSemiring.{u2} R _inst_3) (CommRing.toCommSemiring.{u1} S _inst_4) (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)) _inst_5 _inst_28 _inst_30 _inst_32))) -> (Eq.{max (succ u4) (succ u5)} (AlgHom.{u2, u4, u5} R S' A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)) _inst_33 _inst_30 _inst_34) f g)
-but is expected to have type
-  forall {R : Type.{u4}} {S : Type.{u5}} [_inst_3 : CommRing.{u4} R] [_inst_4 : CommRing.{u5} S] [_inst_5 : Algebra.{u4, u5} R S (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4))] {R' : Type.{u3}} (S' : Type.{u2}) [_inst_25 : CommRing.{u3} R'] [_inst_26 : CommRing.{u2} S'] [_inst_27 : Algebra.{u4, u3} R R' (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25))] [_inst_28 : Algebra.{u5, u2} S S' (CommRing.toCommSemiring.{u5} S _inst_4) (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26))] [_inst_29 : Algebra.{u3, u2} R' S' (CommRing.toCommSemiring.{u3} R' _inst_25) (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26))] [_inst_30 : Algebra.{u4, u2} R S' (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26))] [_inst_31 : IsScalarTower.{u4, u3, u2} R R' S' (Algebra.toSMul.{u4, u3} R R' (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_27) (Algebra.toSMul.{u3, u2} R' S' (CommRing.toCommSemiring.{u3} R' _inst_25) (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26)) _inst_29) (Algebra.toSMul.{u4, u2} R S' (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26)) _inst_30)] [_inst_32 : IsScalarTower.{u4, u5, u2} R S S' (Algebra.toSMul.{u4, u5} R S (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_5) (Algebra.toSMul.{u5, u2} S S' (CommRing.toCommSemiring.{u5} S _inst_4) (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26)) _inst_28) (Algebra.toSMul.{u4, u2} R S' (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26)) _inst_30)] [H : Algebra.IsPushout.{u5, u4, u3, u2} R S _inst_3 _inst_4 _inst_5 R' S' _inst_25 _inst_26 _inst_27 _inst_28 _inst_29 _inst_30 _inst_31 _inst_32] {A : Type.{u1}} [_inst_33 : Semiring.{u1} A] [_inst_34 : Algebra.{u4, u1} R A (CommRing.toCommSemiring.{u4} R _inst_3) _inst_33] {f : AlgHom.{u4, u2, u1} R S' A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26)) _inst_33 _inst_30 _inst_34} {g : AlgHom.{u4, u2, u1} R S' A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26)) _inst_33 _inst_30 _inst_34}, (Eq.{max (succ u3) (succ u1)} (AlgHom.{u4, u3, u1} R R' A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) (AlgHom.comp.{u4, u3, u2, u1} R R' S' A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26)) _inst_33 _inst_27 _inst_30 _inst_34 f (IsScalarTower.toAlgHom.{u4, u3, u2} R R' S' (CommRing.toCommSemiring.{u4} R _inst_3) (CommRing.toCommSemiring.{u3} R' _inst_25) (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26)) _inst_27 _inst_29 _inst_30 _inst_31)) (AlgHom.comp.{u4, u3, u2, u1} R R' S' A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26)) _inst_33 _inst_27 _inst_30 _inst_34 g (IsScalarTower.toAlgHom.{u4, u3, u2} R R' S' (CommRing.toCommSemiring.{u4} R _inst_3) (CommRing.toCommSemiring.{u3} R' _inst_25) (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26)) _inst_27 _inst_29 _inst_30 _inst_31))) -> (Eq.{max (succ u5) (succ u1)} (AlgHom.{u4, u5, u1} R S A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_33 _inst_5 _inst_34) (AlgHom.comp.{u4, u5, u2, u1} R S S' A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26)) _inst_33 _inst_5 _inst_30 _inst_34 f (IsScalarTower.toAlgHom.{u4, u5, u2} R S S' (CommRing.toCommSemiring.{u4} R _inst_3) (CommRing.toCommSemiring.{u5} S _inst_4) (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26)) _inst_5 _inst_28 _inst_30 _inst_32)) (AlgHom.comp.{u4, u5, u2, u1} R S S' A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26)) _inst_33 _inst_5 _inst_30 _inst_34 g (IsScalarTower.toAlgHom.{u4, u5, u2} R S S' (CommRing.toCommSemiring.{u4} R _inst_3) (CommRing.toCommSemiring.{u5} S _inst_4) (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26)) _inst_5 _inst_28 _inst_30 _inst_32))) -> (Eq.{max (succ u2) (succ u1)} (AlgHom.{u4, u2, u1} R S' A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26)) _inst_33 _inst_30 _inst_34) f g)
+<too large>
 Case conversion may be inaccurate. Consider using '#align algebra.is_pushout.alg_hom_ext Algebra.IsPushout.algHom_extₓ'. -/
 @[ext]
 theorem Algebra.IsPushout.algHom_ext [H : Algebra.IsPushout R S R' S'] {A : Type _} [Semiring A]
Diff
@@ -59,6 +59,7 @@ variable [Module R N₁] [Module R N₂] [Module R N]
 
 variable {g : N₁ →ₗ[R] N₂ →ₗ[R] N}
 
+#print IsTensorProduct /-
 /-- Given a bilinear map `f : M₁ →ₗ[R] M₂ →ₗ[R] M`, `is_tensor_product f` means that
 `M` is the tensor product of `M₁` and `M₂` via `f`.
 This is defined by requiring the lift `M₁ ⊗[R] M₂ → M` to be bijective.
@@ -66,9 +67,16 @@ This is defined by requiring the lift `M₁ ⊗[R] M₂ → M` to be bijective.
 def IsTensorProduct : Prop :=
   Function.Bijective (TensorProduct.lift f)
 #align is_tensor_product IsTensorProduct
+-/
 
 variable (R M N) {f}
 
+/- warning: tensor_product.is_tensor_product -> TensorProduct.isTensorProduct is a dubious translation:
+lean 3 declaration is
+  forall (R : Type.{u1}) [_inst_1 : CommRing.{u1} R] (M : Type.{u2}) [_inst_4 : AddCommMonoid.{u2} M] [_inst_8 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_4] (N : Type.{u3}) [_inst_12 : AddCommMonoid.{u3} N] [_inst_15 : Module.{u1, u3} R N (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_12], IsTensorProduct.{u1, u2, u3, max u2 u3} R _inst_1 M N (TensorProduct.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M N _inst_4 _inst_12 _inst_8 _inst_15) _inst_4 _inst_12 (TensorProduct.addCommMonoid.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M N _inst_4 _inst_12 _inst_8 _inst_15) _inst_8 _inst_15 (TensorProduct.module.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M N _inst_4 _inst_12 _inst_8 _inst_15) (TensorProduct.mk.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M N _inst_4 _inst_12 _inst_8 _inst_15)
+but is expected to have type
+  forall (R : Type.{u3}) [_inst_1 : CommRing.{u3} R] (M : Type.{u2}) [_inst_4 : AddCommMonoid.{u2} M] [_inst_8 : Module.{u3, u2} R M (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) _inst_4] (N : Type.{u1}) [_inst_12 : AddCommMonoid.{u1} N] [_inst_15 : Module.{u3, u1} R N (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) _inst_12], IsTensorProduct.{u3, u2, u1, max u2 u1} R _inst_1 M N (TensorProduct.{u3, u2, u1} R (CommRing.toCommSemiring.{u3} R _inst_1) M N _inst_4 _inst_12 _inst_8 _inst_15) _inst_4 _inst_12 (TensorProduct.addCommMonoid.{u3, u2, u1} R (CommRing.toCommSemiring.{u3} R _inst_1) M N _inst_4 _inst_12 _inst_8 _inst_15) _inst_8 _inst_15 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u3, u2, u1} R (CommRing.toCommSemiring.{u3} R _inst_1) M N _inst_4 _inst_12 _inst_8 _inst_15) (TensorProduct.mk.{u3, u2, u1} R (CommRing.toCommSemiring.{u3} R _inst_1) M N _inst_4 _inst_12 _inst_8 _inst_15)
+Case conversion may be inaccurate. Consider using '#align tensor_product.is_tensor_product TensorProduct.isTensorProductₓ'. -/
 theorem TensorProduct.isTensorProduct : IsTensorProduct (TensorProduct.mk R M N) :=
   by
   delta IsTensorProduct
@@ -80,18 +88,32 @@ theorem TensorProduct.isTensorProduct : IsTensorProduct (TensorProduct.mk R M N)
 
 variable {R M N}
 
+#print IsTensorProduct.equiv /-
 /-- If `M` is the tensor product of `M₁` and `M₂`, it is linearly equivalent to `M₁ ⊗[R] M₂`. -/
 @[simps apply]
 noncomputable def IsTensorProduct.equiv (h : IsTensorProduct f) : M₁ ⊗[R] M₂ ≃ₗ[R] M :=
   LinearEquiv.ofBijective _ h
 #align is_tensor_product.equiv IsTensorProduct.equiv
+-/
 
+/- warning: is_tensor_product.equiv_to_linear_map -> IsTensorProduct.equiv_toLinearMap is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {M₁ : Type.{u2}} {M₂ : Type.{u3}} {M : Type.{u4}} [_inst_2 : AddCommMonoid.{u2} M₁] [_inst_3 : AddCommMonoid.{u3} M₂] [_inst_4 : AddCommMonoid.{u4} M] [_inst_6 : Module.{u1, u2} R M₁ (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_2] [_inst_7 : Module.{u1, u3} R M₂ (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_3] [_inst_8 : Module.{u1, u4} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_4] {f : LinearMap.{u1, u1, u2, max u3 u4} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M₁ (LinearMap.{u1, u1, u3, u4} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M₂ M _inst_3 _inst_4 _inst_7 _inst_8) _inst_2 (LinearMap.addCommMonoid.{u1, u1, u3, u4} R R M₂ M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_3 _inst_4 _inst_7 _inst_8 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) _inst_6 (LinearMap.module.{u1, u1, u1, u3, u4} R R R M₂ M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_3 _inst_4 _inst_7 _inst_8 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_8 (smulCommClass_self.{u1, u4} R M (CommRing.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u4} R M (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_4))) (Module.toMulActionWithZero.{u1, u4} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_4 _inst_8))))} (h : IsTensorProduct.{u1, u2, u3, u4} R _inst_1 M₁ M₂ M _inst_2 _inst_3 _inst_4 _inst_6 _inst_7 _inst_8 f), Eq.{max (succ (max u2 u3)) (succ u4)} (LinearMap.{u1, u1, max u2 u3, u4} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (TensorProduct.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M₁ M₂ _inst_2 _inst_3 _inst_6 _inst_7) M (TensorProduct.addCommMonoid.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M₁ M₂ _inst_2 _inst_3 _inst_6 _inst_7) _inst_4 (TensorProduct.module.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M₁ M₂ _inst_2 _inst_3 _inst_6 _inst_7) _inst_8) (LinearEquiv.toLinearMap.{u1, u1, max u2 u3, u4} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (IsTensorProduct.equiv._proof_2.{u1} R _inst_1) (IsTensorProduct.equiv._proof_3.{u1} R _inst_1) (TensorProduct.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M₁ M₂ _inst_2 _inst_3 _inst_6 _inst_7) M (TensorProduct.addCommMonoid.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M₁ M₂ _inst_2 _inst_3 _inst_6 _inst_7) _inst_4 (TensorProduct.module.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M₁ M₂ _inst_2 _inst_3 _inst_6 _inst_7) _inst_8 (IsTensorProduct.equiv.{u1, u2, u3, u4} R _inst_1 M₁ M₂ M _inst_2 _inst_3 _inst_4 _inst_6 _inst_7 _inst_8 f h)) (TensorProduct.lift.{u1, u2, u3, u4} R (CommRing.toCommSemiring.{u1} R _inst_1) M₁ M₂ M _inst_2 _inst_3 _inst_4 _inst_6 _inst_7 _inst_8 f)
+but is expected to have type
+  forall {R : Type.{u4}} [_inst_1 : CommRing.{u4} R] {M₁ : Type.{u3}} {M₂ : Type.{u2}} {M : Type.{u1}} [_inst_2 : AddCommMonoid.{u3} M₁] [_inst_3 : AddCommMonoid.{u2} M₂] [_inst_4 : AddCommMonoid.{u1} M] [_inst_6 : Module.{u4, u3} R M₁ (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_2] [_inst_7 : Module.{u4, u2} R M₂ (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_3] [_inst_8 : Module.{u4, u1} R M (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_4] {f : LinearMap.{u4, u4, u3, max u1 u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M₁ (LinearMap.{u4, u4, u2, u1} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M₂ M _inst_3 _inst_4 _inst_7 _inst_8) _inst_2 (LinearMap.addCommMonoid.{u4, u4, u2, u1} R R M₂ M (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_3 _inst_4 _inst_7 _inst_8 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) _inst_6 (LinearMap.instModuleLinearMapAddCommMonoid.{u4, u4, u4, u2, u1} R R R M₂ M (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_3 _inst_4 _inst_7 _inst_8 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_8 (smulCommClass_self.{u4, u1} R M (CommRing.toCommMonoid.{u4} R _inst_1) (MulActionWithZero.toMulAction.{u4, u1} R M (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_4)) (Module.toMulActionWithZero.{u4, u1} R M (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_4 _inst_8))))} (h : IsTensorProduct.{u4, u3, u2, u1} R _inst_1 M₁ M₂ M _inst_2 _inst_3 _inst_4 _inst_6 _inst_7 _inst_8 f), Eq.{max (max (succ u3) (succ u2)) (succ u1)} (LinearMap.{u4, u4, max u3 u2, u1} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (TensorProduct.{u4, u3, u2} R (CommRing.toCommSemiring.{u4} R _inst_1) M₁ M₂ _inst_2 _inst_3 _inst_6 _inst_7) M (TensorProduct.addCommMonoid.{u4, u3, u2} R (CommRing.toCommSemiring.{u4} R _inst_1) M₁ M₂ _inst_2 _inst_3 _inst_6 _inst_7) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u4, u3, u2} R (CommRing.toCommSemiring.{u4} R _inst_1) M₁ M₂ _inst_2 _inst_3 _inst_6 _inst_7) _inst_8) (LinearEquiv.toLinearMap.{u4, u4, max u3 u2, u1} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (TensorProduct.{u4, u3, u2} R (CommRing.toCommSemiring.{u4} R _inst_1) M₁ M₂ _inst_2 _inst_3 _inst_6 _inst_7) M (TensorProduct.addCommMonoid.{u4, u3, u2} R (CommRing.toCommSemiring.{u4} R _inst_1) M₁ M₂ _inst_2 _inst_3 _inst_6 _inst_7) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u4, u3, u2} R (CommRing.toCommSemiring.{u4} R _inst_1) M₁ M₂ _inst_2 _inst_3 _inst_6 _inst_7) _inst_8 (IsTensorProduct.equiv.{u4, u3, u2, u1} R _inst_1 M₁ M₂ M _inst_2 _inst_3 _inst_4 _inst_6 _inst_7 _inst_8 f h)) (TensorProduct.lift.{u4, u3, u2, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M₁ M₂ M _inst_2 _inst_3 _inst_4 _inst_6 _inst_7 _inst_8 f)
+Case conversion may be inaccurate. Consider using '#align is_tensor_product.equiv_to_linear_map IsTensorProduct.equiv_toLinearMapₓ'. -/
 @[simp]
 theorem IsTensorProduct.equiv_toLinearMap (h : IsTensorProduct f) :
     h.Equiv.toLinearMap = TensorProduct.lift f :=
   rfl
 #align is_tensor_product.equiv_to_linear_map IsTensorProduct.equiv_toLinearMap
 
+/- warning: is_tensor_product.equiv_symm_apply -> IsTensorProduct.equiv_symm_apply is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {M₁ : Type.{u2}} {M₂ : Type.{u3}} {M : Type.{u4}} [_inst_2 : AddCommMonoid.{u2} M₁] [_inst_3 : AddCommMonoid.{u3} M₂] [_inst_4 : AddCommMonoid.{u4} M] [_inst_6 : Module.{u1, u2} R M₁ (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_2] [_inst_7 : Module.{u1, u3} R M₂ (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_3] [_inst_8 : Module.{u1, u4} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_4] {f : LinearMap.{u1, u1, u2, max u3 u4} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M₁ (LinearMap.{u1, u1, u3, u4} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M₂ M _inst_3 _inst_4 _inst_7 _inst_8) _inst_2 (LinearMap.addCommMonoid.{u1, u1, u3, u4} R R M₂ M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_3 _inst_4 _inst_7 _inst_8 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) _inst_6 (LinearMap.module.{u1, u1, u1, u3, u4} R R R M₂ M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_3 _inst_4 _inst_7 _inst_8 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_8 (smulCommClass_self.{u1, u4} R M (CommRing.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u4} R M (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_4))) (Module.toMulActionWithZero.{u1, u4} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_4 _inst_8))))} (h : IsTensorProduct.{u1, u2, u3, u4} R _inst_1 M₁ M₂ M _inst_2 _inst_3 _inst_4 _inst_6 _inst_7 _inst_8 f) (x₁ : M₁) (x₂ : M₂), Eq.{succ (max u2 u3)} (TensorProduct.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M₁ M₂ _inst_2 _inst_3 _inst_6 _inst_7) (coeFn.{max (succ u4) (succ (max u2 u3)), max (succ u4) (succ (max u2 u3))} (LinearEquiv.{u1, u1, u4, max u2 u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (IsTensorProduct.equiv._proof_3.{u1} R _inst_1) (IsTensorProduct.equiv._proof_2.{u1} R _inst_1) M (TensorProduct.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M₁ M₂ _inst_2 _inst_3 _inst_6 _inst_7) _inst_4 (TensorProduct.addCommMonoid.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M₁ M₂ _inst_2 _inst_3 _inst_6 _inst_7) _inst_8 (TensorProduct.module.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M₁ M₂ _inst_2 _inst_3 _inst_6 _inst_7)) (fun (_x : LinearEquiv.{u1, u1, u4, max u2 u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (IsTensorProduct.equiv._proof_3.{u1} R _inst_1) (IsTensorProduct.equiv._proof_2.{u1} R _inst_1) M (TensorProduct.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M₁ M₂ _inst_2 _inst_3 _inst_6 _inst_7) _inst_4 (TensorProduct.addCommMonoid.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M₁ M₂ _inst_2 _inst_3 _inst_6 _inst_7) _inst_8 (TensorProduct.module.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M₁ M₂ _inst_2 _inst_3 _inst_6 _inst_7)) => M -> (TensorProduct.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M₁ M₂ _inst_2 _inst_3 _inst_6 _inst_7)) (LinearEquiv.hasCoeToFun.{u1, u1, u4, max u2 u3} R R M (TensorProduct.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M₁ M₂ _inst_2 _inst_3 _inst_6 _inst_7) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_4 (TensorProduct.addCommMonoid.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M₁ M₂ _inst_2 _inst_3 _inst_6 _inst_7) _inst_8 (TensorProduct.module.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M₁ M₂ _inst_2 _inst_3 _inst_6 _inst_7) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (IsTensorProduct.equiv._proof_3.{u1} R _inst_1) (IsTensorProduct.equiv._proof_2.{u1} R _inst_1)) (LinearEquiv.symm.{u1, u1, max u2 u3, u4} R R (TensorProduct.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M₁ M₂ _inst_2 _inst_3 _inst_6 _inst_7) M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (TensorProduct.addCommMonoid.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M₁ M₂ _inst_2 _inst_3 _inst_6 _inst_7) _inst_4 (TensorProduct.module.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M₁ M₂ _inst_2 _inst_3 _inst_6 _inst_7) _inst_8 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (IsTensorProduct.equiv._proof_2.{u1} R _inst_1) (IsTensorProduct.equiv._proof_3.{u1} R _inst_1) (IsTensorProduct.equiv.{u1, u2, u3, u4} R _inst_1 M₁ M₂ M _inst_2 _inst_3 _inst_4 _inst_6 _inst_7 _inst_8 f h)) (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u1, u3, u4} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M₂ M _inst_3 _inst_4 _inst_7 _inst_8) (fun (_x : LinearMap.{u1, u1, u3, u4} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M₂ M _inst_3 _inst_4 _inst_7 _inst_8) => M₂ -> M) (LinearMap.hasCoeToFun.{u1, u1, u3, u4} R R M₂ M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_3 _inst_4 _inst_7 _inst_8 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (coeFn.{max (succ u2) (succ (max u3 u4)), max (succ u2) (succ (max u3 u4))} (LinearMap.{u1, u1, u2, max u3 u4} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M₁ (LinearMap.{u1, u1, u3, u4} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M₂ M _inst_3 _inst_4 _inst_7 _inst_8) _inst_2 (LinearMap.addCommMonoid.{u1, u1, u3, u4} R R M₂ M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_3 _inst_4 _inst_7 _inst_8 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) _inst_6 (LinearMap.module.{u1, u1, u1, u3, u4} R R R M₂ M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_3 _inst_4 _inst_7 _inst_8 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_8 (smulCommClass_self.{u1, u4} R M (CommRing.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u4} R M (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_4))) (Module.toMulActionWithZero.{u1, u4} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_4 _inst_8))))) (fun (_x : LinearMap.{u1, u1, u2, max u3 u4} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M₁ (LinearMap.{u1, u1, u3, u4} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M₂ M _inst_3 _inst_4 _inst_7 _inst_8) _inst_2 (LinearMap.addCommMonoid.{u1, u1, u3, u4} R R M₂ M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_3 _inst_4 _inst_7 _inst_8 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) _inst_6 (LinearMap.module.{u1, u1, u1, u3, u4} R R R M₂ M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_3 _inst_4 _inst_7 _inst_8 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_8 (smulCommClass_self.{u1, u4} R M (CommRing.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u4} R M (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_4))) (Module.toMulActionWithZero.{u1, u4} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_4 _inst_8))))) => M₁ -> (LinearMap.{u1, u1, u3, u4} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M₂ M _inst_3 _inst_4 _inst_7 _inst_8)) (LinearMap.hasCoeToFun.{u1, u1, u2, max u3 u4} R R M₁ (LinearMap.{u1, u1, u3, u4} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M₂ M _inst_3 _inst_4 _inst_7 _inst_8) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_2 (LinearMap.addCommMonoid.{u1, u1, u3, u4} R R M₂ M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_3 _inst_4 _inst_7 _inst_8 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) _inst_6 (LinearMap.module.{u1, u1, u1, u3, u4} R R R M₂ M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_3 _inst_4 _inst_7 _inst_8 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_8 (smulCommClass_self.{u1, u4} R M (CommRing.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u4} R M (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_4))) (Module.toMulActionWithZero.{u1, u4} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_4 _inst_8)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) f x₁) x₂)) (TensorProduct.tmul.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M₁ M₂ _inst_2 _inst_3 _inst_6 _inst_7 x₁ x₂)
+but is expected to have type
+  forall {R : Type.{u4}} [_inst_1 : CommRing.{u4} R] {M₁ : Type.{u3}} {M₂ : Type.{u2}} {M : Type.{u1}} [_inst_2 : AddCommMonoid.{u3} M₁] [_inst_3 : AddCommMonoid.{u2} M₂] [_inst_4 : AddCommMonoid.{u1} M] [_inst_6 : Module.{u4, u3} R M₁ (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_2] [_inst_7 : Module.{u4, u2} R M₂ (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_3] [_inst_8 : Module.{u4, u1} R M (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_4] {f : LinearMap.{u4, u4, u3, max u1 u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M₁ (LinearMap.{u4, u4, u2, u1} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M₂ M _inst_3 _inst_4 _inst_7 _inst_8) _inst_2 (LinearMap.addCommMonoid.{u4, u4, u2, u1} R R M₂ M (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_3 _inst_4 _inst_7 _inst_8 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) _inst_6 (LinearMap.instModuleLinearMapAddCommMonoid.{u4, u4, u4, u2, u1} R R R M₂ M (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_3 _inst_4 _inst_7 _inst_8 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_8 (smulCommClass_self.{u4, u1} R M (CommRing.toCommMonoid.{u4} R _inst_1) (MulActionWithZero.toMulAction.{u4, u1} R M (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_4)) (Module.toMulActionWithZero.{u4, u1} R M (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_4 _inst_8))))} (h : IsTensorProduct.{u4, u3, u2, u1} R _inst_1 M₁ M₂ M _inst_2 _inst_3 _inst_4 _inst_6 _inst_7 _inst_8 f) (x₁ : M₁) (x₂ : M₂), Eq.{max (succ u3) (succ u2)} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : M) => TensorProduct.{u4, u3, u2} R (CommRing.toCommSemiring.{u4} R _inst_1) M₁ M₂ _inst_2 _inst_3 _inst_6 _inst_7) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M₁) => LinearMap.{u4, u4, u2, u1} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M₂ M _inst_3 _inst_4 _inst_7 _inst_8) x₁) M₂ (fun (a : M₂) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M₂) => M) a) (LinearMap.instFunLikeLinearMap.{u4, u4, u2, u1} R R M₂ M (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_3 _inst_4 _inst_7 _inst_8 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u3, max (succ u2) (succ u1)} (LinearMap.{u4, u4, u3, max u1 u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M₁ (LinearMap.{u4, u4, u2, u1} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M₂ M _inst_3 _inst_4 _inst_7 _inst_8) _inst_2 (LinearMap.addCommMonoid.{u4, u4, u2, u1} R R M₂ M (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_3 _inst_4 _inst_7 _inst_8 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) _inst_6 (LinearMap.instModuleLinearMapAddCommMonoid.{u4, u4, u4, u2, u1} R R R M₂ M (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_3 _inst_4 _inst_7 _inst_8 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_8 (smulCommClass_self.{u4, u1} R M (CommRing.toCommMonoid.{u4} R _inst_1) (MulActionWithZero.toMulAction.{u4, u1} R M (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_4)) (Module.toMulActionWithZero.{u4, u1} R M (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_4 _inst_8))))) M₁ (fun (a : M₁) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M₁) => LinearMap.{u4, u4, u2, u1} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M₂ M _inst_3 _inst_4 _inst_7 _inst_8) a) (LinearMap.instFunLikeLinearMap.{u4, u4, u3, max u2 u1} R R M₁ (LinearMap.{u4, u4, u2, u1} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M₂ M _inst_3 _inst_4 _inst_7 _inst_8) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_2 (LinearMap.addCommMonoid.{u4, u4, u2, u1} R R M₂ M (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_3 _inst_4 _inst_7 _inst_8 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) _inst_6 (LinearMap.instModuleLinearMapAddCommMonoid.{u4, u4, u4, u2, u1} R R R M₂ M (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_3 _inst_4 _inst_7 _inst_8 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_8 (smulCommClass_self.{u4, u1} R M (CommRing.toCommMonoid.{u4} R _inst_1) (MulActionWithZero.toMulAction.{u4, u1} R M (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_4)) (Module.toMulActionWithZero.{u4, u1} R M (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_4 _inst_8)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) f x₁) x₂)) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u1, max (succ u3) (succ u2)} (LinearEquiv.{u4, u4, u1, max u3 u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) M (TensorProduct.{u4, u3, u2} R (CommRing.toCommSemiring.{u4} R _inst_1) M₁ M₂ _inst_2 _inst_3 _inst_6 _inst_7) _inst_4 (TensorProduct.addCommMonoid.{u4, u3, u2} R (CommRing.toCommSemiring.{u4} R _inst_1) M₁ M₂ _inst_2 _inst_3 _inst_6 _inst_7) _inst_8 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u4, u3, u2} R (CommRing.toCommSemiring.{u4} R _inst_1) M₁ M₂ _inst_2 _inst_3 _inst_6 _inst_7)) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : M) => TensorProduct.{u4, u3, u2} R (CommRing.toCommSemiring.{u4} R _inst_1) M₁ M₂ _inst_2 _inst_3 _inst_6 _inst_7) _x) (SMulHomClass.toFunLike.{max (max u3 u2) u1, u4, u1, max u3 u2} (LinearEquiv.{u4, u4, u1, max u3 u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) M (TensorProduct.{u4, u3, u2} R (CommRing.toCommSemiring.{u4} R _inst_1) M₁ M₂ _inst_2 _inst_3 _inst_6 _inst_7) _inst_4 (TensorProduct.addCommMonoid.{u4, u3, u2} R (CommRing.toCommSemiring.{u4} R _inst_1) M₁ M₂ _inst_2 _inst_3 _inst_6 _inst_7) _inst_8 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u4, u3, u2} R (CommRing.toCommSemiring.{u4} R _inst_1) M₁ M₂ _inst_2 _inst_3 _inst_6 _inst_7)) R M (TensorProduct.{u4, u3, u2} R (CommRing.toCommSemiring.{u4} R _inst_1) M₁ M₂ _inst_2 _inst_3 _inst_6 _inst_7) (SMulZeroClass.toSMul.{u4, u1} R M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_4)) (DistribSMul.toSMulZeroClass.{u4, u1} R M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_4)) (DistribMulAction.toDistribSMul.{u4, u1} R M (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (AddCommMonoid.toAddMonoid.{u1} M _inst_4) (Module.toDistribMulAction.{u4, u1} R M (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_4 _inst_8)))) (SMulZeroClass.toSMul.{u4, max u3 u2} R (TensorProduct.{u4, u3, u2} R (CommRing.toCommSemiring.{u4} R _inst_1) M₁ M₂ _inst_2 _inst_3 _inst_6 _inst_7) (AddMonoid.toZero.{max u3 u2} (TensorProduct.{u4, u3, u2} R (CommRing.toCommSemiring.{u4} R _inst_1) M₁ M₂ _inst_2 _inst_3 _inst_6 _inst_7) (AddCommMonoid.toAddMonoid.{max u3 u2} (TensorProduct.{u4, u3, u2} R (CommRing.toCommSemiring.{u4} R _inst_1) M₁ M₂ _inst_2 _inst_3 _inst_6 _inst_7) (TensorProduct.addCommMonoid.{u4, u3, u2} R (CommRing.toCommSemiring.{u4} R _inst_1) M₁ M₂ _inst_2 _inst_3 _inst_6 _inst_7))) (DistribSMul.toSMulZeroClass.{u4, max u3 u2} R (TensorProduct.{u4, u3, u2} R (CommRing.toCommSemiring.{u4} R _inst_1) M₁ M₂ _inst_2 _inst_3 _inst_6 _inst_7) (AddMonoid.toAddZeroClass.{max u3 u2} (TensorProduct.{u4, u3, u2} R (CommRing.toCommSemiring.{u4} R _inst_1) M₁ M₂ _inst_2 _inst_3 _inst_6 _inst_7) (AddCommMonoid.toAddMonoid.{max u3 u2} (TensorProduct.{u4, u3, u2} R (CommRing.toCommSemiring.{u4} R _inst_1) M₁ M₂ _inst_2 _inst_3 _inst_6 _inst_7) (TensorProduct.addCommMonoid.{u4, u3, u2} R (CommRing.toCommSemiring.{u4} R _inst_1) M₁ M₂ _inst_2 _inst_3 _inst_6 _inst_7))) (DistribMulAction.toDistribSMul.{u4, max u3 u2} R (TensorProduct.{u4, u3, u2} R (CommRing.toCommSemiring.{u4} R _inst_1) M₁ M₂ _inst_2 _inst_3 _inst_6 _inst_7) (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u3 u2} (TensorProduct.{u4, u3, u2} R (CommRing.toCommSemiring.{u4} R _inst_1) M₁ M₂ _inst_2 _inst_3 _inst_6 _inst_7) (TensorProduct.addCommMonoid.{u4, u3, u2} R (CommRing.toCommSemiring.{u4} R _inst_1) M₁ M₂ _inst_2 _inst_3 _inst_6 _inst_7)) (Module.toDistribMulAction.{u4, max u3 u2} R (TensorProduct.{u4, u3, u2} R (CommRing.toCommSemiring.{u4} R _inst_1) M₁ M₂ _inst_2 _inst_3 _inst_6 _inst_7) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (TensorProduct.addCommMonoid.{u4, u3, u2} R (CommRing.toCommSemiring.{u4} R _inst_1) M₁ M₂ _inst_2 _inst_3 _inst_6 _inst_7) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u4, u3, u2} R (CommRing.toCommSemiring.{u4} R _inst_1) M₁ M₂ _inst_2 _inst_3 _inst_6 _inst_7))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u3 u2) u1, u4, u1, max u3 u2} (LinearEquiv.{u4, u4, u1, max u3 u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) M (TensorProduct.{u4, u3, u2} R (CommRing.toCommSemiring.{u4} R _inst_1) M₁ M₂ _inst_2 _inst_3 _inst_6 _inst_7) _inst_4 (TensorProduct.addCommMonoid.{u4, u3, u2} R (CommRing.toCommSemiring.{u4} R _inst_1) M₁ M₂ _inst_2 _inst_3 _inst_6 _inst_7) _inst_8 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u4, u3, u2} R (CommRing.toCommSemiring.{u4} R _inst_1) M₁ M₂ _inst_2 _inst_3 _inst_6 _inst_7)) R M (TensorProduct.{u4, u3, u2} R (CommRing.toCommSemiring.{u4} R _inst_1) M₁ M₂ _inst_2 _inst_3 _inst_6 _inst_7) (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (AddCommMonoid.toAddMonoid.{u1} M _inst_4) (AddCommMonoid.toAddMonoid.{max u3 u2} (TensorProduct.{u4, u3, u2} R (CommRing.toCommSemiring.{u4} R _inst_1) M₁ M₂ _inst_2 _inst_3 _inst_6 _inst_7) (TensorProduct.addCommMonoid.{u4, u3, u2} R (CommRing.toCommSemiring.{u4} R _inst_1) M₁ M₂ _inst_2 _inst_3 _inst_6 _inst_7)) (Module.toDistribMulAction.{u4, u1} R M (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_4 _inst_8) (Module.toDistribMulAction.{u4, max u3 u2} R (TensorProduct.{u4, u3, u2} R (CommRing.toCommSemiring.{u4} R _inst_1) M₁ M₂ _inst_2 _inst_3 _inst_6 _inst_7) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (TensorProduct.addCommMonoid.{u4, u3, u2} R (CommRing.toCommSemiring.{u4} R _inst_1) M₁ M₂ _inst_2 _inst_3 _inst_6 _inst_7) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u4, u3, u2} R (CommRing.toCommSemiring.{u4} R _inst_1) M₁ M₂ _inst_2 _inst_3 _inst_6 _inst_7)) (SemilinearMapClass.distribMulActionHomClass.{u4, u1, max u3 u2, max (max u3 u2) u1} R M (TensorProduct.{u4, u3, u2} R (CommRing.toCommSemiring.{u4} R _inst_1) M₁ M₂ _inst_2 _inst_3 _inst_6 _inst_7) (LinearEquiv.{u4, u4, u1, max u3 u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) M (TensorProduct.{u4, u3, u2} R (CommRing.toCommSemiring.{u4} R _inst_1) M₁ M₂ _inst_2 _inst_3 _inst_6 _inst_7) _inst_4 (TensorProduct.addCommMonoid.{u4, u3, u2} R (CommRing.toCommSemiring.{u4} R _inst_1) M₁ M₂ _inst_2 _inst_3 _inst_6 _inst_7) _inst_8 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u4, u3, u2} R (CommRing.toCommSemiring.{u4} R _inst_1) M₁ M₂ _inst_2 _inst_3 _inst_6 _inst_7)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_4 (TensorProduct.addCommMonoid.{u4, u3, u2} R (CommRing.toCommSemiring.{u4} R _inst_1) M₁ M₂ _inst_2 _inst_3 _inst_6 _inst_7) _inst_8 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u4, u3, u2} R (CommRing.toCommSemiring.{u4} R _inst_1) M₁ M₂ _inst_2 _inst_3 _inst_6 _inst_7) (SemilinearEquivClass.instSemilinearMapClass.{u4, u4, u1, max u3 u2, max (max u3 u2) u1} R R M (TensorProduct.{u4, u3, u2} R (CommRing.toCommSemiring.{u4} R _inst_1) M₁ M₂ _inst_2 _inst_3 _inst_6 _inst_7) (LinearEquiv.{u4, u4, u1, max u3 u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) M (TensorProduct.{u4, u3, u2} R (CommRing.toCommSemiring.{u4} R _inst_1) M₁ M₂ _inst_2 _inst_3 _inst_6 _inst_7) _inst_4 (TensorProduct.addCommMonoid.{u4, u3, u2} R (CommRing.toCommSemiring.{u4} R _inst_1) M₁ M₂ _inst_2 _inst_3 _inst_6 _inst_7) _inst_8 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u4, u3, u2} R (CommRing.toCommSemiring.{u4} R _inst_1) M₁ M₂ _inst_2 _inst_3 _inst_6 _inst_7)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_4 (TensorProduct.addCommMonoid.{u4, u3, u2} R (CommRing.toCommSemiring.{u4} R _inst_1) M₁ M₂ _inst_2 _inst_3 _inst_6 _inst_7) _inst_8 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u4, u3, u2} R (CommRing.toCommSemiring.{u4} R _inst_1) M₁ M₂ _inst_2 _inst_3 _inst_6 _inst_7) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u4, u4, u1, max u3 u2} R R M (TensorProduct.{u4, u3, u2} R (CommRing.toCommSemiring.{u4} R _inst_1) M₁ M₂ _inst_2 _inst_3 _inst_6 _inst_7) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_4 (TensorProduct.addCommMonoid.{u4, u3, u2} R (CommRing.toCommSemiring.{u4} R _inst_1) M₁ M₂ _inst_2 _inst_3 _inst_6 _inst_7) _inst_8 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u4, u3, u2} R (CommRing.toCommSemiring.{u4} R _inst_1) M₁ M₂ _inst_2 _inst_3 _inst_6 _inst_7) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))))) (LinearEquiv.symm.{u4, u4, max u3 u2, u1} R R (TensorProduct.{u4, u3, u2} R (CommRing.toCommSemiring.{u4} R _inst_1) M₁ M₂ _inst_2 _inst_3 _inst_6 _inst_7) M (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (TensorProduct.addCommMonoid.{u4, u3, u2} R (CommRing.toCommSemiring.{u4} R _inst_1) M₁ M₂ _inst_2 _inst_3 _inst_6 _inst_7) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u4, u3, u2} R (CommRing.toCommSemiring.{u4} R _inst_1) M₁ M₂ _inst_2 _inst_3 _inst_6 _inst_7) _inst_8 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (IsTensorProduct.equiv.{u4, u3, u2, u1} R _inst_1 M₁ M₂ M _inst_2 _inst_3 _inst_4 _inst_6 _inst_7 _inst_8 f h)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M₁) => LinearMap.{u4, u4, u2, u1} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M₂ M _inst_3 _inst_4 _inst_7 _inst_8) x₁) M₂ (fun (_x : M₂) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M₂) => M) _x) (LinearMap.instFunLikeLinearMap.{u4, u4, u2, u1} R R M₂ M (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_3 _inst_4 _inst_7 _inst_8 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u3, max (succ u2) (succ u1)} (LinearMap.{u4, u4, u3, max u1 u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M₁ (LinearMap.{u4, u4, u2, u1} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M₂ M _inst_3 _inst_4 _inst_7 _inst_8) _inst_2 (LinearMap.addCommMonoid.{u4, u4, u2, u1} R R M₂ M (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_3 _inst_4 _inst_7 _inst_8 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) _inst_6 (LinearMap.instModuleLinearMapAddCommMonoid.{u4, u4, u4, u2, u1} R R R M₂ M (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_3 _inst_4 _inst_7 _inst_8 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_8 (smulCommClass_self.{u4, u1} R M (CommRing.toCommMonoid.{u4} R _inst_1) (MulActionWithZero.toMulAction.{u4, u1} R M (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_4)) (Module.toMulActionWithZero.{u4, u1} R M (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_4 _inst_8))))) M₁ (fun (_x : M₁) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M₁) => LinearMap.{u4, u4, u2, u1} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M₂ M _inst_3 _inst_4 _inst_7 _inst_8) _x) (LinearMap.instFunLikeLinearMap.{u4, u4, u3, max u2 u1} R R M₁ (LinearMap.{u4, u4, u2, u1} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M₂ M _inst_3 _inst_4 _inst_7 _inst_8) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_2 (LinearMap.addCommMonoid.{u4, u4, u2, u1} R R M₂ M (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_3 _inst_4 _inst_7 _inst_8 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) _inst_6 (LinearMap.instModuleLinearMapAddCommMonoid.{u4, u4, u4, u2, u1} R R R M₂ M (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_3 _inst_4 _inst_7 _inst_8 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_8 (smulCommClass_self.{u4, u1} R M (CommRing.toCommMonoid.{u4} R _inst_1) (MulActionWithZero.toMulAction.{u4, u1} R M (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_4)) (Module.toMulActionWithZero.{u4, u1} R M (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_4 _inst_8)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) f x₁) x₂)) (TensorProduct.tmul.{u4, u3, u2} R (CommRing.toCommSemiring.{u4} R _inst_1) M₁ M₂ _inst_2 _inst_3 _inst_6 _inst_7 x₁ x₂)
+Case conversion may be inaccurate. Consider using '#align is_tensor_product.equiv_symm_apply IsTensorProduct.equiv_symm_applyₓ'. -/
 @[simp]
 theorem IsTensorProduct.equiv_symm_apply (h : IsTensorProduct f) (x₁ : M₁) (x₂ : M₂) :
     h.Equiv.symm (f x₁ x₂) = x₁ ⊗ₜ x₂ :=
@@ -101,13 +123,21 @@ theorem IsTensorProduct.equiv_symm_apply (h : IsTensorProduct f) (x₁ : M₁) (
   simp
 #align is_tensor_product.equiv_symm_apply IsTensorProduct.equiv_symm_apply
 
+#print IsTensorProduct.lift /-
 /-- If `M` is the tensor product of `M₁` and `M₂`, we may lift a bilinear map `M₁ →ₗ[R] M₂ →ₗ[R] M'`
 to a `M →ₗ[R] M'`. -/
 noncomputable def IsTensorProduct.lift (h : IsTensorProduct f) (f' : M₁ →ₗ[R] M₂ →ₗ[R] M') :
     M →ₗ[R] M' :=
   (TensorProduct.lift f').comp h.Equiv.symm.toLinearMap
 #align is_tensor_product.lift IsTensorProduct.lift
+-/
 
+/- warning: is_tensor_product.lift_eq -> IsTensorProduct.lift_eq is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {M₁ : Type.{u2}} {M₂ : Type.{u3}} {M : Type.{u4}} {M' : Type.{u5}} [_inst_2 : AddCommMonoid.{u2} M₁] [_inst_3 : AddCommMonoid.{u3} M₂] [_inst_4 : AddCommMonoid.{u4} M] [_inst_5 : AddCommMonoid.{u5} M'] [_inst_6 : Module.{u1, u2} R M₁ (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_2] [_inst_7 : Module.{u1, u3} R M₂ (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_3] [_inst_8 : Module.{u1, u4} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_4] [_inst_9 : Module.{u1, u5} R M' (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_5] {f : LinearMap.{u1, u1, u2, max u3 u4} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M₁ (LinearMap.{u1, u1, u3, u4} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M₂ M _inst_3 _inst_4 _inst_7 _inst_8) _inst_2 (LinearMap.addCommMonoid.{u1, u1, u3, u4} R R M₂ M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_3 _inst_4 _inst_7 _inst_8 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) _inst_6 (LinearMap.module.{u1, u1, u1, u3, u4} R R R M₂ M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_3 _inst_4 _inst_7 _inst_8 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_8 (smulCommClass_self.{u1, u4} R M (CommRing.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u4} R M (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_4))) (Module.toMulActionWithZero.{u1, u4} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_4 _inst_8))))} (h : IsTensorProduct.{u1, u2, u3, u4} R _inst_1 M₁ M₂ M _inst_2 _inst_3 _inst_4 _inst_6 _inst_7 _inst_8 f) (f' : LinearMap.{u1, u1, u2, max u3 u5} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M₁ (LinearMap.{u1, u1, u3, u5} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M₂ M' _inst_3 _inst_5 _inst_7 _inst_9) _inst_2 (LinearMap.addCommMonoid.{u1, u1, u3, u5} R R M₂ M' (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_3 _inst_5 _inst_7 _inst_9 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) _inst_6 (LinearMap.module.{u1, u1, u1, u3, u5} R R R M₂ M' (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_3 _inst_5 _inst_7 _inst_9 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_9 (smulCommClass_self.{u1, u5} R M' (CommRing.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u5} R M' (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u5} M' (AddMonoid.toAddZeroClass.{u5} M' (AddCommMonoid.toAddMonoid.{u5} M' _inst_5))) (Module.toMulActionWithZero.{u1, u5} R M' (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_5 _inst_9))))) (x₁ : M₁) (x₂ : M₂), Eq.{succ u5} M' (coeFn.{max (succ u4) (succ u5), max (succ u4) (succ u5)} (LinearMap.{u1, u1, u4, u5} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M' _inst_4 _inst_5 _inst_8 _inst_9) (fun (_x : LinearMap.{u1, u1, u4, u5} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M' _inst_4 _inst_5 _inst_8 _inst_9) => M -> M') (LinearMap.hasCoeToFun.{u1, u1, u4, u5} R R M M' (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_4 _inst_5 _inst_8 _inst_9 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (IsTensorProduct.lift.{u1, u2, u3, u4, u5} R _inst_1 M₁ M₂ M M' _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 f h f') (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u1, u3, u4} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M₂ M _inst_3 _inst_4 _inst_7 _inst_8) (fun (_x : LinearMap.{u1, u1, u3, u4} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M₂ M _inst_3 _inst_4 _inst_7 _inst_8) => M₂ -> M) (LinearMap.hasCoeToFun.{u1, u1, u3, u4} R R M₂ M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_3 _inst_4 _inst_7 _inst_8 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (coeFn.{max (succ u2) (succ (max u3 u4)), max (succ u2) (succ (max u3 u4))} (LinearMap.{u1, u1, u2, max u3 u4} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M₁ (LinearMap.{u1, u1, u3, u4} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M₂ M _inst_3 _inst_4 _inst_7 _inst_8) _inst_2 (LinearMap.addCommMonoid.{u1, u1, u3, u4} R R M₂ M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_3 _inst_4 _inst_7 _inst_8 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) _inst_6 (LinearMap.module.{u1, u1, u1, u3, u4} R R R M₂ M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_3 _inst_4 _inst_7 _inst_8 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_8 (smulCommClass_self.{u1, u4} R M (CommRing.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u4} R M (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_4))) (Module.toMulActionWithZero.{u1, u4} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_4 _inst_8))))) (fun (_x : LinearMap.{u1, u1, u2, max u3 u4} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M₁ (LinearMap.{u1, u1, u3, u4} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M₂ M _inst_3 _inst_4 _inst_7 _inst_8) _inst_2 (LinearMap.addCommMonoid.{u1, u1, u3, u4} R R M₂ M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_3 _inst_4 _inst_7 _inst_8 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) _inst_6 (LinearMap.module.{u1, u1, u1, u3, u4} R R R M₂ M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_3 _inst_4 _inst_7 _inst_8 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_8 (smulCommClass_self.{u1, u4} R M (CommRing.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u4} R M (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_4))) (Module.toMulActionWithZero.{u1, u4} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_4 _inst_8))))) => M₁ -> (LinearMap.{u1, u1, u3, u4} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M₂ M _inst_3 _inst_4 _inst_7 _inst_8)) (LinearMap.hasCoeToFun.{u1, u1, u2, max u3 u4} R R M₁ (LinearMap.{u1, u1, u3, u4} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M₂ M _inst_3 _inst_4 _inst_7 _inst_8) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_2 (LinearMap.addCommMonoid.{u1, u1, u3, u4} R R M₂ M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_3 _inst_4 _inst_7 _inst_8 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) _inst_6 (LinearMap.module.{u1, u1, u1, u3, u4} R R R M₂ M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_3 _inst_4 _inst_7 _inst_8 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_8 (smulCommClass_self.{u1, u4} R M (CommRing.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u4} R M (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_4))) (Module.toMulActionWithZero.{u1, u4} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_4 _inst_8)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) f x₁) x₂)) (coeFn.{max (succ u3) (succ u5), max (succ u3) (succ u5)} (LinearMap.{u1, u1, u3, u5} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M₂ M' _inst_3 _inst_5 _inst_7 _inst_9) (fun (_x : LinearMap.{u1, u1, u3, u5} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M₂ M' _inst_3 _inst_5 _inst_7 _inst_9) => M₂ -> M') (LinearMap.hasCoeToFun.{u1, u1, u3, u5} R R M₂ M' (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_3 _inst_5 _inst_7 _inst_9 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (coeFn.{max (succ u2) (succ (max u3 u5)), max (succ u2) (succ (max u3 u5))} (LinearMap.{u1, u1, u2, max u3 u5} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M₁ (LinearMap.{u1, u1, u3, u5} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M₂ M' _inst_3 _inst_5 _inst_7 _inst_9) _inst_2 (LinearMap.addCommMonoid.{u1, u1, u3, u5} R R M₂ M' (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_3 _inst_5 _inst_7 _inst_9 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) _inst_6 (LinearMap.module.{u1, u1, u1, u3, u5} R R R M₂ M' (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_3 _inst_5 _inst_7 _inst_9 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_9 (smulCommClass_self.{u1, u5} R M' (CommRing.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u5} R M' (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u5} M' (AddMonoid.toAddZeroClass.{u5} M' (AddCommMonoid.toAddMonoid.{u5} M' _inst_5))) (Module.toMulActionWithZero.{u1, u5} R M' (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_5 _inst_9))))) (fun (_x : LinearMap.{u1, u1, u2, max u3 u5} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M₁ (LinearMap.{u1, u1, u3, u5} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M₂ M' _inst_3 _inst_5 _inst_7 _inst_9) _inst_2 (LinearMap.addCommMonoid.{u1, u1, u3, u5} R R M₂ M' (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_3 _inst_5 _inst_7 _inst_9 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) _inst_6 (LinearMap.module.{u1, u1, u1, u3, u5} R R R M₂ M' (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_3 _inst_5 _inst_7 _inst_9 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_9 (smulCommClass_self.{u1, u5} R M' (CommRing.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u5} R M' (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u5} M' (AddMonoid.toAddZeroClass.{u5} M' (AddCommMonoid.toAddMonoid.{u5} M' _inst_5))) (Module.toMulActionWithZero.{u1, u5} R M' (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_5 _inst_9))))) => M₁ -> (LinearMap.{u1, u1, u3, u5} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M₂ M' _inst_3 _inst_5 _inst_7 _inst_9)) (LinearMap.hasCoeToFun.{u1, u1, u2, max u3 u5} R R M₁ (LinearMap.{u1, u1, u3, u5} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M₂ M' _inst_3 _inst_5 _inst_7 _inst_9) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_2 (LinearMap.addCommMonoid.{u1, u1, u3, u5} R R M₂ M' (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_3 _inst_5 _inst_7 _inst_9 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) _inst_6 (LinearMap.module.{u1, u1, u1, u3, u5} R R R M₂ M' (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_3 _inst_5 _inst_7 _inst_9 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_9 (smulCommClass_self.{u1, u5} R M' (CommRing.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u5} R M' (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u5} M' (AddMonoid.toAddZeroClass.{u5} M' (AddCommMonoid.toAddMonoid.{u5} M' _inst_5))) (Module.toMulActionWithZero.{u1, u5} R M' (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_5 _inst_9)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) f' x₁) x₂)
+but is expected to have type
+  forall {R : Type.{u5}} [_inst_1 : CommRing.{u5} R] {M₁ : Type.{u4}} {M₂ : Type.{u3}} {M : Type.{u2}} {M' : Type.{u1}} [_inst_2 : AddCommMonoid.{u4} M₁] [_inst_3 : AddCommMonoid.{u3} M₂] [_inst_4 : AddCommMonoid.{u2} M] [_inst_5 : AddCommMonoid.{u1} M'] [_inst_6 : Module.{u5, u4} R M₁ (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) _inst_2] [_inst_7 : Module.{u5, u3} R M₂ (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) _inst_3] [_inst_8 : Module.{u5, u2} R M (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) _inst_4] [_inst_9 : Module.{u5, u1} R M' (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) _inst_5] {f : LinearMap.{u5, u5, u4, max u2 u3} R R (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)))) M₁ (LinearMap.{u5, u5, u3, u2} R R (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)))) M₂ M _inst_3 _inst_4 _inst_7 _inst_8) _inst_2 (LinearMap.addCommMonoid.{u5, u5, u3, u2} R R M₂ M (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) _inst_3 _inst_4 _inst_7 _inst_8 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1))))) _inst_6 (LinearMap.instModuleLinearMapAddCommMonoid.{u5, u5, u5, u3, u2} R R R M₂ M (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) _inst_3 _inst_4 _inst_7 _inst_8 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)))) (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) _inst_8 (smulCommClass_self.{u5, u2} R M (CommRing.toCommMonoid.{u5} R _inst_1) (MulActionWithZero.toMulAction.{u5, u2} R M (Semiring.toMonoidWithZero.{u5} R (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u5, u2} R M (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) _inst_4 _inst_8))))} (h : IsTensorProduct.{u5, u4, u3, u2} R _inst_1 M₁ M₂ M _inst_2 _inst_3 _inst_4 _inst_6 _inst_7 _inst_8 f) (f' : LinearMap.{u5, u5, u4, max u1 u3} R R (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)))) M₁ (LinearMap.{u5, u5, u3, u1} R R (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)))) M₂ M' _inst_3 _inst_5 _inst_7 _inst_9) _inst_2 (LinearMap.addCommMonoid.{u5, u5, u3, u1} R R M₂ M' (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) _inst_3 _inst_5 _inst_7 _inst_9 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1))))) _inst_6 (LinearMap.instModuleLinearMapAddCommMonoid.{u5, u5, u5, u3, u1} R R R M₂ M' (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) _inst_3 _inst_5 _inst_7 _inst_9 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)))) (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) _inst_9 (smulCommClass_self.{u5, u1} R M' (CommRing.toCommMonoid.{u5} R _inst_1) (MulActionWithZero.toMulAction.{u5, u1} R M' (Semiring.toMonoidWithZero.{u5} R (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1))) (AddMonoid.toZero.{u1} M' (AddCommMonoid.toAddMonoid.{u1} M' _inst_5)) (Module.toMulActionWithZero.{u5, u1} R M' (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) _inst_5 _inst_9))))) (x₁ : M₁) (x₂ : M₂), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M') (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M₁) => LinearMap.{u5, u5, u3, u2} R R (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)))) M₂ M _inst_3 _inst_4 _inst_7 _inst_8) x₁) M₂ (fun (a : M₂) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M₂) => M) a) (LinearMap.instFunLikeLinearMap.{u5, u5, u3, u2} R R M₂ M (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) _inst_3 _inst_4 _inst_7 _inst_8 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1))))) (FunLike.coe.{max (max (succ u4) (succ u3)) (succ u2), succ u4, max (succ u3) (succ u2)} (LinearMap.{u5, u5, u4, max u2 u3} R R (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)))) M₁ (LinearMap.{u5, u5, u3, u2} R R (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)))) M₂ M _inst_3 _inst_4 _inst_7 _inst_8) _inst_2 (LinearMap.addCommMonoid.{u5, u5, u3, u2} R R M₂ M (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) _inst_3 _inst_4 _inst_7 _inst_8 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1))))) _inst_6 (LinearMap.instModuleLinearMapAddCommMonoid.{u5, u5, u5, u3, u2} R R R M₂ M (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) _inst_3 _inst_4 _inst_7 _inst_8 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)))) (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) _inst_8 (smulCommClass_self.{u5, u2} R M (CommRing.toCommMonoid.{u5} R _inst_1) (MulActionWithZero.toMulAction.{u5, u2} R M (Semiring.toMonoidWithZero.{u5} R (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u5, u2} R M (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) _inst_4 _inst_8))))) M₁ (fun (a : M₁) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M₁) => LinearMap.{u5, u5, u3, u2} R R (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)))) M₂ M _inst_3 _inst_4 _inst_7 _inst_8) a) (LinearMap.instFunLikeLinearMap.{u5, u5, u4, max u3 u2} R R M₁ (LinearMap.{u5, u5, u3, u2} R R (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)))) M₂ M _inst_3 _inst_4 _inst_7 _inst_8) (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) _inst_2 (LinearMap.addCommMonoid.{u5, u5, u3, u2} R R M₂ M (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) _inst_3 _inst_4 _inst_7 _inst_8 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1))))) _inst_6 (LinearMap.instModuleLinearMapAddCommMonoid.{u5, u5, u5, u3, u2} R R R M₂ M (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) _inst_3 _inst_4 _inst_7 _inst_8 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)))) (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) _inst_8 (smulCommClass_self.{u5, u2} R M (CommRing.toCommMonoid.{u5} R _inst_1) (MulActionWithZero.toMulAction.{u5, u2} R M (Semiring.toMonoidWithZero.{u5} R (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u5, u2} R M (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) _inst_4 _inst_8)))) (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1))))) f x₁) x₂)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u5, u5, u2, u1} R R (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)))) M M' _inst_4 _inst_5 _inst_8 _inst_9) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M') _x) (LinearMap.instFunLikeLinearMap.{u5, u5, u2, u1} R R M M' (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) _inst_4 _inst_5 _inst_8 _inst_9 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1))))) (IsTensorProduct.lift.{u5, u4, u3, u2, u1} R _inst_1 M₁ M₂ M M' _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 f h f') (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M₁) => LinearMap.{u5, u5, u3, u2} R R (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)))) M₂ M _inst_3 _inst_4 _inst_7 _inst_8) x₁) M₂ (fun (_x : M₂) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M₂) => M) _x) (LinearMap.instFunLikeLinearMap.{u5, u5, u3, u2} R R M₂ M (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) _inst_3 _inst_4 _inst_7 _inst_8 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1))))) (FunLike.coe.{max (max (succ u4) (succ u3)) (succ u2), succ u4, max (succ u3) (succ u2)} (LinearMap.{u5, u5, u4, max u2 u3} R R (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)))) M₁ (LinearMap.{u5, u5, u3, u2} R R (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)))) M₂ M _inst_3 _inst_4 _inst_7 _inst_8) _inst_2 (LinearMap.addCommMonoid.{u5, u5, u3, u2} R R M₂ M (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) _inst_3 _inst_4 _inst_7 _inst_8 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1))))) _inst_6 (LinearMap.instModuleLinearMapAddCommMonoid.{u5, u5, u5, u3, u2} R R R M₂ M (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) _inst_3 _inst_4 _inst_7 _inst_8 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)))) (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) _inst_8 (smulCommClass_self.{u5, u2} R M (CommRing.toCommMonoid.{u5} R _inst_1) (MulActionWithZero.toMulAction.{u5, u2} R M (Semiring.toMonoidWithZero.{u5} R (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u5, u2} R M (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) _inst_4 _inst_8))))) M₁ (fun (_x : M₁) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M₁) => LinearMap.{u5, u5, u3, u2} R R (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)))) M₂ M _inst_3 _inst_4 _inst_7 _inst_8) _x) (LinearMap.instFunLikeLinearMap.{u5, u5, u4, max u3 u2} R R M₁ (LinearMap.{u5, u5, u3, u2} R R (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)))) M₂ M _inst_3 _inst_4 _inst_7 _inst_8) (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) _inst_2 (LinearMap.addCommMonoid.{u5, u5, u3, u2} R R M₂ M (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) _inst_3 _inst_4 _inst_7 _inst_8 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1))))) _inst_6 (LinearMap.instModuleLinearMapAddCommMonoid.{u5, u5, u5, u3, u2} R R R M₂ M (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) _inst_3 _inst_4 _inst_7 _inst_8 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)))) (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) _inst_8 (smulCommClass_self.{u5, u2} R M (CommRing.toCommMonoid.{u5} R _inst_1) (MulActionWithZero.toMulAction.{u5, u2} R M (Semiring.toMonoidWithZero.{u5} R (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) (Module.toMulActionWithZero.{u5, u2} R M (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) _inst_4 _inst_8)))) (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1))))) f x₁) x₂)) (FunLike.coe.{max (succ u3) (succ u1), succ u3, succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M₁) => LinearMap.{u5, u5, u3, u1} R R (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)))) M₂ M' _inst_3 _inst_5 _inst_7 _inst_9) x₁) M₂ (fun (_x : M₂) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M₂) => M') _x) (LinearMap.instFunLikeLinearMap.{u5, u5, u3, u1} R R M₂ M' (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) _inst_3 _inst_5 _inst_7 _inst_9 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1))))) (FunLike.coe.{max (max (succ u4) (succ u3)) (succ u1), succ u4, max (succ u3) (succ u1)} (LinearMap.{u5, u5, u4, max u1 u3} R R (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)))) M₁ (LinearMap.{u5, u5, u3, u1} R R (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)))) M₂ M' _inst_3 _inst_5 _inst_7 _inst_9) _inst_2 (LinearMap.addCommMonoid.{u5, u5, u3, u1} R R M₂ M' (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) _inst_3 _inst_5 _inst_7 _inst_9 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1))))) _inst_6 (LinearMap.instModuleLinearMapAddCommMonoid.{u5, u5, u5, u3, u1} R R R M₂ M' (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) _inst_3 _inst_5 _inst_7 _inst_9 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)))) (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) _inst_9 (smulCommClass_self.{u5, u1} R M' (CommRing.toCommMonoid.{u5} R _inst_1) (MulActionWithZero.toMulAction.{u5, u1} R M' (Semiring.toMonoidWithZero.{u5} R (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1))) (AddMonoid.toZero.{u1} M' (AddCommMonoid.toAddMonoid.{u1} M' _inst_5)) (Module.toMulActionWithZero.{u5, u1} R M' (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) _inst_5 _inst_9))))) M₁ (fun (_x : M₁) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M₁) => LinearMap.{u5, u5, u3, u1} R R (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)))) M₂ M' _inst_3 _inst_5 _inst_7 _inst_9) _x) (LinearMap.instFunLikeLinearMap.{u5, u5, u4, max u3 u1} R R M₁ (LinearMap.{u5, u5, u3, u1} R R (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)))) M₂ M' _inst_3 _inst_5 _inst_7 _inst_9) (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) _inst_2 (LinearMap.addCommMonoid.{u5, u5, u3, u1} R R M₂ M' (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) _inst_3 _inst_5 _inst_7 _inst_9 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1))))) _inst_6 (LinearMap.instModuleLinearMapAddCommMonoid.{u5, u5, u5, u3, u1} R R R M₂ M' (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) _inst_3 _inst_5 _inst_7 _inst_9 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)))) (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) _inst_9 (smulCommClass_self.{u5, u1} R M' (CommRing.toCommMonoid.{u5} R _inst_1) (MulActionWithZero.toMulAction.{u5, u1} R M' (Semiring.toMonoidWithZero.{u5} R (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1))) (AddMonoid.toZero.{u1} M' (AddCommMonoid.toAddMonoid.{u1} M' _inst_5)) (Module.toMulActionWithZero.{u5, u1} R M' (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1)) _inst_5 _inst_9)))) (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R (CommSemiring.toSemiring.{u5} R (CommRing.toCommSemiring.{u5} R _inst_1))))) f' x₁) x₂)
+Case conversion may be inaccurate. Consider using '#align is_tensor_product.lift_eq IsTensorProduct.lift_eqₓ'. -/
 theorem IsTensorProduct.lift_eq (h : IsTensorProduct f) (f' : M₁ →ₗ[R] M₂ →ₗ[R] M') (x₁ : M₁)
     (x₂ : M₂) : h.lift f' (f x₁ x₂) = f' x₁ x₂ :=
   by
@@ -115,12 +145,20 @@ theorem IsTensorProduct.lift_eq (h : IsTensorProduct f) (f' : M₁ →ₗ[R] M
   simp
 #align is_tensor_product.lift_eq IsTensorProduct.lift_eq
 
+#print IsTensorProduct.map /-
 /-- The tensor product of a pair of linear maps between modules. -/
 noncomputable def IsTensorProduct.map (hf : IsTensorProduct f) (hg : IsTensorProduct g)
     (i₁ : M₁ →ₗ[R] N₁) (i₂ : M₂ →ₗ[R] N₂) : M →ₗ[R] N :=
   hg.Equiv.toLinearMap.comp ((TensorProduct.map i₁ i₂).comp hf.Equiv.symm.toLinearMap)
 #align is_tensor_product.map IsTensorProduct.map
+-/
 
+/- warning: is_tensor_product.map_eq -> IsTensorProduct.map_eq is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {M₁ : Type.{u2}} {M₂ : Type.{u3}} {M : Type.{u4}} [_inst_2 : AddCommMonoid.{u2} M₁] [_inst_3 : AddCommMonoid.{u3} M₂] [_inst_4 : AddCommMonoid.{u4} M] [_inst_6 : Module.{u1, u2} R M₁ (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_2] [_inst_7 : Module.{u1, u3} R M₂ (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_3] [_inst_8 : Module.{u1, u4} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_4] {f : LinearMap.{u1, u1, u2, max u3 u4} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M₁ (LinearMap.{u1, u1, u3, u4} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M₂ M _inst_3 _inst_4 _inst_7 _inst_8) _inst_2 (LinearMap.addCommMonoid.{u1, u1, u3, u4} R R M₂ M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_3 _inst_4 _inst_7 _inst_8 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) _inst_6 (LinearMap.module.{u1, u1, u1, u3, u4} R R R M₂ M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_3 _inst_4 _inst_7 _inst_8 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_8 (smulCommClass_self.{u1, u4} R M (CommRing.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u4} R M (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_4))) (Module.toMulActionWithZero.{u1, u4} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_4 _inst_8))))} {N₁ : Type.{u5}} {N₂ : Type.{u6}} {N : Type.{u7}} [_inst_10 : AddCommMonoid.{u5} N₁] [_inst_11 : AddCommMonoid.{u6} N₂] [_inst_12 : AddCommMonoid.{u7} N] [_inst_13 : Module.{u1, u5} R N₁ (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_10] [_inst_14 : Module.{u1, u6} R N₂ (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_11] [_inst_15 : Module.{u1, u7} R N (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_12] {g : LinearMap.{u1, u1, u5, max u6 u7} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) N₁ (LinearMap.{u1, u1, u6, u7} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) N₂ N _inst_11 _inst_12 _inst_14 _inst_15) _inst_10 (LinearMap.addCommMonoid.{u1, u1, u6, u7} R R N₂ N (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_11 _inst_12 _inst_14 _inst_15 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) _inst_13 (LinearMap.module.{u1, u1, u1, u6, u7} R R R N₂ N (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_11 _inst_12 _inst_14 _inst_15 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_15 (smulCommClass_self.{u1, u7} R N (CommRing.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u7} R N (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u7} N (AddMonoid.toAddZeroClass.{u7} N (AddCommMonoid.toAddMonoid.{u7} N _inst_12))) (Module.toMulActionWithZero.{u1, u7} R N (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_12 _inst_15))))} (hf : IsTensorProduct.{u1, u2, u3, u4} R _inst_1 M₁ M₂ M _inst_2 _inst_3 _inst_4 _inst_6 _inst_7 _inst_8 f) (hg : IsTensorProduct.{u1, u5, u6, u7} R _inst_1 N₁ N₂ N _inst_10 _inst_11 _inst_12 _inst_13 _inst_14 _inst_15 g) (i₁ : LinearMap.{u1, u1, u2, u5} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M₁ N₁ _inst_2 _inst_10 _inst_6 _inst_13) (i₂ : LinearMap.{u1, u1, u3, u6} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M₂ N₂ _inst_3 _inst_11 _inst_7 _inst_14) (x₁ : M₁) (x₂ : M₂), Eq.{succ u7} N (coeFn.{max (succ u4) (succ u7), max (succ u4) (succ u7)} (LinearMap.{u1, u1, u4, u7} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M N _inst_4 _inst_12 _inst_8 _inst_15) (fun (_x : LinearMap.{u1, u1, u4, u7} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M N _inst_4 _inst_12 _inst_8 _inst_15) => M -> N) (LinearMap.hasCoeToFun.{u1, u1, u4, u7} R R M N (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_4 _inst_12 _inst_8 _inst_15 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (IsTensorProduct.map.{u1, u2, u3, u4, u5, u6, u7} R _inst_1 M₁ M₂ M _inst_2 _inst_3 _inst_4 _inst_6 _inst_7 _inst_8 f N₁ N₂ N _inst_10 _inst_11 _inst_12 _inst_13 _inst_14 _inst_15 g hf hg i₁ i₂) (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u1, u3, u4} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M₂ M _inst_3 _inst_4 _inst_7 _inst_8) (fun (_x : LinearMap.{u1, u1, u3, u4} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M₂ M _inst_3 _inst_4 _inst_7 _inst_8) => M₂ -> M) (LinearMap.hasCoeToFun.{u1, u1, u3, u4} R R M₂ M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_3 _inst_4 _inst_7 _inst_8 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (coeFn.{max (succ u2) (succ (max u3 u4)), max (succ u2) (succ (max u3 u4))} (LinearMap.{u1, u1, u2, max u3 u4} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M₁ (LinearMap.{u1, u1, u3, u4} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M₂ M _inst_3 _inst_4 _inst_7 _inst_8) _inst_2 (LinearMap.addCommMonoid.{u1, u1, u3, u4} R R M₂ M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_3 _inst_4 _inst_7 _inst_8 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) _inst_6 (LinearMap.module.{u1, u1, u1, u3, u4} R R R M₂ M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_3 _inst_4 _inst_7 _inst_8 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_8 (smulCommClass_self.{u1, u4} R M (CommRing.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u4} R M (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_4))) (Module.toMulActionWithZero.{u1, u4} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_4 _inst_8))))) (fun (_x : LinearMap.{u1, u1, u2, max u3 u4} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M₁ (LinearMap.{u1, u1, u3, u4} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M₂ M _inst_3 _inst_4 _inst_7 _inst_8) _inst_2 (LinearMap.addCommMonoid.{u1, u1, u3, u4} R R M₂ M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_3 _inst_4 _inst_7 _inst_8 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) _inst_6 (LinearMap.module.{u1, u1, u1, u3, u4} R R R M₂ M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_3 _inst_4 _inst_7 _inst_8 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_8 (smulCommClass_self.{u1, u4} R M (CommRing.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u4} R M (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_4))) (Module.toMulActionWithZero.{u1, u4} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_4 _inst_8))))) => M₁ -> (LinearMap.{u1, u1, u3, u4} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M₂ M _inst_3 _inst_4 _inst_7 _inst_8)) (LinearMap.hasCoeToFun.{u1, u1, u2, max u3 u4} R R M₁ (LinearMap.{u1, u1, u3, u4} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M₂ M _inst_3 _inst_4 _inst_7 _inst_8) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_2 (LinearMap.addCommMonoid.{u1, u1, u3, u4} R R M₂ M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_3 _inst_4 _inst_7 _inst_8 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) _inst_6 (LinearMap.module.{u1, u1, u1, u3, u4} R R R M₂ M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_3 _inst_4 _inst_7 _inst_8 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_8 (smulCommClass_self.{u1, u4} R M (CommRing.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u4} R M (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_4))) (Module.toMulActionWithZero.{u1, u4} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_4 _inst_8)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) f x₁) x₂)) (coeFn.{max (succ u6) (succ u7), max (succ u6) (succ u7)} (LinearMap.{u1, u1, u6, u7} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) N₂ N _inst_11 _inst_12 _inst_14 _inst_15) (fun (_x : LinearMap.{u1, u1, u6, u7} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) N₂ N _inst_11 _inst_12 _inst_14 _inst_15) => N₂ -> N) (LinearMap.hasCoeToFun.{u1, u1, u6, u7} R R N₂ N (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_11 _inst_12 _inst_14 _inst_15 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (coeFn.{max (succ u5) (succ (max u6 u7)), max (succ u5) (succ (max u6 u7))} (LinearMap.{u1, u1, u5, max u6 u7} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) N₁ (LinearMap.{u1, u1, u6, u7} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) N₂ N _inst_11 _inst_12 _inst_14 _inst_15) _inst_10 (LinearMap.addCommMonoid.{u1, u1, u6, u7} R R N₂ N (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_11 _inst_12 _inst_14 _inst_15 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) _inst_13 (LinearMap.module.{u1, u1, u1, u6, u7} R R R N₂ N (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_11 _inst_12 _inst_14 _inst_15 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_15 (smulCommClass_self.{u1, u7} R N (CommRing.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u7} R N (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u7} N (AddMonoid.toAddZeroClass.{u7} N (AddCommMonoid.toAddMonoid.{u7} N _inst_12))) (Module.toMulActionWithZero.{u1, u7} R N (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_12 _inst_15))))) (fun (_x : LinearMap.{u1, u1, u5, max u6 u7} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) N₁ (LinearMap.{u1, u1, u6, u7} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) N₂ N _inst_11 _inst_12 _inst_14 _inst_15) _inst_10 (LinearMap.addCommMonoid.{u1, u1, u6, u7} R R N₂ N (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_11 _inst_12 _inst_14 _inst_15 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) _inst_13 (LinearMap.module.{u1, u1, u1, u6, u7} R R R N₂ N (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_11 _inst_12 _inst_14 _inst_15 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_15 (smulCommClass_self.{u1, u7} R N (CommRing.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u7} R N (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u7} N (AddMonoid.toAddZeroClass.{u7} N (AddCommMonoid.toAddMonoid.{u7} N _inst_12))) (Module.toMulActionWithZero.{u1, u7} R N (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_12 _inst_15))))) => N₁ -> (LinearMap.{u1, u1, u6, u7} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) N₂ N _inst_11 _inst_12 _inst_14 _inst_15)) (LinearMap.hasCoeToFun.{u1, u1, u5, max u6 u7} R R N₁ (LinearMap.{u1, u1, u6, u7} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) N₂ N _inst_11 _inst_12 _inst_14 _inst_15) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_10 (LinearMap.addCommMonoid.{u1, u1, u6, u7} R R N₂ N (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_11 _inst_12 _inst_14 _inst_15 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) _inst_13 (LinearMap.module.{u1, u1, u1, u6, u7} R R R N₂ N (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_11 _inst_12 _inst_14 _inst_15 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_15 (smulCommClass_self.{u1, u7} R N (CommRing.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u7} R N (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u7} N (AddMonoid.toAddZeroClass.{u7} N (AddCommMonoid.toAddMonoid.{u7} N _inst_12))) (Module.toMulActionWithZero.{u1, u7} R N (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_12 _inst_15)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) g (coeFn.{max (succ u2) (succ u5), max (succ u2) (succ u5)} (LinearMap.{u1, u1, u2, u5} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M₁ N₁ _inst_2 _inst_10 _inst_6 _inst_13) (fun (_x : LinearMap.{u1, u1, u2, u5} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M₁ N₁ _inst_2 _inst_10 _inst_6 _inst_13) => M₁ -> N₁) (LinearMap.hasCoeToFun.{u1, u1, u2, u5} R R M₁ N₁ (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_2 _inst_10 _inst_6 _inst_13 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) i₁ x₁)) (coeFn.{max (succ u3) (succ u6), max (succ u3) (succ u6)} (LinearMap.{u1, u1, u3, u6} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M₂ N₂ _inst_3 _inst_11 _inst_7 _inst_14) (fun (_x : LinearMap.{u1, u1, u3, u6} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M₂ N₂ _inst_3 _inst_11 _inst_7 _inst_14) => M₂ -> N₂) (LinearMap.hasCoeToFun.{u1, u1, u3, u6} R R M₂ N₂ (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_3 _inst_11 _inst_7 _inst_14 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) i₂ x₂))
+but is expected to have type
+  forall {R : Type.{u7}} [_inst_1 : CommRing.{u7} R] {M₁ : Type.{u6}} {M₂ : Type.{u5}} {M : Type.{u4}} [_inst_2 : AddCommMonoid.{u6} M₁] [_inst_3 : AddCommMonoid.{u5} M₂] [_inst_4 : AddCommMonoid.{u4} M] [_inst_6 : Module.{u7, u6} R M₁ (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) _inst_2] [_inst_7 : Module.{u7, u5} R M₂ (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) _inst_3] [_inst_8 : Module.{u7, u4} R M (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) _inst_4] {f : LinearMap.{u7, u7, u6, max u4 u5} R R (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)))) M₁ (LinearMap.{u7, u7, u5, u4} R R (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)))) M₂ M _inst_3 _inst_4 _inst_7 _inst_8) _inst_2 (LinearMap.addCommMonoid.{u7, u7, u5, u4} R R M₂ M (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) _inst_3 _inst_4 _inst_7 _inst_8 (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1))))) _inst_6 (LinearMap.instModuleLinearMapAddCommMonoid.{u7, u7, u7, u5, u4} R R R M₂ M (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) _inst_3 _inst_4 _inst_7 _inst_8 (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)))) (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) _inst_8 (smulCommClass_self.{u7, u4} R M (CommRing.toCommMonoid.{u7} R _inst_1) (MulActionWithZero.toMulAction.{u7, u4} R M (Semiring.toMonoidWithZero.{u7} R (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1))) (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_4)) (Module.toMulActionWithZero.{u7, u4} R M (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) _inst_4 _inst_8))))} {N₁ : Type.{u3}} {N₂ : Type.{u2}} {N : Type.{u1}} [_inst_10 : AddCommMonoid.{u3} N₁] [_inst_11 : AddCommMonoid.{u2} N₂] [_inst_12 : AddCommMonoid.{u1} N] [_inst_13 : Module.{u7, u3} R N₁ (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) _inst_10] [_inst_14 : Module.{u7, u2} R N₂ (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) _inst_11] [_inst_15 : Module.{u7, u1} R N (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) _inst_12] {g : LinearMap.{u7, u7, u3, max u1 u2} R R (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)))) N₁ (LinearMap.{u7, u7, u2, u1} R R (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)))) N₂ N _inst_11 _inst_12 _inst_14 _inst_15) _inst_10 (LinearMap.addCommMonoid.{u7, u7, u2, u1} R R N₂ N (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) _inst_11 _inst_12 _inst_14 _inst_15 (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1))))) _inst_13 (LinearMap.instModuleLinearMapAddCommMonoid.{u7, u7, u7, u2, u1} R R R N₂ N (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) _inst_11 _inst_12 _inst_14 _inst_15 (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)))) (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) _inst_15 (smulCommClass_self.{u7, u1} R N (CommRing.toCommMonoid.{u7} R _inst_1) (MulActionWithZero.toMulAction.{u7, u1} R N (Semiring.toMonoidWithZero.{u7} R (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1))) (AddMonoid.toZero.{u1} N (AddCommMonoid.toAddMonoid.{u1} N _inst_12)) (Module.toMulActionWithZero.{u7, u1} R N (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) _inst_12 _inst_15))))} (hf : IsTensorProduct.{u7, u6, u5, u4} R _inst_1 M₁ M₂ M _inst_2 _inst_3 _inst_4 _inst_6 _inst_7 _inst_8 f) (hg : IsTensorProduct.{u7, u3, u2, u1} R _inst_1 N₁ N₂ N _inst_10 _inst_11 _inst_12 _inst_13 _inst_14 _inst_15 g) (i₁ : LinearMap.{u7, u7, u6, u3} R R (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)))) M₁ N₁ _inst_2 _inst_10 _inst_6 _inst_13) (i₂ : LinearMap.{u7, u7, u5, u2} R R (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)))) M₂ N₂ _inst_3 _inst_11 _inst_7 _inst_14) (x₁ : M₁) (x₂ : M₂), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => N) (FunLike.coe.{max (succ u5) (succ u4), succ u5, succ u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M₁) => LinearMap.{u7, u7, u5, u4} R R (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)))) M₂ M _inst_3 _inst_4 _inst_7 _inst_8) x₁) M₂ (fun (a : M₂) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M₂) => M) a) (LinearMap.instFunLikeLinearMap.{u7, u7, u5, u4} R R M₂ M (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) _inst_3 _inst_4 _inst_7 _inst_8 (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1))))) (FunLike.coe.{max (max (succ u6) (succ u5)) (succ u4), succ u6, max (succ u5) (succ u4)} (LinearMap.{u7, u7, u6, max u4 u5} R R (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)))) M₁ (LinearMap.{u7, u7, u5, u4} R R (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)))) M₂ M _inst_3 _inst_4 _inst_7 _inst_8) _inst_2 (LinearMap.addCommMonoid.{u7, u7, u5, u4} R R M₂ M (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) _inst_3 _inst_4 _inst_7 _inst_8 (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1))))) _inst_6 (LinearMap.instModuleLinearMapAddCommMonoid.{u7, u7, u7, u5, u4} R R R M₂ M (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) _inst_3 _inst_4 _inst_7 _inst_8 (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)))) (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) _inst_8 (smulCommClass_self.{u7, u4} R M (CommRing.toCommMonoid.{u7} R _inst_1) (MulActionWithZero.toMulAction.{u7, u4} R M (Semiring.toMonoidWithZero.{u7} R (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1))) (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_4)) (Module.toMulActionWithZero.{u7, u4} R M (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) _inst_4 _inst_8))))) M₁ (fun (a : M₁) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M₁) => LinearMap.{u7, u7, u5, u4} R R (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)))) M₂ M _inst_3 _inst_4 _inst_7 _inst_8) a) (LinearMap.instFunLikeLinearMap.{u7, u7, u6, max u5 u4} R R M₁ (LinearMap.{u7, u7, u5, u4} R R (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)))) M₂ M _inst_3 _inst_4 _inst_7 _inst_8) (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) _inst_2 (LinearMap.addCommMonoid.{u7, u7, u5, u4} R R M₂ M (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) _inst_3 _inst_4 _inst_7 _inst_8 (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1))))) _inst_6 (LinearMap.instModuleLinearMapAddCommMonoid.{u7, u7, u7, u5, u4} R R R M₂ M (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) _inst_3 _inst_4 _inst_7 _inst_8 (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)))) (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) _inst_8 (smulCommClass_self.{u7, u4} R M (CommRing.toCommMonoid.{u7} R _inst_1) (MulActionWithZero.toMulAction.{u7, u4} R M (Semiring.toMonoidWithZero.{u7} R (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1))) (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_4)) (Module.toMulActionWithZero.{u7, u4} R M (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) _inst_4 _inst_8)))) (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1))))) f x₁) x₂)) (FunLike.coe.{max (succ u4) (succ u1), succ u4, succ u1} (LinearMap.{u7, u7, u4, u1} R R (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)))) M N _inst_4 _inst_12 _inst_8 _inst_15) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => N) _x) (LinearMap.instFunLikeLinearMap.{u7, u7, u4, u1} R R M N (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) _inst_4 _inst_12 _inst_8 _inst_15 (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1))))) (IsTensorProduct.map.{u7, u6, u5, u4, u3, u2, u1} R _inst_1 M₁ M₂ M _inst_2 _inst_3 _inst_4 _inst_6 _inst_7 _inst_8 f N₁ N₂ N _inst_10 _inst_11 _inst_12 _inst_13 _inst_14 _inst_15 g hf hg i₁ i₂) (FunLike.coe.{max (succ u5) (succ u4), succ u5, succ u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M₁) => LinearMap.{u7, u7, u5, u4} R R (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)))) M₂ M _inst_3 _inst_4 _inst_7 _inst_8) x₁) M₂ (fun (_x : M₂) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M₂) => M) _x) (LinearMap.instFunLikeLinearMap.{u7, u7, u5, u4} R R M₂ M (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) _inst_3 _inst_4 _inst_7 _inst_8 (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1))))) (FunLike.coe.{max (max (succ u6) (succ u5)) (succ u4), succ u6, max (succ u5) (succ u4)} (LinearMap.{u7, u7, u6, max u4 u5} R R (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)))) M₁ (LinearMap.{u7, u7, u5, u4} R R (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)))) M₂ M _inst_3 _inst_4 _inst_7 _inst_8) _inst_2 (LinearMap.addCommMonoid.{u7, u7, u5, u4} R R M₂ M (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) _inst_3 _inst_4 _inst_7 _inst_8 (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1))))) _inst_6 (LinearMap.instModuleLinearMapAddCommMonoid.{u7, u7, u7, u5, u4} R R R M₂ M (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) _inst_3 _inst_4 _inst_7 _inst_8 (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)))) (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) _inst_8 (smulCommClass_self.{u7, u4} R M (CommRing.toCommMonoid.{u7} R _inst_1) (MulActionWithZero.toMulAction.{u7, u4} R M (Semiring.toMonoidWithZero.{u7} R (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1))) (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_4)) (Module.toMulActionWithZero.{u7, u4} R M (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) _inst_4 _inst_8))))) M₁ (fun (_x : M₁) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M₁) => LinearMap.{u7, u7, u5, u4} R R (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)))) M₂ M _inst_3 _inst_4 _inst_7 _inst_8) _x) (LinearMap.instFunLikeLinearMap.{u7, u7, u6, max u5 u4} R R M₁ (LinearMap.{u7, u7, u5, u4} R R (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)))) M₂ M _inst_3 _inst_4 _inst_7 _inst_8) (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) _inst_2 (LinearMap.addCommMonoid.{u7, u7, u5, u4} R R M₂ M (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) _inst_3 _inst_4 _inst_7 _inst_8 (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1))))) _inst_6 (LinearMap.instModuleLinearMapAddCommMonoid.{u7, u7, u7, u5, u4} R R R M₂ M (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) _inst_3 _inst_4 _inst_7 _inst_8 (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)))) (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) _inst_8 (smulCommClass_self.{u7, u4} R M (CommRing.toCommMonoid.{u7} R _inst_1) (MulActionWithZero.toMulAction.{u7, u4} R M (Semiring.toMonoidWithZero.{u7} R (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1))) (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_4)) (Module.toMulActionWithZero.{u7, u4} R M (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) _inst_4 _inst_8)))) (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1))))) f x₁) x₂)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : N₁) => LinearMap.{u7, u7, u2, u1} R R (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)))) N₂ N _inst_11 _inst_12 _inst_14 _inst_15) (FunLike.coe.{max (succ u6) (succ u3), succ u6, succ u3} (LinearMap.{u7, u7, u6, u3} R R (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)))) M₁ N₁ _inst_2 _inst_10 _inst_6 _inst_13) M₁ (fun (a : M₁) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M₁) => N₁) a) (LinearMap.instFunLikeLinearMap.{u7, u7, u6, u3} R R M₁ N₁ (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) _inst_2 _inst_10 _inst_6 _inst_13 (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1))))) i₁ x₁)) N₂ (fun (_x : N₂) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : N₂) => N) _x) (LinearMap.instFunLikeLinearMap.{u7, u7, u2, u1} R R N₂ N (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) _inst_11 _inst_12 _inst_14 _inst_15 (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1))))) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u3, max (succ u2) (succ u1)} (LinearMap.{u7, u7, u3, max u1 u2} R R (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)))) N₁ (LinearMap.{u7, u7, u2, u1} R R (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)))) N₂ N _inst_11 _inst_12 _inst_14 _inst_15) _inst_10 (LinearMap.addCommMonoid.{u7, u7, u2, u1} R R N₂ N (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) _inst_11 _inst_12 _inst_14 _inst_15 (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1))))) _inst_13 (LinearMap.instModuleLinearMapAddCommMonoid.{u7, u7, u7, u2, u1} R R R N₂ N (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) _inst_11 _inst_12 _inst_14 _inst_15 (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)))) (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) _inst_15 (smulCommClass_self.{u7, u1} R N (CommRing.toCommMonoid.{u7} R _inst_1) (MulActionWithZero.toMulAction.{u7, u1} R N (Semiring.toMonoidWithZero.{u7} R (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1))) (AddMonoid.toZero.{u1} N (AddCommMonoid.toAddMonoid.{u1} N _inst_12)) (Module.toMulActionWithZero.{u7, u1} R N (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) _inst_12 _inst_15))))) N₁ (fun (_x : N₁) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : N₁) => LinearMap.{u7, u7, u2, u1} R R (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)))) N₂ N _inst_11 _inst_12 _inst_14 _inst_15) _x) (LinearMap.instFunLikeLinearMap.{u7, u7, u3, max u2 u1} R R N₁ (LinearMap.{u7, u7, u2, u1} R R (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)))) N₂ N _inst_11 _inst_12 _inst_14 _inst_15) (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) _inst_10 (LinearMap.addCommMonoid.{u7, u7, u2, u1} R R N₂ N (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) _inst_11 _inst_12 _inst_14 _inst_15 (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1))))) _inst_13 (LinearMap.instModuleLinearMapAddCommMonoid.{u7, u7, u7, u2, u1} R R R N₂ N (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) _inst_11 _inst_12 _inst_14 _inst_15 (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)))) (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) _inst_15 (smulCommClass_self.{u7, u1} R N (CommRing.toCommMonoid.{u7} R _inst_1) (MulActionWithZero.toMulAction.{u7, u1} R N (Semiring.toMonoidWithZero.{u7} R (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1))) (AddMonoid.toZero.{u1} N (AddCommMonoid.toAddMonoid.{u1} N _inst_12)) (Module.toMulActionWithZero.{u7, u1} R N (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) _inst_12 _inst_15)))) (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1))))) g (FunLike.coe.{max (succ u6) (succ u3), succ u6, succ u3} (LinearMap.{u7, u7, u6, u3} R R (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)))) M₁ N₁ _inst_2 _inst_10 _inst_6 _inst_13) M₁ (fun (_x : M₁) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M₁) => N₁) _x) (LinearMap.instFunLikeLinearMap.{u7, u7, u6, u3} R R M₁ N₁ (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) _inst_2 _inst_10 _inst_6 _inst_13 (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1))))) i₁ x₁)) (FunLike.coe.{max (succ u5) (succ u2), succ u5, succ u2} (LinearMap.{u7, u7, u5, u2} R R (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)))) M₂ N₂ _inst_3 _inst_11 _inst_7 _inst_14) M₂ (fun (_x : M₂) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M₂) => N₂) _x) (LinearMap.instFunLikeLinearMap.{u7, u7, u5, u2} R R M₂ N₂ (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1)) _inst_3 _inst_11 _inst_7 _inst_14 (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R (CommSemiring.toSemiring.{u7} R (CommRing.toCommSemiring.{u7} R _inst_1))))) i₂ x₂))
+Case conversion may be inaccurate. Consider using '#align is_tensor_product.map_eq IsTensorProduct.map_eqₓ'. -/
 theorem IsTensorProduct.map_eq (hf : IsTensorProduct f) (hg : IsTensorProduct g) (i₁ : M₁ →ₗ[R] N₁)
     (i₂ : M₂ →ₗ[R] N₂) (x₁ : M₁) (x₂ : M₂) : hf.map hg i₁ i₂ (f x₁ x₂) = g (i₁ x₁) (i₂ x₂) :=
   by
@@ -128,6 +166,12 @@ theorem IsTensorProduct.map_eq (hf : IsTensorProduct f) (hg : IsTensorProduct g)
   simp
 #align is_tensor_product.map_eq IsTensorProduct.map_eq
 
+/- warning: is_tensor_product.induction_on -> IsTensorProduct.inductionOn is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {M₁ : Type.{u2}} {M₂ : Type.{u3}} {M : Type.{u4}} [_inst_2 : AddCommMonoid.{u2} M₁] [_inst_3 : AddCommMonoid.{u3} M₂] [_inst_4 : AddCommMonoid.{u4} M] [_inst_6 : Module.{u1, u2} R M₁ (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_2] [_inst_7 : Module.{u1, u3} R M₂ (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_3] [_inst_8 : Module.{u1, u4} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_4] {f : LinearMap.{u1, u1, u2, max u3 u4} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M₁ (LinearMap.{u1, u1, u3, u4} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M₂ M _inst_3 _inst_4 _inst_7 _inst_8) _inst_2 (LinearMap.addCommMonoid.{u1, u1, u3, u4} R R M₂ M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_3 _inst_4 _inst_7 _inst_8 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) _inst_6 (LinearMap.module.{u1, u1, u1, u3, u4} R R R M₂ M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_3 _inst_4 _inst_7 _inst_8 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_8 (smulCommClass_self.{u1, u4} R M (CommRing.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u4} R M (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_4))) (Module.toMulActionWithZero.{u1, u4} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_4 _inst_8))))}, (IsTensorProduct.{u1, u2, u3, u4} R _inst_1 M₁ M₂ M _inst_2 _inst_3 _inst_4 _inst_6 _inst_7 _inst_8 f) -> (forall {C : M -> Prop} (m : M), (C (OfNat.ofNat.{u4} M 0 (OfNat.mk.{u4} M 0 (Zero.zero.{u4} M (AddZeroClass.toHasZero.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_4))))))) -> (forall (x : M₁) (y : M₂), C (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u1, u3, u4} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M₂ M _inst_3 _inst_4 _inst_7 _inst_8) (fun (_x : LinearMap.{u1, u1, u3, u4} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M₂ M _inst_3 _inst_4 _inst_7 _inst_8) => M₂ -> M) (LinearMap.hasCoeToFun.{u1, u1, u3, u4} R R M₂ M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_3 _inst_4 _inst_7 _inst_8 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (coeFn.{max (succ u2) (succ (max u3 u4)), max (succ u2) (succ (max u3 u4))} (LinearMap.{u1, u1, u2, max u3 u4} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M₁ (LinearMap.{u1, u1, u3, u4} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M₂ M _inst_3 _inst_4 _inst_7 _inst_8) _inst_2 (LinearMap.addCommMonoid.{u1, u1, u3, u4} R R M₂ M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_3 _inst_4 _inst_7 _inst_8 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) _inst_6 (LinearMap.module.{u1, u1, u1, u3, u4} R R R M₂ M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_3 _inst_4 _inst_7 _inst_8 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_8 (smulCommClass_self.{u1, u4} R M (CommRing.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u4} R M (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_4))) (Module.toMulActionWithZero.{u1, u4} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_4 _inst_8))))) (fun (_x : LinearMap.{u1, u1, u2, max u3 u4} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M₁ (LinearMap.{u1, u1, u3, u4} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M₂ M _inst_3 _inst_4 _inst_7 _inst_8) _inst_2 (LinearMap.addCommMonoid.{u1, u1, u3, u4} R R M₂ M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_3 _inst_4 _inst_7 _inst_8 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) _inst_6 (LinearMap.module.{u1, u1, u1, u3, u4} R R R M₂ M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_3 _inst_4 _inst_7 _inst_8 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_8 (smulCommClass_self.{u1, u4} R M (CommRing.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u4} R M (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_4))) (Module.toMulActionWithZero.{u1, u4} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_4 _inst_8))))) => M₁ -> (LinearMap.{u1, u1, u3, u4} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M₂ M _inst_3 _inst_4 _inst_7 _inst_8)) (LinearMap.hasCoeToFun.{u1, u1, u2, max u3 u4} R R M₁ (LinearMap.{u1, u1, u3, u4} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M₂ M _inst_3 _inst_4 _inst_7 _inst_8) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_2 (LinearMap.addCommMonoid.{u1, u1, u3, u4} R R M₂ M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_3 _inst_4 _inst_7 _inst_8 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) _inst_6 (LinearMap.module.{u1, u1, u1, u3, u4} R R R M₂ M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_3 _inst_4 _inst_7 _inst_8 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_8 (smulCommClass_self.{u1, u4} R M (CommRing.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u4} R M (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_4))) (Module.toMulActionWithZero.{u1, u4} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_4 _inst_8)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) f x) y)) -> (forall (x : M) (y : M), (C x) -> (C y) -> (C (HAdd.hAdd.{u4, u4, u4} M M M (instHAdd.{u4} M (AddZeroClass.toHasAdd.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_4)))) x y))) -> (C m))
+but is expected to have type
+  forall {R : Type.{u4}} [_inst_1 : CommRing.{u4} R] {M₁ : Type.{u3}} {M₂ : Type.{u2}} {M : Type.{u1}} [_inst_2 : AddCommMonoid.{u3} M₁] [_inst_3 : AddCommMonoid.{u2} M₂] [_inst_4 : AddCommMonoid.{u1} M] [_inst_6 : Module.{u4, u3} R M₁ (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_2] [_inst_7 : Module.{u4, u2} R M₂ (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_3] [_inst_8 : Module.{u4, u1} R M (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_4] {f : LinearMap.{u4, u4, u3, max u1 u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M₁ (LinearMap.{u4, u4, u2, u1} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M₂ M _inst_3 _inst_4 _inst_7 _inst_8) _inst_2 (LinearMap.addCommMonoid.{u4, u4, u2, u1} R R M₂ M (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_3 _inst_4 _inst_7 _inst_8 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) _inst_6 (LinearMap.instModuleLinearMapAddCommMonoid.{u4, u4, u4, u2, u1} R R R M₂ M (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_3 _inst_4 _inst_7 _inst_8 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_8 (smulCommClass_self.{u4, u1} R M (CommRing.toCommMonoid.{u4} R _inst_1) (MulActionWithZero.toMulAction.{u4, u1} R M (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_4)) (Module.toMulActionWithZero.{u4, u1} R M (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_4 _inst_8))))}, (IsTensorProduct.{u4, u3, u2, u1} R _inst_1 M₁ M₂ M _inst_2 _inst_3 _inst_4 _inst_6 _inst_7 _inst_8 f) -> (forall {C : M -> Prop} (m : M), (C (OfNat.ofNat.{u1} M 0 (Zero.toOfNat0.{u1} M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_4))))) -> (forall (x : M₁) (y : M₂), C (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M₁) => LinearMap.{u4, u4, u2, u1} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M₂ M _inst_3 _inst_4 _inst_7 _inst_8) x) M₂ (fun (_x : M₂) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M₂) => M) _x) (LinearMap.instFunLikeLinearMap.{u4, u4, u2, u1} R R M₂ M (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_3 _inst_4 _inst_7 _inst_8 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u3, max (succ u2) (succ u1)} (LinearMap.{u4, u4, u3, max u1 u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M₁ (LinearMap.{u4, u4, u2, u1} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M₂ M _inst_3 _inst_4 _inst_7 _inst_8) _inst_2 (LinearMap.addCommMonoid.{u4, u4, u2, u1} R R M₂ M (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_3 _inst_4 _inst_7 _inst_8 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) _inst_6 (LinearMap.instModuleLinearMapAddCommMonoid.{u4, u4, u4, u2, u1} R R R M₂ M (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_3 _inst_4 _inst_7 _inst_8 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_8 (smulCommClass_self.{u4, u1} R M (CommRing.toCommMonoid.{u4} R _inst_1) (MulActionWithZero.toMulAction.{u4, u1} R M (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_4)) (Module.toMulActionWithZero.{u4, u1} R M (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_4 _inst_8))))) M₁ (fun (_x : M₁) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M₁) => LinearMap.{u4, u4, u2, u1} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M₂ M _inst_3 _inst_4 _inst_7 _inst_8) _x) (LinearMap.instFunLikeLinearMap.{u4, u4, u3, max u2 u1} R R M₁ (LinearMap.{u4, u4, u2, u1} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M₂ M _inst_3 _inst_4 _inst_7 _inst_8) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_2 (LinearMap.addCommMonoid.{u4, u4, u2, u1} R R M₂ M (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_3 _inst_4 _inst_7 _inst_8 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) _inst_6 (LinearMap.instModuleLinearMapAddCommMonoid.{u4, u4, u4, u2, u1} R R R M₂ M (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_3 _inst_4 _inst_7 _inst_8 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_8 (smulCommClass_self.{u4, u1} R M (CommRing.toCommMonoid.{u4} R _inst_1) (MulActionWithZero.toMulAction.{u4, u1} R M (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_4)) (Module.toMulActionWithZero.{u4, u1} R M (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_4 _inst_8)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) f x) y)) -> (forall (x : M) (y : M), (C x) -> (C y) -> (C (HAdd.hAdd.{u1, u1, u1} M M M (instHAdd.{u1} M (AddZeroClass.toAdd.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_4)))) x y))) -> (C m))
+Case conversion may be inaccurate. Consider using '#align is_tensor_product.induction_on IsTensorProduct.inductionOnₓ'. -/
 theorem IsTensorProduct.inductionOn (h : IsTensorProduct f) {C : M → Prop} (m : M) (h0 : C 0)
     (htmul : ∀ x y, C (f x y)) (hadd : ∀ x y, C x → C y → C (x + y)) : C m :=
   by
@@ -156,6 +200,7 @@ variable (f : M →ₗ[R] N)
 
 include f
 
+#print IsBaseChange /-
 /-- Given an `R`-algebra `S` and an `R`-module `M`, an `S`-module `N` together with a map
 `f : M →ₗ[R] N` is the base change of `M` to `S` if the map `S × M → N, (s, m) ↦ s • f m` is the
 tensor product. -/
@@ -163,6 +208,7 @@ def IsBaseChange : Prop :=
   IsTensorProduct
     (((Algebra.ofId S <| Module.End S (M →ₗ[R] N)).toLinearMap.flip f).restrictScalars R)
 #align is_base_change IsBaseChange
+-/
 
 variable {S f} (h : IsBaseChange S f)
 
@@ -174,6 +220,7 @@ section
 
 variable [Module R Q] [IsScalarTower R S Q]
 
+#print IsBaseChange.lift /-
 /-- Suppose `f : M →ₗ[R] N` is the base change of `M` along `R → S`. Then any `R`-linear map from
 `M` to an `S`-module factors thorugh `f`. -/
 noncomputable def IsBaseChange.lift (g : M →ₗ[R] Q) : N →ₗ[S] Q :=
@@ -193,13 +240,26 @@ noncomputable def IsBaseChange.lift (g : M →ₗ[R] Q) : N →ₗ[S] Q :=
       · intro x₁ x₂ e₁ e₂
         rw [map_add, smul_add, map_add, smul_add, e₁, e₂] }
 #align is_base_change.lift IsBaseChange.lift
+-/
 
+/- warning: is_base_change.lift_eq -> IsBaseChange.lift_eq is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u4}} {M : Type.{u1}} {N : Type.{u2}} {S : Type.{u3}} [_inst_1 : AddCommMonoid.{u1} M] [_inst_2 : AddCommMonoid.{u2} N] [_inst_3 : CommRing.{u4} R] [_inst_4 : CommRing.{u3} S] [_inst_5 : Algebra.{u4, u3} R S (CommRing.toCommSemiring.{u4} R _inst_3) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4))] [_inst_6 : Module.{u4, u1} R M (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) _inst_1] [_inst_7 : Module.{u4, u2} R N (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) _inst_2] [_inst_8 : Module.{u3, u2} S N (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) _inst_2] [_inst_9 : IsScalarTower.{u4, u3, u2} R S N (SMulZeroClass.toHasSmul.{u4, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))))))) (SMulWithZero.toSmulZeroClass.{u4, u3} R S (MulZeroClass.toHasZero.{u4} R (MulZeroOneClass.toMulZeroClass.{u4} R (MonoidWithZero.toMulZeroOneClass.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))))))) (MulActionWithZero.toSMulWithZero.{u4, u3} R S (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))))))) (Module.toMulActionWithZero.{u4, u3} R S (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4))))) (Algebra.toModule.{u4, u3} R S (CommRing.toCommSemiring.{u4} R _inst_3) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) _inst_5))))) (SMulZeroClass.toHasSmul.{u3, u2} S N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_2))) (SMulWithZero.toSmulZeroClass.{u3, u2} S N (MulZeroClass.toHasZero.{u3} S (MulZeroOneClass.toMulZeroClass.{u3} S (MonoidWithZero.toMulZeroOneClass.{u3} S (Semiring.toMonoidWithZero.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))))) (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_2))) (MulActionWithZero.toSMulWithZero.{u3, u2} S N (Semiring.toMonoidWithZero.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4))) (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_2))) (Module.toMulActionWithZero.{u3, u2} S N (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) _inst_2 _inst_8)))) (SMulZeroClass.toHasSmul.{u4, u2} R N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_2))) (SMulWithZero.toSmulZeroClass.{u4, u2} R N (MulZeroClass.toHasZero.{u4} R (MulZeroOneClass.toMulZeroClass.{u4} R (MonoidWithZero.toMulZeroOneClass.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)))))) (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_2))) (MulActionWithZero.toSMulWithZero.{u4, u2} R N (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3))) (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_2))) (Module.toMulActionWithZero.{u4, u2} R N (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) _inst_2 _inst_7))))] {f : LinearMap.{u4, u4, u1, u2} R R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)))) M N _inst_1 _inst_2 _inst_6 _inst_7} (h : IsBaseChange.{u1, u2, u3, u4} R M N S _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 f) {Q : Type.{u5}} [_inst_12 : AddCommMonoid.{u5} Q] [_inst_13 : Module.{u3, u5} S Q (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) _inst_12] [_inst_14 : Module.{u4, u5} R Q (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) _inst_12] [_inst_15 : IsScalarTower.{u4, u3, u5} R S Q (SMulZeroClass.toHasSmul.{u4, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))))))) (SMulWithZero.toSmulZeroClass.{u4, u3} R S (MulZeroClass.toHasZero.{u4} R (MulZeroOneClass.toMulZeroClass.{u4} R (MonoidWithZero.toMulZeroOneClass.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))))))) (MulActionWithZero.toSMulWithZero.{u4, u3} R S (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))))))) (Module.toMulActionWithZero.{u4, u3} R S (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4))))) (Algebra.toModule.{u4, u3} R S (CommRing.toCommSemiring.{u4} R _inst_3) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) _inst_5))))) (SMulZeroClass.toHasSmul.{u3, u5} S Q (AddZeroClass.toHasZero.{u5} Q (AddMonoid.toAddZeroClass.{u5} Q (AddCommMonoid.toAddMonoid.{u5} Q _inst_12))) (SMulWithZero.toSmulZeroClass.{u3, u5} S Q (MulZeroClass.toHasZero.{u3} S (MulZeroOneClass.toMulZeroClass.{u3} S (MonoidWithZero.toMulZeroOneClass.{u3} S (Semiring.toMonoidWithZero.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))))) (AddZeroClass.toHasZero.{u5} Q (AddMonoid.toAddZeroClass.{u5} Q (AddCommMonoid.toAddMonoid.{u5} Q _inst_12))) (MulActionWithZero.toSMulWithZero.{u3, u5} S Q (Semiring.toMonoidWithZero.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4))) (AddZeroClass.toHasZero.{u5} Q (AddMonoid.toAddZeroClass.{u5} Q (AddCommMonoid.toAddMonoid.{u5} Q _inst_12))) (Module.toMulActionWithZero.{u3, u5} S Q (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) _inst_12 _inst_13)))) (SMulZeroClass.toHasSmul.{u4, u5} R Q (AddZeroClass.toHasZero.{u5} Q (AddMonoid.toAddZeroClass.{u5} Q (AddCommMonoid.toAddMonoid.{u5} Q _inst_12))) (SMulWithZero.toSmulZeroClass.{u4, u5} R Q (MulZeroClass.toHasZero.{u4} R (MulZeroOneClass.toMulZeroClass.{u4} R (MonoidWithZero.toMulZeroOneClass.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)))))) (AddZeroClass.toHasZero.{u5} Q (AddMonoid.toAddZeroClass.{u5} Q (AddCommMonoid.toAddMonoid.{u5} Q _inst_12))) (MulActionWithZero.toSMulWithZero.{u4, u5} R Q (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3))) (AddZeroClass.toHasZero.{u5} Q (AddMonoid.toAddZeroClass.{u5} Q (AddCommMonoid.toAddMonoid.{u5} Q _inst_12))) (Module.toMulActionWithZero.{u4, u5} R Q (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) _inst_12 _inst_14))))] (g : LinearMap.{u4, u4, u1, u5} R R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)))) M Q _inst_1 _inst_12 _inst_6 _inst_14) (x : M), Eq.{succ u5} Q (coeFn.{max (succ u2) (succ u5), max (succ u2) (succ u5)} (LinearMap.{u3, u3, u2, u5} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))) N Q _inst_2 _inst_12 _inst_8 _inst_13) (fun (_x : LinearMap.{u3, u3, u2, u5} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))) N Q _inst_2 _inst_12 _inst_8 _inst_13) => N -> Q) (LinearMap.hasCoeToFun.{u3, u3, u2, u5} S S N Q (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) _inst_2 _inst_12 _inst_8 _inst_13 (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4))))) (IsBaseChange.lift.{u1, u2, u3, u4, u5} R M N S _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 f h Q _inst_12 _inst_13 _inst_14 _inst_15 g) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (LinearMap.{u4, u4, u1, u2} R R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)))) M N _inst_1 _inst_2 _inst_6 _inst_7) (fun (_x : LinearMap.{u4, u4, u1, u2} R R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)))) M N _inst_1 _inst_2 _inst_6 _inst_7) => M -> N) (LinearMap.hasCoeToFun.{u4, u4, u1, u2} R R M N (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) _inst_1 _inst_2 _inst_6 _inst_7 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3))))) f x)) (coeFn.{max (succ u1) (succ u5), max (succ u1) (succ u5)} (LinearMap.{u4, u4, u1, u5} R R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)))) M Q _inst_1 _inst_12 _inst_6 _inst_14) (fun (_x : LinearMap.{u4, u4, u1, u5} R R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)))) M Q _inst_1 _inst_12 _inst_6 _inst_14) => M -> Q) (LinearMap.hasCoeToFun.{u4, u4, u1, u5} R R M Q (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) _inst_1 _inst_12 _inst_6 _inst_14 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3))))) g x)
+but is expected to have type
+  forall {R : Type.{u2}} {M : Type.{u3}} {N : Type.{u4}} {S : Type.{u5}} [_inst_1 : AddCommMonoid.{u3} M] [_inst_2 : AddCommMonoid.{u4} N] [_inst_3 : CommRing.{u2} R] [_inst_4 : CommRing.{u5} S] [_inst_5 : Algebra.{u2, u5} R S (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4))] [_inst_6 : Module.{u2, u3} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_1] [_inst_7 : Module.{u2, u4} R N (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_2] [_inst_8 : Module.{u5, u4} S N (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_2] [_inst_9 : IsScalarTower.{u2, u5, u4} R S N (Algebra.toSMul.{u2, u5} R S (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_5) (SMulZeroClass.toSMul.{u5, u4} S N (AddMonoid.toZero.{u4} N (AddCommMonoid.toAddMonoid.{u4} N _inst_2)) (SMulWithZero.toSMulZeroClass.{u5, u4} S N (CommMonoidWithZero.toZero.{u5} S (CommSemiring.toCommMonoidWithZero.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4))) (AddMonoid.toZero.{u4} N (AddCommMonoid.toAddMonoid.{u4} N _inst_2)) (MulActionWithZero.toSMulWithZero.{u5, u4} S N (Semiring.toMonoidWithZero.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4))) (AddMonoid.toZero.{u4} N (AddCommMonoid.toAddMonoid.{u4} N _inst_2)) (Module.toMulActionWithZero.{u5, u4} S N (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_2 _inst_8)))) (SMulZeroClass.toSMul.{u2, u4} R N (AddMonoid.toZero.{u4} N (AddCommMonoid.toAddMonoid.{u4} N _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u4} R N (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} N (AddCommMonoid.toAddMonoid.{u4} N _inst_2)) (MulActionWithZero.toSMulWithZero.{u2, u4} R N (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} N (AddCommMonoid.toAddMonoid.{u4} N _inst_2)) (Module.toMulActionWithZero.{u2, u4} R N (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_2 _inst_7))))] {f : LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M N _inst_1 _inst_2 _inst_6 _inst_7} (h : IsBaseChange.{u3, u4, u5, u2} R M N S _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 f) {Q : Type.{u1}} [_inst_12 : AddCommMonoid.{u1} Q] [_inst_13 : Module.{u5, u1} S Q (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_12] [_inst_14 : Module.{u2, u1} R Q (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_12] [_inst_15 : IsScalarTower.{u2, u5, u1} R S Q (Algebra.toSMul.{u2, u5} R S (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_5) (SMulZeroClass.toSMul.{u5, u1} S Q (AddMonoid.toZero.{u1} Q (AddCommMonoid.toAddMonoid.{u1} Q _inst_12)) (SMulWithZero.toSMulZeroClass.{u5, u1} S Q (CommMonoidWithZero.toZero.{u5} S (CommSemiring.toCommMonoidWithZero.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4))) (AddMonoid.toZero.{u1} Q (AddCommMonoid.toAddMonoid.{u1} Q _inst_12)) (MulActionWithZero.toSMulWithZero.{u5, u1} S Q (Semiring.toMonoidWithZero.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4))) (AddMonoid.toZero.{u1} Q (AddCommMonoid.toAddMonoid.{u1} Q _inst_12)) (Module.toMulActionWithZero.{u5, u1} S Q (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_12 _inst_13)))) (SMulZeroClass.toSMul.{u2, u1} R Q (AddMonoid.toZero.{u1} Q (AddCommMonoid.toAddMonoid.{u1} Q _inst_12)) (SMulWithZero.toSMulZeroClass.{u2, u1} R Q (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u1} Q (AddCommMonoid.toAddMonoid.{u1} Q _inst_12)) (MulActionWithZero.toSMulWithZero.{u2, u1} R Q (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u1} Q (AddCommMonoid.toAddMonoid.{u1} Q _inst_12)) (Module.toMulActionWithZero.{u2, u1} R Q (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_12 _inst_14))))] (g : LinearMap.{u2, u2, u3, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M Q _inst_1 _inst_12 _inst_6 _inst_14) (x : M), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : N) => Q) (FunLike.coe.{max (succ u3) (succ u4), succ u3, succ u4} (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M N _inst_1 _inst_2 _inst_6 _inst_7) M (fun (a : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => N) a) (LinearMap.instFunLikeLinearMap.{u2, u2, u3, u4} R R M N (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_1 _inst_2 _inst_6 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) f x)) (FunLike.coe.{max (succ u4) (succ u1), succ u4, succ u1} (LinearMap.{u5, u5, u4, u1} S S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) (RingHom.id.{u5} S (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)))) N Q _inst_2 _inst_12 _inst_8 _inst_13) N (fun (_x : N) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : N) => Q) _x) (LinearMap.instFunLikeLinearMap.{u5, u5, u4, u1} S S N Q (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_2 _inst_12 _inst_8 _inst_13 (RingHom.id.{u5} S (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4))))) (IsBaseChange.lift.{u3, u4, u5, u2, u1} R M N S _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 f h Q _inst_12 _inst_13 _inst_14 _inst_15 g) (FunLike.coe.{max (succ u3) (succ u4), succ u3, succ u4} (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M N _inst_1 _inst_2 _inst_6 _inst_7) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => N) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u3, u4} R R M N (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_1 _inst_2 _inst_6 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{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 (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M Q _inst_1 _inst_12 _inst_6 _inst_14) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => Q) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u3, u1} R R M Q (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_1 _inst_12 _inst_6 _inst_14 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) g x)
+Case conversion may be inaccurate. Consider using '#align is_base_change.lift_eq IsBaseChange.lift_eqₓ'. -/
 theorem IsBaseChange.lift_eq (g : M →ₗ[R] Q) (x : M) : h.lift g (f x) = g x :=
   by
   have hF : ∀ (s : S) (m : M), h.lift g (s • f m) = s • g m := h.lift_eq _
   convert hF 1 x <;> rw [one_smul]
 #align is_base_change.lift_eq IsBaseChange.lift_eq
 
+/- warning: is_base_change.lift_comp -> IsBaseChange.lift_comp is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u4}} {M : Type.{u1}} {N : Type.{u2}} {S : Type.{u3}} [_inst_1 : AddCommMonoid.{u1} M] [_inst_2 : AddCommMonoid.{u2} N] [_inst_3 : CommRing.{u4} R] [_inst_4 : CommRing.{u3} S] [_inst_5 : Algebra.{u4, u3} R S (CommRing.toCommSemiring.{u4} R _inst_3) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4))] [_inst_6 : Module.{u4, u1} R M (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) _inst_1] [_inst_7 : Module.{u4, u2} R N (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) _inst_2] [_inst_8 : Module.{u3, u2} S N (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) _inst_2] [_inst_9 : IsScalarTower.{u4, u3, u2} R S N (SMulZeroClass.toHasSmul.{u4, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))))))) (SMulWithZero.toSmulZeroClass.{u4, u3} R S (MulZeroClass.toHasZero.{u4} R (MulZeroOneClass.toMulZeroClass.{u4} R (MonoidWithZero.toMulZeroOneClass.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))))))) (MulActionWithZero.toSMulWithZero.{u4, u3} R S (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))))))) (Module.toMulActionWithZero.{u4, u3} R S (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4))))) (Algebra.toModule.{u4, u3} R S (CommRing.toCommSemiring.{u4} R _inst_3) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) _inst_5))))) (SMulZeroClass.toHasSmul.{u3, u2} S N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_2))) (SMulWithZero.toSmulZeroClass.{u3, u2} S N (MulZeroClass.toHasZero.{u3} S (MulZeroOneClass.toMulZeroClass.{u3} S (MonoidWithZero.toMulZeroOneClass.{u3} S (Semiring.toMonoidWithZero.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))))) (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_2))) (MulActionWithZero.toSMulWithZero.{u3, u2} S N (Semiring.toMonoidWithZero.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4))) (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_2))) (Module.toMulActionWithZero.{u3, u2} S N (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) _inst_2 _inst_8)))) (SMulZeroClass.toHasSmul.{u4, u2} R N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_2))) (SMulWithZero.toSmulZeroClass.{u4, u2} R N (MulZeroClass.toHasZero.{u4} R (MulZeroOneClass.toMulZeroClass.{u4} R (MonoidWithZero.toMulZeroOneClass.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)))))) (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_2))) (MulActionWithZero.toSMulWithZero.{u4, u2} R N (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3))) (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_2))) (Module.toMulActionWithZero.{u4, u2} R N (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) _inst_2 _inst_7))))] {f : LinearMap.{u4, u4, u1, u2} R R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)))) M N _inst_1 _inst_2 _inst_6 _inst_7} (h : IsBaseChange.{u1, u2, u3, u4} R M N S _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 f) {Q : Type.{u5}} [_inst_12 : AddCommMonoid.{u5} Q] [_inst_13 : Module.{u3, u5} S Q (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) _inst_12] [_inst_14 : Module.{u4, u5} R Q (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) _inst_12] [_inst_15 : IsScalarTower.{u4, u3, u5} R S Q (SMulZeroClass.toHasSmul.{u4, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))))))) (SMulWithZero.toSmulZeroClass.{u4, u3} R S (MulZeroClass.toHasZero.{u4} R (MulZeroOneClass.toMulZeroClass.{u4} R (MonoidWithZero.toMulZeroOneClass.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))))))) (MulActionWithZero.toSMulWithZero.{u4, u3} R S (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))))))) (Module.toMulActionWithZero.{u4, u3} R S (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4))))) (Algebra.toModule.{u4, u3} R S (CommRing.toCommSemiring.{u4} R _inst_3) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) _inst_5))))) (SMulZeroClass.toHasSmul.{u3, u5} S Q (AddZeroClass.toHasZero.{u5} Q (AddMonoid.toAddZeroClass.{u5} Q (AddCommMonoid.toAddMonoid.{u5} Q _inst_12))) (SMulWithZero.toSmulZeroClass.{u3, u5} S Q (MulZeroClass.toHasZero.{u3} S (MulZeroOneClass.toMulZeroClass.{u3} S (MonoidWithZero.toMulZeroOneClass.{u3} S (Semiring.toMonoidWithZero.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))))) (AddZeroClass.toHasZero.{u5} Q (AddMonoid.toAddZeroClass.{u5} Q (AddCommMonoid.toAddMonoid.{u5} Q _inst_12))) (MulActionWithZero.toSMulWithZero.{u3, u5} S Q (Semiring.toMonoidWithZero.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4))) (AddZeroClass.toHasZero.{u5} Q (AddMonoid.toAddZeroClass.{u5} Q (AddCommMonoid.toAddMonoid.{u5} Q _inst_12))) (Module.toMulActionWithZero.{u3, u5} S Q (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) _inst_12 _inst_13)))) (SMulZeroClass.toHasSmul.{u4, u5} R Q (AddZeroClass.toHasZero.{u5} Q (AddMonoid.toAddZeroClass.{u5} Q (AddCommMonoid.toAddMonoid.{u5} Q _inst_12))) (SMulWithZero.toSmulZeroClass.{u4, u5} R Q (MulZeroClass.toHasZero.{u4} R (MulZeroOneClass.toMulZeroClass.{u4} R (MonoidWithZero.toMulZeroOneClass.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)))))) (AddZeroClass.toHasZero.{u5} Q (AddMonoid.toAddZeroClass.{u5} Q (AddCommMonoid.toAddMonoid.{u5} Q _inst_12))) (MulActionWithZero.toSMulWithZero.{u4, u5} R Q (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3))) (AddZeroClass.toHasZero.{u5} Q (AddMonoid.toAddZeroClass.{u5} Q (AddCommMonoid.toAddMonoid.{u5} Q _inst_12))) (Module.toMulActionWithZero.{u4, u5} R Q (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) _inst_12 _inst_14))))] (g : LinearMap.{u4, u4, u1, u5} R R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)))) M Q _inst_1 _inst_12 _inst_6 _inst_14), Eq.{max (succ u1) (succ u5)} (LinearMap.{u4, u4, u1, u5} R R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)))) M Q _inst_1 _inst_12 _inst_6 _inst_14) (LinearMap.comp.{u4, u4, u4, u1, u2, u5} R R R M N Q (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) _inst_1 _inst_2 _inst_12 _inst_6 _inst_7 _inst_14 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)))) (RingHomCompTriple.right_ids.{u4, u4} R R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3))))) (LinearMap.restrictScalars.{u4, u3, u2, u5} R S N Q (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) _inst_2 _inst_12 _inst_7 _inst_14 _inst_8 _inst_13 (LinearMap.IsScalarTower.compatibleSMul.{u2, u5, u4, u3} N Q _inst_2 _inst_12 R S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) (SMulZeroClass.toHasSmul.{u4, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))))))) (SMulWithZero.toSmulZeroClass.{u4, u3} R S (MulZeroClass.toHasZero.{u4} R (MulZeroOneClass.toMulZeroClass.{u4} R (MonoidWithZero.toMulZeroOneClass.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))))))) (MulActionWithZero.toSMulWithZero.{u4, u3} R S (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))))))) (Module.toMulActionWithZero.{u4, u3} R S (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4))))) (Algebra.toModule.{u4, u3} R S (CommRing.toCommSemiring.{u4} R _inst_3) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) _inst_5))))) (SMulZeroClass.toHasSmul.{u4, u2} R N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_2))) (SMulWithZero.toSmulZeroClass.{u4, u2} R N (MulZeroClass.toHasZero.{u4} R (MulZeroOneClass.toMulZeroClass.{u4} R (MonoidWithZero.toMulZeroOneClass.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)))))) (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_2))) (MulActionWithZero.toSMulWithZero.{u4, u2} R N (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3))) (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_2))) (Module.toMulActionWithZero.{u4, u2} R N (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) _inst_2 _inst_7)))) _inst_8 _inst_9 (SMulZeroClass.toHasSmul.{u4, u5} R Q (AddZeroClass.toHasZero.{u5} Q (AddMonoid.toAddZeroClass.{u5} Q (AddCommMonoid.toAddMonoid.{u5} Q _inst_12))) (SMulWithZero.toSmulZeroClass.{u4, u5} R Q (MulZeroClass.toHasZero.{u4} R (MulZeroOneClass.toMulZeroClass.{u4} R (MonoidWithZero.toMulZeroOneClass.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)))))) (AddZeroClass.toHasZero.{u5} Q (AddMonoid.toAddZeroClass.{u5} Q (AddCommMonoid.toAddMonoid.{u5} Q _inst_12))) (MulActionWithZero.toSMulWithZero.{u4, u5} R Q (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3))) (AddZeroClass.toHasZero.{u5} Q (AddMonoid.toAddZeroClass.{u5} Q (AddCommMonoid.toAddMonoid.{u5} Q _inst_12))) (Module.toMulActionWithZero.{u4, u5} R Q (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) _inst_12 _inst_14)))) _inst_13 _inst_15) (IsBaseChange.lift.{u1, u2, u3, u4, u5} R M N S _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 f h Q _inst_12 _inst_13 _inst_14 _inst_15 g)) f) g
+but is expected to have type
+  forall {R : Type.{u2}} {M : Type.{u3}} {N : Type.{u4}} {S : Type.{u5}} [_inst_1 : AddCommMonoid.{u3} M] [_inst_2 : AddCommMonoid.{u4} N] [_inst_3 : CommRing.{u2} R] [_inst_4 : CommRing.{u5} S] [_inst_5 : Algebra.{u2, u5} R S (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4))] [_inst_6 : Module.{u2, u3} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_1] [_inst_7 : Module.{u2, u4} R N (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_2] [_inst_8 : Module.{u5, u4} S N (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_2] [_inst_9 : IsScalarTower.{u2, u5, u4} R S N (Algebra.toSMul.{u2, u5} R S (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_5) (SMulZeroClass.toSMul.{u5, u4} S N (AddMonoid.toZero.{u4} N (AddCommMonoid.toAddMonoid.{u4} N _inst_2)) (SMulWithZero.toSMulZeroClass.{u5, u4} S N (CommMonoidWithZero.toZero.{u5} S (CommSemiring.toCommMonoidWithZero.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4))) (AddMonoid.toZero.{u4} N (AddCommMonoid.toAddMonoid.{u4} N _inst_2)) (MulActionWithZero.toSMulWithZero.{u5, u4} S N (Semiring.toMonoidWithZero.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4))) (AddMonoid.toZero.{u4} N (AddCommMonoid.toAddMonoid.{u4} N _inst_2)) (Module.toMulActionWithZero.{u5, u4} S N (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_2 _inst_8)))) (SMulZeroClass.toSMul.{u2, u4} R N (AddMonoid.toZero.{u4} N (AddCommMonoid.toAddMonoid.{u4} N _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u4} R N (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} N (AddCommMonoid.toAddMonoid.{u4} N _inst_2)) (MulActionWithZero.toSMulWithZero.{u2, u4} R N (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} N (AddCommMonoid.toAddMonoid.{u4} N _inst_2)) (Module.toMulActionWithZero.{u2, u4} R N (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_2 _inst_7))))] {f : LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M N _inst_1 _inst_2 _inst_6 _inst_7} (h : IsBaseChange.{u3, u4, u5, u2} R M N S _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 f) {Q : Type.{u1}} [_inst_12 : AddCommMonoid.{u1} Q] [_inst_13 : Module.{u5, u1} S Q (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_12] [_inst_14 : Module.{u2, u1} R Q (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_12] [_inst_15 : IsScalarTower.{u2, u5, u1} R S Q (Algebra.toSMul.{u2, u5} R S (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_5) (SMulZeroClass.toSMul.{u5, u1} S Q (AddMonoid.toZero.{u1} Q (AddCommMonoid.toAddMonoid.{u1} Q _inst_12)) (SMulWithZero.toSMulZeroClass.{u5, u1} S Q (CommMonoidWithZero.toZero.{u5} S (CommSemiring.toCommMonoidWithZero.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4))) (AddMonoid.toZero.{u1} Q (AddCommMonoid.toAddMonoid.{u1} Q _inst_12)) (MulActionWithZero.toSMulWithZero.{u5, u1} S Q (Semiring.toMonoidWithZero.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4))) (AddMonoid.toZero.{u1} Q (AddCommMonoid.toAddMonoid.{u1} Q _inst_12)) (Module.toMulActionWithZero.{u5, u1} S Q (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_12 _inst_13)))) (SMulZeroClass.toSMul.{u2, u1} R Q (AddMonoid.toZero.{u1} Q (AddCommMonoid.toAddMonoid.{u1} Q _inst_12)) (SMulWithZero.toSMulZeroClass.{u2, u1} R Q (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u1} Q (AddCommMonoid.toAddMonoid.{u1} Q _inst_12)) (MulActionWithZero.toSMulWithZero.{u2, u1} R Q (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u1} Q (AddCommMonoid.toAddMonoid.{u1} Q _inst_12)) (Module.toMulActionWithZero.{u2, u1} R Q (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_12 _inst_14))))] (g : LinearMap.{u2, u2, u3, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M Q _inst_1 _inst_12 _inst_6 _inst_14), Eq.{max (succ u3) (succ u1)} (LinearMap.{u2, u2, u3, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M Q _inst_1 _inst_12 _inst_6 _inst_14) (LinearMap.comp.{u2, u2, u2, u3, u4, u1} R R R M N Q (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_1 _inst_2 _inst_12 _inst_6 _inst_7 _inst_14 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomCompTriple.ids.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (LinearMap.restrictScalars.{u2, u5, u4, u1} R S N Q (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_2 _inst_12 _inst_7 _inst_14 _inst_8 _inst_13 (LinearMap.IsScalarTower.compatibleSMul.{u4, u1, u2, u5} N Q _inst_2 _inst_12 R S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) (Algebra.toSMul.{u2, u5} R S (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_5) (SMulZeroClass.toSMul.{u2, u4} R N (AddMonoid.toZero.{u4} N (AddCommMonoid.toAddMonoid.{u4} N _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u4} R N (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (AddMonoid.toZero.{u4} N (AddCommMonoid.toAddMonoid.{u4} N _inst_2)) (MulActionWithZero.toSMulWithZero.{u2, u4} R N (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} N (AddCommMonoid.toAddMonoid.{u4} N _inst_2)) (Module.toMulActionWithZero.{u2, u4} R N (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_2 _inst_7)))) _inst_8 _inst_9 (SMulZeroClass.toSMul.{u2, u1} R Q (AddMonoid.toZero.{u1} Q (AddCommMonoid.toAddMonoid.{u1} Q _inst_12)) (SMulWithZero.toSMulZeroClass.{u2, u1} R Q (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (AddMonoid.toZero.{u1} Q (AddCommMonoid.toAddMonoid.{u1} Q _inst_12)) (MulActionWithZero.toSMulWithZero.{u2, u1} R Q (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u1} Q (AddCommMonoid.toAddMonoid.{u1} Q _inst_12)) (Module.toMulActionWithZero.{u2, u1} R Q (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_12 _inst_14)))) _inst_13 _inst_15) (IsBaseChange.lift.{u3, u4, u5, u2, u1} R M N S _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 f h Q _inst_12 _inst_13 _inst_14 _inst_15 g)) f) g
+Case conversion may be inaccurate. Consider using '#align is_base_change.lift_comp IsBaseChange.lift_compₓ'. -/
 theorem IsBaseChange.lift_comp (g : M →ₗ[R] Q) : ((h.lift g).restrictScalars R).comp f = g :=
   LinearMap.ext (h.liftEq g)
 #align is_base_change.lift_comp IsBaseChange.lift_comp
@@ -208,12 +268,24 @@ end
 
 include h
 
+/- warning: is_base_change.induction_on -> IsBaseChange.inductionOn is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u4}} {M : Type.{u1}} {N : Type.{u2}} {S : Type.{u3}} [_inst_1 : AddCommMonoid.{u1} M] [_inst_2 : AddCommMonoid.{u2} N] [_inst_3 : CommRing.{u4} R] [_inst_4 : CommRing.{u3} S] [_inst_5 : Algebra.{u4, u3} R S (CommRing.toCommSemiring.{u4} R _inst_3) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4))] [_inst_6 : Module.{u4, u1} R M (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) _inst_1] [_inst_7 : Module.{u4, u2} R N (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) _inst_2] [_inst_8 : Module.{u3, u2} S N (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) _inst_2] [_inst_9 : IsScalarTower.{u4, u3, u2} R S N (SMulZeroClass.toHasSmul.{u4, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))))))) (SMulWithZero.toSmulZeroClass.{u4, u3} R S (MulZeroClass.toHasZero.{u4} R (MulZeroOneClass.toMulZeroClass.{u4} R (MonoidWithZero.toMulZeroOneClass.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))))))) (MulActionWithZero.toSMulWithZero.{u4, u3} R S (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))))))) (Module.toMulActionWithZero.{u4, u3} R S (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4))))) (Algebra.toModule.{u4, u3} R S (CommRing.toCommSemiring.{u4} R _inst_3) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) _inst_5))))) (SMulZeroClass.toHasSmul.{u3, u2} S N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_2))) (SMulWithZero.toSmulZeroClass.{u3, u2} S N (MulZeroClass.toHasZero.{u3} S (MulZeroOneClass.toMulZeroClass.{u3} S (MonoidWithZero.toMulZeroOneClass.{u3} S (Semiring.toMonoidWithZero.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))))) (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_2))) (MulActionWithZero.toSMulWithZero.{u3, u2} S N (Semiring.toMonoidWithZero.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4))) (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_2))) (Module.toMulActionWithZero.{u3, u2} S N (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) _inst_2 _inst_8)))) (SMulZeroClass.toHasSmul.{u4, u2} R N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_2))) (SMulWithZero.toSmulZeroClass.{u4, u2} R N (MulZeroClass.toHasZero.{u4} R (MulZeroOneClass.toMulZeroClass.{u4} R (MonoidWithZero.toMulZeroOneClass.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)))))) (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_2))) (MulActionWithZero.toSMulWithZero.{u4, u2} R N (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3))) (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_2))) (Module.toMulActionWithZero.{u4, u2} R N (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) _inst_2 _inst_7))))] {f : LinearMap.{u4, u4, u1, u2} R R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)))) M N _inst_1 _inst_2 _inst_6 _inst_7}, (IsBaseChange.{u1, u2, u3, u4} R M N S _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 f) -> (forall (x : N) (P : N -> Prop), (P (OfNat.ofNat.{u2} N 0 (OfNat.mk.{u2} N 0 (Zero.zero.{u2} N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_2))))))) -> (forall (m : M), P (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (LinearMap.{u4, u4, u1, u2} R R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)))) M N _inst_1 _inst_2 _inst_6 _inst_7) (fun (_x : LinearMap.{u4, u4, u1, u2} R R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)))) M N _inst_1 _inst_2 _inst_6 _inst_7) => M -> N) (LinearMap.hasCoeToFun.{u4, u4, u1, u2} R R M N (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) _inst_1 _inst_2 _inst_6 _inst_7 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3))))) f m)) -> (forall (s : S) (n : N), (P n) -> (P (SMul.smul.{u3, u2} S N (SMulZeroClass.toHasSmul.{u3, u2} S N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_2))) (SMulWithZero.toSmulZeroClass.{u3, u2} S N (MulZeroClass.toHasZero.{u3} S (MulZeroOneClass.toMulZeroClass.{u3} S (MonoidWithZero.toMulZeroOneClass.{u3} S (Semiring.toMonoidWithZero.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))))) (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_2))) (MulActionWithZero.toSMulWithZero.{u3, u2} S N (Semiring.toMonoidWithZero.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4))) (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_2))) (Module.toMulActionWithZero.{u3, u2} S N (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) _inst_2 _inst_8)))) s n))) -> (forall (n₁ : N) (n₂ : N), (P n₁) -> (P n₂) -> (P (HAdd.hAdd.{u2, u2, u2} N N N (instHAdd.{u2} N (AddZeroClass.toHasAdd.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_2)))) n₁ n₂))) -> (P x))
+but is expected to have type
+  forall {R : Type.{u1}} {M : Type.{u2}} {N : Type.{u3}} {S : Type.{u4}} [_inst_1 : AddCommMonoid.{u2} M] [_inst_2 : AddCommMonoid.{u3} N] [_inst_3 : CommRing.{u1} R] [_inst_4 : CommRing.{u4} S] [_inst_5 : Algebra.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4))] [_inst_6 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) _inst_1] [_inst_7 : Module.{u1, u3} R N (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) _inst_2] [_inst_8 : Module.{u4, u3} S N (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_2] [_inst_9 : IsScalarTower.{u1, u4, u3} R S N (Algebra.toSMul.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) (SMulZeroClass.toSMul.{u4, u3} S N (AddMonoid.toZero.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_2)) (SMulWithZero.toSMulZeroClass.{u4, u3} S N (CommMonoidWithZero.toZero.{u4} S (CommSemiring.toCommMonoidWithZero.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4))) (AddMonoid.toZero.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_2)) (MulActionWithZero.toSMulWithZero.{u4, u3} S N (Semiring.toMonoidWithZero.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4))) (AddMonoid.toZero.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_2)) (Module.toMulActionWithZero.{u4, u3} S N (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_2 _inst_8)))) (SMulZeroClass.toSMul.{u1, u3} R N (AddMonoid.toZero.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u3} R N (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3))) (AddMonoid.toZero.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u3} R N (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3))) (AddMonoid.toZero.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_2)) (Module.toMulActionWithZero.{u1, u3} R N (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) _inst_2 _inst_7))))] {f : LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)))) M N _inst_1 _inst_2 _inst_6 _inst_7}, (IsBaseChange.{u2, u3, u4, u1} R M N S _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 f) -> (forall (x : N) (P : N -> Prop), (P (OfNat.ofNat.{u3} N 0 (Zero.toOfNat0.{u3} N (AddMonoid.toZero.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_2))))) -> (forall (m : M), P (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)))) M N _inst_1 _inst_2 _inst_6 _inst_7) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => N) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u3} R R M N (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) _inst_1 _inst_2 _inst_6 _inst_7 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3))))) f m)) -> (forall (s : S) (n : N), (P n) -> (P (HSMul.hSMul.{u4, u3, u3} S N N (instHSMul.{u4, u3} S N (SMulZeroClass.toSMul.{u4, u3} S N (AddMonoid.toZero.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_2)) (SMulWithZero.toSMulZeroClass.{u4, u3} S N (CommMonoidWithZero.toZero.{u4} S (CommSemiring.toCommMonoidWithZero.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4))) (AddMonoid.toZero.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_2)) (MulActionWithZero.toSMulWithZero.{u4, u3} S N (Semiring.toMonoidWithZero.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4))) (AddMonoid.toZero.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_2)) (Module.toMulActionWithZero.{u4, u3} S N (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_2 _inst_8))))) s n))) -> (forall (n₁ : N) (n₂ : N), (P n₁) -> (P n₂) -> (P (HAdd.hAdd.{u3, u3, u3} N N N (instHAdd.{u3} N (AddZeroClass.toAdd.{u3} N (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_2)))) n₁ n₂))) -> (P x))
+Case conversion may be inaccurate. Consider using '#align is_base_change.induction_on IsBaseChange.inductionOnₓ'. -/
 @[elab_as_elim]
 theorem IsBaseChange.inductionOn (x : N) (P : N → Prop) (h₁ : P 0) (h₂ : ∀ m : M, P (f m))
     (h₃ : ∀ (s : S) (n), P n → P (s • n)) (h₄ : ∀ n₁ n₂, P n₁ → P n₂ → P (n₁ + n₂)) : P x :=
   h.inductionOn x h₁ (fun s y => h₃ _ _ (h₂ _)) h₄
 #align is_base_change.induction_on IsBaseChange.inductionOn
 
+/- warning: is_base_change.alg_hom_ext -> IsBaseChange.alg_hom_ext is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u4}} {M : Type.{u1}} {N : Type.{u2}} {S : Type.{u3}} [_inst_1 : AddCommMonoid.{u1} M] [_inst_2 : AddCommMonoid.{u2} N] [_inst_3 : CommRing.{u4} R] [_inst_4 : CommRing.{u3} S] [_inst_5 : Algebra.{u4, u3} R S (CommRing.toCommSemiring.{u4} R _inst_3) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4))] [_inst_6 : Module.{u4, u1} R M (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) _inst_1] [_inst_7 : Module.{u4, u2} R N (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) _inst_2] [_inst_8 : Module.{u3, u2} S N (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) _inst_2] [_inst_9 : IsScalarTower.{u4, u3, u2} R S N (SMulZeroClass.toHasSmul.{u4, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))))))) (SMulWithZero.toSmulZeroClass.{u4, u3} R S (MulZeroClass.toHasZero.{u4} R (MulZeroOneClass.toMulZeroClass.{u4} R (MonoidWithZero.toMulZeroOneClass.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))))))) (MulActionWithZero.toSMulWithZero.{u4, u3} R S (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))))))) (Module.toMulActionWithZero.{u4, u3} R S (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4))))) (Algebra.toModule.{u4, u3} R S (CommRing.toCommSemiring.{u4} R _inst_3) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) _inst_5))))) (SMulZeroClass.toHasSmul.{u3, u2} S N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_2))) (SMulWithZero.toSmulZeroClass.{u3, u2} S N (MulZeroClass.toHasZero.{u3} S (MulZeroOneClass.toMulZeroClass.{u3} S (MonoidWithZero.toMulZeroOneClass.{u3} S (Semiring.toMonoidWithZero.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))))) (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_2))) (MulActionWithZero.toSMulWithZero.{u3, u2} S N (Semiring.toMonoidWithZero.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4))) (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_2))) (Module.toMulActionWithZero.{u3, u2} S N (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) _inst_2 _inst_8)))) (SMulZeroClass.toHasSmul.{u4, u2} R N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_2))) (SMulWithZero.toSmulZeroClass.{u4, u2} R N (MulZeroClass.toHasZero.{u4} R (MulZeroOneClass.toMulZeroClass.{u4} R (MonoidWithZero.toMulZeroOneClass.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)))))) (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_2))) (MulActionWithZero.toSMulWithZero.{u4, u2} R N (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3))) (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_2))) (Module.toMulActionWithZero.{u4, u2} R N (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) _inst_2 _inst_7))))] {f : LinearMap.{u4, u4, u1, u2} R R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)))) M N _inst_1 _inst_2 _inst_6 _inst_7}, (IsBaseChange.{u1, u2, u3, u4} R M N S _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 f) -> (forall {Q : Type.{u5}} [_inst_12 : AddCommMonoid.{u5} Q] [_inst_13 : Module.{u3, u5} S Q (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) _inst_12] (g₁ : LinearMap.{u3, u3, u2, u5} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))) N Q _inst_2 _inst_12 _inst_8 _inst_13) (g₂ : LinearMap.{u3, u3, u2, u5} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))) N Q _inst_2 _inst_12 _inst_8 _inst_13), (forall (x : M), Eq.{succ u5} Q (coeFn.{max (succ u2) (succ u5), max (succ u2) (succ u5)} (LinearMap.{u3, u3, u2, u5} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))) N Q _inst_2 _inst_12 _inst_8 _inst_13) (fun (_x : LinearMap.{u3, u3, u2, u5} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))) N Q _inst_2 _inst_12 _inst_8 _inst_13) => N -> Q) (LinearMap.hasCoeToFun.{u3, u3, u2, u5} S S N Q (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) _inst_2 _inst_12 _inst_8 _inst_13 (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4))))) g₁ (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (LinearMap.{u4, u4, u1, u2} R R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)))) M N _inst_1 _inst_2 _inst_6 _inst_7) (fun (_x : LinearMap.{u4, u4, u1, u2} R R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)))) M N _inst_1 _inst_2 _inst_6 _inst_7) => M -> N) (LinearMap.hasCoeToFun.{u4, u4, u1, u2} R R M N (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) _inst_1 _inst_2 _inst_6 _inst_7 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3))))) f x)) (coeFn.{max (succ u2) (succ u5), max (succ u2) (succ u5)} (LinearMap.{u3, u3, u2, u5} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))) N Q _inst_2 _inst_12 _inst_8 _inst_13) (fun (_x : LinearMap.{u3, u3, u2, u5} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))) N Q _inst_2 _inst_12 _inst_8 _inst_13) => N -> Q) (LinearMap.hasCoeToFun.{u3, u3, u2, u5} S S N Q (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) _inst_2 _inst_12 _inst_8 _inst_13 (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4))))) g₂ (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (LinearMap.{u4, u4, u1, u2} R R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)))) M N _inst_1 _inst_2 _inst_6 _inst_7) (fun (_x : LinearMap.{u4, u4, u1, u2} R R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)))) M N _inst_1 _inst_2 _inst_6 _inst_7) => M -> N) (LinearMap.hasCoeToFun.{u4, u4, u1, u2} R R M N (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) _inst_1 _inst_2 _inst_6 _inst_7 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3))))) f x))) -> (Eq.{max (succ u2) (succ u5)} (LinearMap.{u3, u3, u2, u5} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))) N Q _inst_2 _inst_12 _inst_8 _inst_13) g₁ g₂))
+but is expected to have type
+  forall {R : Type.{u1}} {M : Type.{u3}} {N : Type.{u4}} {S : Type.{u5}} [_inst_1 : AddCommMonoid.{u3} M] [_inst_2 : AddCommMonoid.{u4} N] [_inst_3 : CommRing.{u1} R] [_inst_4 : CommRing.{u5} S] [_inst_5 : Algebra.{u1, u5} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4))] [_inst_6 : Module.{u1, u3} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) _inst_1] [_inst_7 : Module.{u1, u4} R N (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) _inst_2] [_inst_8 : Module.{u5, u4} S N (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_2] [_inst_9 : IsScalarTower.{u1, u5, u4} R S N (Algebra.toSMul.{u1, u5} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_5) (SMulZeroClass.toSMul.{u5, u4} S N (AddMonoid.toZero.{u4} N (AddCommMonoid.toAddMonoid.{u4} N _inst_2)) (SMulWithZero.toSMulZeroClass.{u5, u4} S N (CommMonoidWithZero.toZero.{u5} S (CommSemiring.toCommMonoidWithZero.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4))) (AddMonoid.toZero.{u4} N (AddCommMonoid.toAddMonoid.{u4} N _inst_2)) (MulActionWithZero.toSMulWithZero.{u5, u4} S N (Semiring.toMonoidWithZero.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4))) (AddMonoid.toZero.{u4} N (AddCommMonoid.toAddMonoid.{u4} N _inst_2)) (Module.toMulActionWithZero.{u5, u4} S N (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_2 _inst_8)))) (SMulZeroClass.toSMul.{u1, u4} R N (AddMonoid.toZero.{u4} N (AddCommMonoid.toAddMonoid.{u4} N _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u4} R N (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3))) (AddMonoid.toZero.{u4} N (AddCommMonoid.toAddMonoid.{u4} N _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u4} R N (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3))) (AddMonoid.toZero.{u4} N (AddCommMonoid.toAddMonoid.{u4} N _inst_2)) (Module.toMulActionWithZero.{u1, u4} R N (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) _inst_2 _inst_7))))] {f : LinearMap.{u1, u1, u3, u4} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)))) M N _inst_1 _inst_2 _inst_6 _inst_7}, (IsBaseChange.{u3, u4, u5, u1} R M N S _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 f) -> (forall {Q : Type.{u2}} [_inst_12 : AddCommMonoid.{u2} Q] [_inst_13 : Module.{u5, u2} S Q (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_12] (g₁ : LinearMap.{u5, u5, u4, u2} S S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) (RingHom.id.{u5} S (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)))) N Q _inst_2 _inst_12 _inst_8 _inst_13) (g₂ : LinearMap.{u5, u5, u4, u2} S S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) (RingHom.id.{u5} S (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)))) N Q _inst_2 _inst_12 _inst_8 _inst_13), (forall (x : M), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : N) => Q) (FunLike.coe.{max (succ u3) (succ u4), succ u3, succ u4} (LinearMap.{u1, u1, u3, u4} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)))) M N _inst_1 _inst_2 _inst_6 _inst_7) M (fun (a : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => N) a) (LinearMap.instFunLikeLinearMap.{u1, u1, u3, u4} R R M N (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) _inst_1 _inst_2 _inst_6 _inst_7 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3))))) f x)) (FunLike.coe.{max (succ u4) (succ u2), succ u4, succ u2} (LinearMap.{u5, u5, u4, u2} S S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) (RingHom.id.{u5} S (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)))) N Q _inst_2 _inst_12 _inst_8 _inst_13) N (fun (_x : N) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : N) => Q) _x) (LinearMap.instFunLikeLinearMap.{u5, u5, u4, u2} S S N Q (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_2 _inst_12 _inst_8 _inst_13 (RingHom.id.{u5} S (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4))))) g₁ (FunLike.coe.{max (succ u3) (succ u4), succ u3, succ u4} (LinearMap.{u1, u1, u3, u4} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)))) M N _inst_1 _inst_2 _inst_6 _inst_7) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => N) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u3, u4} R R M N (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) _inst_1 _inst_2 _inst_6 _inst_7 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3))))) f x)) (FunLike.coe.{max (succ u4) (succ u2), succ u4, succ u2} (LinearMap.{u5, u5, u4, u2} S S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) (RingHom.id.{u5} S (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)))) N Q _inst_2 _inst_12 _inst_8 _inst_13) N (fun (_x : N) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : N) => Q) _x) (LinearMap.instFunLikeLinearMap.{u5, u5, u4, u2} S S N Q (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_2 _inst_12 _inst_8 _inst_13 (RingHom.id.{u5} S (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4))))) g₂ (FunLike.coe.{max (succ u3) (succ u4), succ u3, succ u4} (LinearMap.{u1, u1, u3, u4} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)))) M N _inst_1 _inst_2 _inst_6 _inst_7) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => N) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u3, u4} R R M N (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) _inst_1 _inst_2 _inst_6 _inst_7 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3))))) f x))) -> (Eq.{max (succ u4) (succ u2)} (LinearMap.{u5, u5, u4, u2} S S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) (RingHom.id.{u5} S (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)))) N Q _inst_2 _inst_12 _inst_8 _inst_13) g₁ g₂))
+Case conversion may be inaccurate. Consider using '#align is_base_change.alg_hom_ext IsBaseChange.alg_hom_extₓ'. -/
 theorem IsBaseChange.alg_hom_ext (g₁ g₂ : N →ₗ[S] Q) (e : ∀ x, g₁ (f x) = g₂ (f x)) : g₁ = g₂ :=
   by
   ext x
@@ -226,6 +298,12 @@ theorem IsBaseChange.alg_hom_ext (g₁ g₂ : N →ₗ[S] Q) (e : ∀ x, g₁ (f
     rw [map_add, map_add, e₁, e₂]
 #align is_base_change.alg_hom_ext IsBaseChange.alg_hom_ext
 
+/- warning: is_base_change.alg_hom_ext' -> IsBaseChange.alg_hom_ext' is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u4}} {M : Type.{u1}} {N : Type.{u2}} {S : Type.{u3}} [_inst_1 : AddCommMonoid.{u1} M] [_inst_2 : AddCommMonoid.{u2} N] [_inst_3 : CommRing.{u4} R] [_inst_4 : CommRing.{u3} S] [_inst_5 : Algebra.{u4, u3} R S (CommRing.toCommSemiring.{u4} R _inst_3) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4))] [_inst_6 : Module.{u4, u1} R M (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) _inst_1] [_inst_7 : Module.{u4, u2} R N (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) _inst_2] [_inst_8 : Module.{u3, u2} S N (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) _inst_2] [_inst_9 : IsScalarTower.{u4, u3, u2} R S N (SMulZeroClass.toHasSmul.{u4, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))))))) (SMulWithZero.toSmulZeroClass.{u4, u3} R S (MulZeroClass.toHasZero.{u4} R (MulZeroOneClass.toMulZeroClass.{u4} R (MonoidWithZero.toMulZeroOneClass.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))))))) (MulActionWithZero.toSMulWithZero.{u4, u3} R S (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))))))) (Module.toMulActionWithZero.{u4, u3} R S (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4))))) (Algebra.toModule.{u4, u3} R S (CommRing.toCommSemiring.{u4} R _inst_3) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) _inst_5))))) (SMulZeroClass.toHasSmul.{u3, u2} S N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_2))) (SMulWithZero.toSmulZeroClass.{u3, u2} S N (MulZeroClass.toHasZero.{u3} S (MulZeroOneClass.toMulZeroClass.{u3} S (MonoidWithZero.toMulZeroOneClass.{u3} S (Semiring.toMonoidWithZero.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))))) (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_2))) (MulActionWithZero.toSMulWithZero.{u3, u2} S N (Semiring.toMonoidWithZero.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4))) (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_2))) (Module.toMulActionWithZero.{u3, u2} S N (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) _inst_2 _inst_8)))) (SMulZeroClass.toHasSmul.{u4, u2} R N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_2))) (SMulWithZero.toSmulZeroClass.{u4, u2} R N (MulZeroClass.toHasZero.{u4} R (MulZeroOneClass.toMulZeroClass.{u4} R (MonoidWithZero.toMulZeroOneClass.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)))))) (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_2))) (MulActionWithZero.toSMulWithZero.{u4, u2} R N (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3))) (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_2))) (Module.toMulActionWithZero.{u4, u2} R N (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) _inst_2 _inst_7))))] {f : LinearMap.{u4, u4, u1, u2} R R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)))) M N _inst_1 _inst_2 _inst_6 _inst_7}, (IsBaseChange.{u1, u2, u3, u4} R M N S _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 f) -> (forall {Q : Type.{u5}} [_inst_12 : AddCommMonoid.{u5} Q] [_inst_13 : Module.{u3, u5} S Q (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) _inst_12] [_inst_14 : Module.{u4, u5} R Q (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) _inst_12] [_inst_15 : IsScalarTower.{u4, u3, u5} R S Q (SMulZeroClass.toHasSmul.{u4, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))))))) (SMulWithZero.toSmulZeroClass.{u4, u3} R S (MulZeroClass.toHasZero.{u4} R (MulZeroOneClass.toMulZeroClass.{u4} R (MonoidWithZero.toMulZeroOneClass.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))))))) (MulActionWithZero.toSMulWithZero.{u4, u3} R S (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))))))) (Module.toMulActionWithZero.{u4, u3} R S (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4))))) (Algebra.toModule.{u4, u3} R S (CommRing.toCommSemiring.{u4} R _inst_3) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) _inst_5))))) (SMulZeroClass.toHasSmul.{u3, u5} S Q (AddZeroClass.toHasZero.{u5} Q (AddMonoid.toAddZeroClass.{u5} Q (AddCommMonoid.toAddMonoid.{u5} Q _inst_12))) (SMulWithZero.toSmulZeroClass.{u3, u5} S Q (MulZeroClass.toHasZero.{u3} S (MulZeroOneClass.toMulZeroClass.{u3} S (MonoidWithZero.toMulZeroOneClass.{u3} S (Semiring.toMonoidWithZero.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))))) (AddZeroClass.toHasZero.{u5} Q (AddMonoid.toAddZeroClass.{u5} Q (AddCommMonoid.toAddMonoid.{u5} Q _inst_12))) (MulActionWithZero.toSMulWithZero.{u3, u5} S Q (Semiring.toMonoidWithZero.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4))) (AddZeroClass.toHasZero.{u5} Q (AddMonoid.toAddZeroClass.{u5} Q (AddCommMonoid.toAddMonoid.{u5} Q _inst_12))) (Module.toMulActionWithZero.{u3, u5} S Q (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) _inst_12 _inst_13)))) (SMulZeroClass.toHasSmul.{u4, u5} R Q (AddZeroClass.toHasZero.{u5} Q (AddMonoid.toAddZeroClass.{u5} Q (AddCommMonoid.toAddMonoid.{u5} Q _inst_12))) (SMulWithZero.toSmulZeroClass.{u4, u5} R Q (MulZeroClass.toHasZero.{u4} R (MulZeroOneClass.toMulZeroClass.{u4} R (MonoidWithZero.toMulZeroOneClass.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)))))) (AddZeroClass.toHasZero.{u5} Q (AddMonoid.toAddZeroClass.{u5} Q (AddCommMonoid.toAddMonoid.{u5} Q _inst_12))) (MulActionWithZero.toSMulWithZero.{u4, u5} R Q (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3))) (AddZeroClass.toHasZero.{u5} Q (AddMonoid.toAddZeroClass.{u5} Q (AddCommMonoid.toAddMonoid.{u5} Q _inst_12))) (Module.toMulActionWithZero.{u4, u5} R Q (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) _inst_12 _inst_14))))] (g₁ : LinearMap.{u3, u3, u2, u5} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))) N Q _inst_2 _inst_12 _inst_8 _inst_13) (g₂ : LinearMap.{u3, u3, u2, u5} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))) N Q _inst_2 _inst_12 _inst_8 _inst_13), (Eq.{max (succ u1) (succ u5)} (LinearMap.{u4, u4, u1, u5} R R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)))) M Q _inst_1 _inst_12 _inst_6 _inst_14) (LinearMap.comp.{u4, u4, u4, u1, u2, u5} R R R M N Q (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) _inst_1 _inst_2 _inst_12 _inst_6 _inst_7 _inst_14 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)))) (RingHomCompTriple.right_ids.{u4, u4} R R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3))))) (LinearMap.restrictScalars.{u4, u3, u2, u5} R S N Q (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) _inst_2 _inst_12 _inst_7 _inst_14 _inst_8 _inst_13 (LinearMap.IsScalarTower.compatibleSMul.{u2, u5, u4, u3} N Q _inst_2 _inst_12 R S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) (SMulZeroClass.toHasSmul.{u4, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))))))) (SMulWithZero.toSmulZeroClass.{u4, u3} R S (MulZeroClass.toHasZero.{u4} R (MulZeroOneClass.toMulZeroClass.{u4} R (MonoidWithZero.toMulZeroOneClass.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))))))) (MulActionWithZero.toSMulWithZero.{u4, u3} R S (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))))))) (Module.toMulActionWithZero.{u4, u3} R S (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4))))) (Algebra.toModule.{u4, u3} R S (CommRing.toCommSemiring.{u4} R _inst_3) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) _inst_5))))) (SMulZeroClass.toHasSmul.{u4, u2} R N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_2))) (SMulWithZero.toSmulZeroClass.{u4, u2} R N (MulZeroClass.toHasZero.{u4} R (MulZeroOneClass.toMulZeroClass.{u4} R (MonoidWithZero.toMulZeroOneClass.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)))))) (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_2))) (MulActionWithZero.toSMulWithZero.{u4, u2} R N (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3))) (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_2))) (Module.toMulActionWithZero.{u4, u2} R N (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) _inst_2 _inst_7)))) _inst_8 _inst_9 (SMulZeroClass.toHasSmul.{u4, u5} R Q (AddZeroClass.toHasZero.{u5} Q (AddMonoid.toAddZeroClass.{u5} Q (AddCommMonoid.toAddMonoid.{u5} Q _inst_12))) (SMulWithZero.toSmulZeroClass.{u4, u5} R Q (MulZeroClass.toHasZero.{u4} R (MulZeroOneClass.toMulZeroClass.{u4} R (MonoidWithZero.toMulZeroOneClass.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)))))) (AddZeroClass.toHasZero.{u5} Q (AddMonoid.toAddZeroClass.{u5} Q (AddCommMonoid.toAddMonoid.{u5} Q _inst_12))) (MulActionWithZero.toSMulWithZero.{u4, u5} R Q (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3))) (AddZeroClass.toHasZero.{u5} Q (AddMonoid.toAddZeroClass.{u5} Q (AddCommMonoid.toAddMonoid.{u5} Q _inst_12))) (Module.toMulActionWithZero.{u4, u5} R Q (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) _inst_12 _inst_14)))) _inst_13 _inst_15) g₁) f) (LinearMap.comp.{u4, u4, u4, u1, u2, u5} R R R M N Q (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) _inst_1 _inst_2 _inst_12 _inst_6 _inst_7 _inst_14 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)))) (RingHomCompTriple.right_ids.{u4, u4} R R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3))))) (LinearMap.restrictScalars.{u4, u3, u2, u5} R S N Q (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) _inst_2 _inst_12 _inst_7 _inst_14 _inst_8 _inst_13 (LinearMap.IsScalarTower.compatibleSMul.{u2, u5, u4, u3} N Q _inst_2 _inst_12 R S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) (SMulZeroClass.toHasSmul.{u4, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))))))) (SMulWithZero.toSmulZeroClass.{u4, u3} R S (MulZeroClass.toHasZero.{u4} R (MulZeroOneClass.toMulZeroClass.{u4} R (MonoidWithZero.toMulZeroOneClass.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))))))) (MulActionWithZero.toSMulWithZero.{u4, u3} R S (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))))))) (Module.toMulActionWithZero.{u4, u3} R S (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4))))) (Algebra.toModule.{u4, u3} R S (CommRing.toCommSemiring.{u4} R _inst_3) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) _inst_5))))) (SMulZeroClass.toHasSmul.{u4, u2} R N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_2))) (SMulWithZero.toSmulZeroClass.{u4, u2} R N (MulZeroClass.toHasZero.{u4} R (MulZeroOneClass.toMulZeroClass.{u4} R (MonoidWithZero.toMulZeroOneClass.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)))))) (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_2))) (MulActionWithZero.toSMulWithZero.{u4, u2} R N (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3))) (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_2))) (Module.toMulActionWithZero.{u4, u2} R N (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) _inst_2 _inst_7)))) _inst_8 _inst_9 (SMulZeroClass.toHasSmul.{u4, u5} R Q (AddZeroClass.toHasZero.{u5} Q (AddMonoid.toAddZeroClass.{u5} Q (AddCommMonoid.toAddMonoid.{u5} Q _inst_12))) (SMulWithZero.toSmulZeroClass.{u4, u5} R Q (MulZeroClass.toHasZero.{u4} R (MulZeroOneClass.toMulZeroClass.{u4} R (MonoidWithZero.toMulZeroOneClass.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)))))) (AddZeroClass.toHasZero.{u5} Q (AddMonoid.toAddZeroClass.{u5} Q (AddCommMonoid.toAddMonoid.{u5} Q _inst_12))) (MulActionWithZero.toSMulWithZero.{u4, u5} R Q (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3))) (AddZeroClass.toHasZero.{u5} Q (AddMonoid.toAddZeroClass.{u5} Q (AddCommMonoid.toAddMonoid.{u5} Q _inst_12))) (Module.toMulActionWithZero.{u4, u5} R Q (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) _inst_12 _inst_14)))) _inst_13 _inst_15) g₂) f)) -> (Eq.{max (succ u2) (succ u5)} (LinearMap.{u3, u3, u2, u5} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))) N Q _inst_2 _inst_12 _inst_8 _inst_13) g₁ g₂))
+but is expected to have type
+  forall {R : Type.{u2}} {M : Type.{u3}} {N : Type.{u4}} {S : Type.{u5}} [_inst_1 : AddCommMonoid.{u3} M] [_inst_2 : AddCommMonoid.{u4} N] [_inst_3 : CommRing.{u2} R] [_inst_4 : CommRing.{u5} S] [_inst_5 : Algebra.{u2, u5} R S (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4))] [_inst_6 : Module.{u2, u3} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_1] [_inst_7 : Module.{u2, u4} R N (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_2] [_inst_8 : Module.{u5, u4} S N (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_2] [_inst_9 : IsScalarTower.{u2, u5, u4} R S N (Algebra.toSMul.{u2, u5} R S (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_5) (SMulZeroClass.toSMul.{u5, u4} S N (AddMonoid.toZero.{u4} N (AddCommMonoid.toAddMonoid.{u4} N _inst_2)) (SMulWithZero.toSMulZeroClass.{u5, u4} S N (CommMonoidWithZero.toZero.{u5} S (CommSemiring.toCommMonoidWithZero.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4))) (AddMonoid.toZero.{u4} N (AddCommMonoid.toAddMonoid.{u4} N _inst_2)) (MulActionWithZero.toSMulWithZero.{u5, u4} S N (Semiring.toMonoidWithZero.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4))) (AddMonoid.toZero.{u4} N (AddCommMonoid.toAddMonoid.{u4} N _inst_2)) (Module.toMulActionWithZero.{u5, u4} S N (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_2 _inst_8)))) (SMulZeroClass.toSMul.{u2, u4} R N (AddMonoid.toZero.{u4} N (AddCommMonoid.toAddMonoid.{u4} N _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u4} R N (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} N (AddCommMonoid.toAddMonoid.{u4} N _inst_2)) (MulActionWithZero.toSMulWithZero.{u2, u4} R N (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} N (AddCommMonoid.toAddMonoid.{u4} N _inst_2)) (Module.toMulActionWithZero.{u2, u4} R N (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_2 _inst_7))))] {f : LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M N _inst_1 _inst_2 _inst_6 _inst_7}, (IsBaseChange.{u3, u4, u5, u2} R M N S _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 f) -> (forall {Q : Type.{u1}} [_inst_12 : AddCommMonoid.{u1} Q] [_inst_13 : Module.{u5, u1} S Q (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_12] [_inst_14 : Module.{u2, u1} R Q (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_12] [_inst_15 : IsScalarTower.{u2, u5, u1} R S Q (Algebra.toSMul.{u2, u5} R S (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_5) (SMulZeroClass.toSMul.{u5, u1} S Q (AddMonoid.toZero.{u1} Q (AddCommMonoid.toAddMonoid.{u1} Q _inst_12)) (SMulWithZero.toSMulZeroClass.{u5, u1} S Q (CommMonoidWithZero.toZero.{u5} S (CommSemiring.toCommMonoidWithZero.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4))) (AddMonoid.toZero.{u1} Q (AddCommMonoid.toAddMonoid.{u1} Q _inst_12)) (MulActionWithZero.toSMulWithZero.{u5, u1} S Q (Semiring.toMonoidWithZero.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4))) (AddMonoid.toZero.{u1} Q (AddCommMonoid.toAddMonoid.{u1} Q _inst_12)) (Module.toMulActionWithZero.{u5, u1} S Q (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_12 _inst_13)))) (SMulZeroClass.toSMul.{u2, u1} R Q (AddMonoid.toZero.{u1} Q (AddCommMonoid.toAddMonoid.{u1} Q _inst_12)) (SMulWithZero.toSMulZeroClass.{u2, u1} R Q (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u1} Q (AddCommMonoid.toAddMonoid.{u1} Q _inst_12)) (MulActionWithZero.toSMulWithZero.{u2, u1} R Q (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u1} Q (AddCommMonoid.toAddMonoid.{u1} Q _inst_12)) (Module.toMulActionWithZero.{u2, u1} R Q (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_12 _inst_14))))] (g₁ : LinearMap.{u5, u5, u4, u1} S S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) (RingHom.id.{u5} S (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)))) N Q _inst_2 _inst_12 _inst_8 _inst_13) (g₂ : LinearMap.{u5, u5, u4, u1} S S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) (RingHom.id.{u5} S (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)))) N Q _inst_2 _inst_12 _inst_8 _inst_13), (Eq.{max (succ u3) (succ u1)} (LinearMap.{u2, u2, u3, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M Q _inst_1 _inst_12 _inst_6 _inst_14) (LinearMap.comp.{u2, u2, u2, u3, u4, u1} R R R M N Q (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_1 _inst_2 _inst_12 _inst_6 _inst_7 _inst_14 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomCompTriple.ids.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (LinearMap.restrictScalars.{u2, u5, u4, u1} R S N Q (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_2 _inst_12 _inst_7 _inst_14 _inst_8 _inst_13 (LinearMap.IsScalarTower.compatibleSMul.{u4, u1, u2, u5} N Q _inst_2 _inst_12 R S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) (Algebra.toSMul.{u2, u5} R S (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_5) (SMulZeroClass.toSMul.{u2, u4} R N (AddMonoid.toZero.{u4} N (AddCommMonoid.toAddMonoid.{u4} N _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u4} R N (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (AddMonoid.toZero.{u4} N (AddCommMonoid.toAddMonoid.{u4} N _inst_2)) (MulActionWithZero.toSMulWithZero.{u2, u4} R N (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} N (AddCommMonoid.toAddMonoid.{u4} N _inst_2)) (Module.toMulActionWithZero.{u2, u4} R N (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_2 _inst_7)))) _inst_8 _inst_9 (SMulZeroClass.toSMul.{u2, u1} R Q (AddMonoid.toZero.{u1} Q (AddCommMonoid.toAddMonoid.{u1} Q _inst_12)) (SMulWithZero.toSMulZeroClass.{u2, u1} R Q (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (AddMonoid.toZero.{u1} Q (AddCommMonoid.toAddMonoid.{u1} Q _inst_12)) (MulActionWithZero.toSMulWithZero.{u2, u1} R Q (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u1} Q (AddCommMonoid.toAddMonoid.{u1} Q _inst_12)) (Module.toMulActionWithZero.{u2, u1} R Q (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_12 _inst_14)))) _inst_13 _inst_15) g₁) f) (LinearMap.comp.{u2, u2, u2, u3, u4, u1} R R R M N Q (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_1 _inst_2 _inst_12 _inst_6 _inst_7 _inst_14 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomCompTriple.ids.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (LinearMap.restrictScalars.{u2, u5, u4, u1} R S N Q (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_2 _inst_12 _inst_7 _inst_14 _inst_8 _inst_13 (LinearMap.IsScalarTower.compatibleSMul.{u4, u1, u2, u5} N Q _inst_2 _inst_12 R S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) (Algebra.toSMul.{u2, u5} R S (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_5) (SMulZeroClass.toSMul.{u2, u4} R N (AddMonoid.toZero.{u4} N (AddCommMonoid.toAddMonoid.{u4} N _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u4} R N (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (AddMonoid.toZero.{u4} N (AddCommMonoid.toAddMonoid.{u4} N _inst_2)) (MulActionWithZero.toSMulWithZero.{u2, u4} R N (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} N (AddCommMonoid.toAddMonoid.{u4} N _inst_2)) (Module.toMulActionWithZero.{u2, u4} R N (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_2 _inst_7)))) _inst_8 _inst_9 (SMulZeroClass.toSMul.{u2, u1} R Q (AddMonoid.toZero.{u1} Q (AddCommMonoid.toAddMonoid.{u1} Q _inst_12)) (SMulWithZero.toSMulZeroClass.{u2, u1} R Q (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (AddMonoid.toZero.{u1} Q (AddCommMonoid.toAddMonoid.{u1} Q _inst_12)) (MulActionWithZero.toSMulWithZero.{u2, u1} R Q (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u1} Q (AddCommMonoid.toAddMonoid.{u1} Q _inst_12)) (Module.toMulActionWithZero.{u2, u1} R Q (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_12 _inst_14)))) _inst_13 _inst_15) g₂) f)) -> (Eq.{max (succ u4) (succ u1)} (LinearMap.{u5, u5, u4, u1} S S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) (RingHom.id.{u5} S (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)))) N Q _inst_2 _inst_12 _inst_8 _inst_13) g₁ g₂))
+Case conversion may be inaccurate. Consider using '#align is_base_change.alg_hom_ext' IsBaseChange.alg_hom_ext'ₓ'. -/
 theorem IsBaseChange.alg_hom_ext' [Module R Q] [IsScalarTower R S Q] (g₁ g₂ : N →ₗ[S] Q)
     (e : (g₁.restrictScalars R).comp f = (g₂.restrictScalars R).comp f) : g₁ = g₂ :=
   h.alg_hom_ext g₁ g₂ (LinearMap.congr_fun e)
@@ -235,6 +313,12 @@ variable (R M N S)
 
 omit h f
 
+/- warning: tensor_product.is_base_change -> TensorProduct.isBaseChange is a dubious translation:
+lean 3 declaration is
+  forall (R : Type.{u3}) (M : Type.{u1}) (S : Type.{u2}) [_inst_1 : AddCommMonoid.{u1} M] [_inst_3 : CommRing.{u3} R] [_inst_4 : CommRing.{u2} S] [_inst_5 : Algebra.{u3, u2} R S (CommRing.toCommSemiring.{u3} R _inst_3) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_4))] [_inst_6 : Module.{u3, u1} R M (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_3)) _inst_1], IsBaseChange.{u1, max u2 u1, u2, u3} R M (TensorProduct.{u3, u2, u1} R (CommRing.toCommSemiring.{u3} R _inst_3) S M (AddCommGroup.toAddCommMonoid.{u2} S (NonUnitalNonAssocRing.toAddCommGroup.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_4))))) _inst_1 (Algebra.toModule.{u3, u2} R S (CommRing.toCommSemiring.{u3} R _inst_3) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_4)) _inst_5) _inst_6) S _inst_1 (TensorProduct.addCommMonoid.{u3, u2, u1} R (CommRing.toCommSemiring.{u3} R _inst_3) S M (AddCommGroup.toAddCommMonoid.{u2} S (NonUnitalNonAssocRing.toAddCommGroup.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_4))))) _inst_1 (Algebra.toModule.{u3, u2} R S (CommRing.toCommSemiring.{u3} R _inst_3) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_4)) _inst_5) _inst_6) _inst_3 _inst_4 _inst_5 _inst_6 (TensorProduct.module.{u3, u2, u1} R (CommRing.toCommSemiring.{u3} R _inst_3) S M (AddCommGroup.toAddCommMonoid.{u2} S (NonUnitalNonAssocRing.toAddCommGroup.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_4))))) _inst_1 (Algebra.toModule.{u3, u2} R S (CommRing.toCommSemiring.{u3} R _inst_3) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_4)) _inst_5) _inst_6) (TensorProduct.leftModule.{u3, u2, u2, u1} R (CommRing.toCommSemiring.{u3} R _inst_3) S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_4)) S M (AddCommGroup.toAddCommMonoid.{u2} S (NonUnitalNonAssocRing.toAddCommGroup.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_4))))) _inst_1 (Algebra.toModule.{u3, u2} R S (CommRing.toCommSemiring.{u3} R _inst_3) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_4)) _inst_5) _inst_6 (Semiring.toModule.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_4))) (Algebra.to_smulCommClass.{u3, u2} R S (CommRing.toCommSemiring.{u3} R _inst_3) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_4)) _inst_5)) (TensorProduct.isScalarTower_left.{u3, u2, u2, u1, u3} R (CommRing.toCommSemiring.{u3} R _inst_3) S (Ring.toMonoid.{u2} S (CommRing.toRing.{u2} S _inst_4)) S M (AddCommGroup.toAddCommMonoid.{u2} S (NonUnitalNonAssocRing.toAddCommGroup.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_4))))) _inst_1 (Algebra.toModule.{u3, u2} R S (CommRing.toCommSemiring.{u3} R _inst_3) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_4)) _inst_5) _inst_6 (Module.toDistribMulAction.{u2, u2} S S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_4)) (AddCommGroup.toAddCommMonoid.{u2} S (NonUnitalNonAssocRing.toAddCommGroup.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_4))))) (Semiring.toModule.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_4)))) (Algebra.to_smulCommClass.{u3, u2} R S (CommRing.toCommSemiring.{u3} R _inst_3) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_4)) _inst_5) R (Ring.toMonoid.{u3} R (CommRing.toRing.{u3} R _inst_3)) (Module.toDistribMulAction.{u3, u2} R S (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} S (NonUnitalNonAssocRing.toAddCommGroup.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_4))))) (Algebra.toModule.{u3, u2} R S (CommRing.toCommSemiring.{u3} R _inst_3) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_4)) _inst_5)) (smulCommClass_self.{u3, u2} R S (CommRing.toCommMonoid.{u3} R _inst_3) (MulActionWithZero.toMulAction.{u3, u2} R S (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_3))) (AddZeroClass.toHasZero.{u2} S (AddMonoid.toAddZeroClass.{u2} S (AddCommMonoid.toAddMonoid.{u2} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_4)))))))) (Module.toMulActionWithZero.{u3, u2} R S (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_4))))) (Algebra.toModule.{u3, u2} R S (CommRing.toCommSemiring.{u3} R _inst_3) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_4)) _inst_5)))) (SMulZeroClass.toHasSmul.{u3, u2} R S (AddZeroClass.toHasZero.{u2} S (AddMonoid.toAddZeroClass.{u2} S (AddCommMonoid.toAddMonoid.{u2} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_4)))))))) (SMulWithZero.toSmulZeroClass.{u3, u2} R S (MulZeroClass.toHasZero.{u3} R (MulZeroOneClass.toMulZeroClass.{u3} R (MonoidWithZero.toMulZeroOneClass.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))))) (AddZeroClass.toHasZero.{u2} S (AddMonoid.toAddZeroClass.{u2} S (AddCommMonoid.toAddMonoid.{u2} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_4)))))))) (MulActionWithZero.toSMulWithZero.{u3, u2} R S (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3))) (AddZeroClass.toHasZero.{u2} S (AddMonoid.toAddZeroClass.{u2} S (AddCommMonoid.toAddMonoid.{u2} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_4)))))))) (Module.toMulActionWithZero.{u3, u2} R S (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_4))))) (Algebra.toModule.{u3, u2} R S (CommRing.toCommSemiring.{u3} R _inst_3) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_4)) _inst_5))))) (IsScalarTower.right.{u3, u2} R S (CommRing.toCommSemiring.{u3} R _inst_3) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_4)) _inst_5)) (coeFn.{max (succ u2) (succ (max u2 u1)), max (succ u2) (succ (max u2 u1))} (LinearMap.{u3, u3, u2, max u2 u1} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) S (LinearMap.{u3, u3, u1, max u2 u1} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) M (TensorProduct.{u3, u2, u1} R (CommRing.toCommSemiring.{u3} R _inst_3) S M (AddCommGroup.toAddCommMonoid.{u2} S (NonUnitalNonAssocRing.toAddCommGroup.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_4))))) _inst_1 (Algebra.toModule.{u3, u2} R S (CommRing.toCommSemiring.{u3} R _inst_3) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_4)) _inst_5) _inst_6) _inst_1 (TensorProduct.addCommMonoid.{u3, u2, u1} R (CommRing.toCommSemiring.{u3} R _inst_3) S M (AddCommGroup.toAddCommMonoid.{u2} S (NonUnitalNonAssocRing.toAddCommGroup.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_4))))) _inst_1 (Algebra.toModule.{u3, u2} R S (CommRing.toCommSemiring.{u3} R _inst_3) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_4)) _inst_5) _inst_6) _inst_6 (TensorProduct.module.{u3, u2, u1} R (CommRing.toCommSemiring.{u3} R _inst_3) S M (AddCommGroup.toAddCommMonoid.{u2} S (NonUnitalNonAssocRing.toAddCommGroup.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_4))))) _inst_1 (Algebra.toModule.{u3, u2} R S (CommRing.toCommSemiring.{u3} R _inst_3) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_4)) _inst_5) _inst_6)) (AddCommGroup.toAddCommMonoid.{u2} S (NonUnitalNonAssocRing.toAddCommGroup.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_4))))) (LinearMap.addCommMonoid.{u3, u3, u1, max u2 u1} R R M (TensorProduct.{u3, u2, u1} R (CommRing.toCommSemiring.{u3} R _inst_3) S M (AddCommGroup.toAddCommMonoid.{u2} S (NonUnitalNonAssocRing.toAddCommGroup.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_4))))) _inst_1 (Algebra.toModule.{u3, u2} R S (CommRing.toCommSemiring.{u3} R _inst_3) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_4)) _inst_5) _inst_6) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) _inst_1 (TensorProduct.addCommMonoid.{u3, u2, u1} R (CommRing.toCommSemiring.{u3} R _inst_3) S M (AddCommGroup.toAddCommMonoid.{u2} S (NonUnitalNonAssocRing.toAddCommGroup.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_4))))) _inst_1 (Algebra.toModule.{u3, u2} R S (CommRing.toCommSemiring.{u3} R _inst_3) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_4)) _inst_5) _inst_6) _inst_6 (TensorProduct.module.{u3, u2, u1} R (CommRing.toCommSemiring.{u3} R _inst_3) S M (AddCommGroup.toAddCommMonoid.{u2} S (NonUnitalNonAssocRing.toAddCommGroup.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_4))))) _inst_1 (Algebra.toModule.{u3, u2} R S (CommRing.toCommSemiring.{u3} R _inst_3) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_4)) _inst_5) _inst_6) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3))))) (Algebra.toModule.{u3, u2} R S (CommRing.toCommSemiring.{u3} R _inst_3) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_4)) _inst_5) (LinearMap.module.{u3, u3, u3, u1, max u2 u1} R R R M (TensorProduct.{u3, u2, u1} R (CommRing.toCommSemiring.{u3} R _inst_3) S M (AddCommGroup.toAddCommMonoid.{u2} S (NonUnitalNonAssocRing.toAddCommGroup.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_4))))) _inst_1 (Algebra.toModule.{u3, u2} R S (CommRing.toCommSemiring.{u3} R _inst_3) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_4)) _inst_5) _inst_6) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) _inst_1 (TensorProduct.addCommMonoid.{u3, u2, u1} R (CommRing.toCommSemiring.{u3} R _inst_3) S M (AddCommGroup.toAddCommMonoid.{u2} S (NonUnitalNonAssocRing.toAddCommGroup.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_4))))) _inst_1 (Algebra.toModule.{u3, u2} R S (CommRing.toCommSemiring.{u3} R _inst_3) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_4)) _inst_5) _inst_6) _inst_6 (TensorProduct.module.{u3, u2, u1} R (CommRing.toCommSemiring.{u3} R _inst_3) S M (AddCommGroup.toAddCommMonoid.{u2} S (NonUnitalNonAssocRing.toAddCommGroup.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_4))))) _inst_1 (Algebra.toModule.{u3, u2} R S (CommRing.toCommSemiring.{u3} R _inst_3) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_4)) _inst_5) _inst_6) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (TensorProduct.module.{u3, u2, u1} R (CommRing.toCommSemiring.{u3} R _inst_3) S M (AddCommGroup.toAddCommMonoid.{u2} S (NonUnitalNonAssocRing.toAddCommGroup.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_4))))) _inst_1 (Algebra.toModule.{u3, u2} R S (CommRing.toCommSemiring.{u3} R _inst_3) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_4)) _inst_5) _inst_6) (TensorProduct.mk._proof_1.{u3, u2, u1} R (CommRing.toCommSemiring.{u3} R _inst_3) S M (AddCommGroup.toAddCommMonoid.{u2} S (NonUnitalNonAssocRing.toAddCommGroup.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_4))))) _inst_1 (Algebra.toModule.{u3, u2} R S (CommRing.toCommSemiring.{u3} R _inst_3) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_4)) _inst_5) _inst_6))) (fun (_x : LinearMap.{u3, u3, u2, max u2 u1} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) S (LinearMap.{u3, u3, u1, max u2 u1} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) M (TensorProduct.{u3, u2, u1} R (CommRing.toCommSemiring.{u3} R _inst_3) S M (AddCommGroup.toAddCommMonoid.{u2} S (NonUnitalNonAssocRing.toAddCommGroup.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_4))))) _inst_1 (Algebra.toModule.{u3, u2} R S (CommRing.toCommSemiring.{u3} R _inst_3) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_4)) _inst_5) _inst_6) _inst_1 (TensorProduct.addCommMonoid.{u3, u2, u1} R (CommRing.toCommSemiring.{u3} R _inst_3) S M (AddCommGroup.toAddCommMonoid.{u2} S (NonUnitalNonAssocRing.toAddCommGroup.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_4))))) _inst_1 (Algebra.toModule.{u3, u2} R S (CommRing.toCommSemiring.{u3} R _inst_3) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_4)) _inst_5) _inst_6) _inst_6 (TensorProduct.module.{u3, u2, u1} R (CommRing.toCommSemiring.{u3} R _inst_3) S M (AddCommGroup.toAddCommMonoid.{u2} S (NonUnitalNonAssocRing.toAddCommGroup.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_4))))) _inst_1 (Algebra.toModule.{u3, u2} R S (CommRing.toCommSemiring.{u3} R _inst_3) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_4)) _inst_5) _inst_6)) (AddCommGroup.toAddCommMonoid.{u2} S (NonUnitalNonAssocRing.toAddCommGroup.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_4))))) (LinearMap.addCommMonoid.{u3, u3, u1, max u2 u1} R R M (TensorProduct.{u3, u2, u1} R (CommRing.toCommSemiring.{u3} R _inst_3) S M (AddCommGroup.toAddCommMonoid.{u2} S (NonUnitalNonAssocRing.toAddCommGroup.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_4))))) _inst_1 (Algebra.toModule.{u3, u2} R S (CommRing.toCommSemiring.{u3} R _inst_3) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_4)) _inst_5) _inst_6) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) _inst_1 (TensorProduct.addCommMonoid.{u3, u2, u1} R (CommRing.toCommSemiring.{u3} R _inst_3) S M (AddCommGroup.toAddCommMonoid.{u2} S (NonUnitalNonAssocRing.toAddCommGroup.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_4))))) _inst_1 (Algebra.toModule.{u3, u2} R S (CommRing.toCommSemiring.{u3} R _inst_3) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_4)) _inst_5) _inst_6) _inst_6 (TensorProduct.module.{u3, u2, u1} R (CommRing.toCommSemiring.{u3} R _inst_3) S M (AddCommGroup.toAddCommMonoid.{u2} S (NonUnitalNonAssocRing.toAddCommGroup.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_4))))) _inst_1 (Algebra.toModule.{u3, u2} R S (CommRing.toCommSemiring.{u3} R _inst_3) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_4)) _inst_5) _inst_6) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3))))) (Algebra.toModule.{u3, u2} R S (CommRing.toCommSemiring.{u3} R _inst_3) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_4)) _inst_5) (LinearMap.module.{u3, u3, u3, u1, max u2 u1} R R R M (TensorProduct.{u3, u2, u1} R (CommRing.toCommSemiring.{u3} R _inst_3) S M (AddCommGroup.toAddCommMonoid.{u2} S (NonUnitalNonAssocRing.toAddCommGroup.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_4))))) _inst_1 (Algebra.toModule.{u3, u2} R S (CommRing.toCommSemiring.{u3} R _inst_3) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_4)) _inst_5) _inst_6) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) _inst_1 (TensorProduct.addCommMonoid.{u3, u2, u1} R (CommRing.toCommSemiring.{u3} R _inst_3) S M (AddCommGroup.toAddCommMonoid.{u2} S (NonUnitalNonAssocRing.toAddCommGroup.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_4))))) _inst_1 (Algebra.toModule.{u3, u2} R S (CommRing.toCommSemiring.{u3} R _inst_3) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_4)) _inst_5) _inst_6) _inst_6 (TensorProduct.module.{u3, u2, u1} R (CommRing.toCommSemiring.{u3} R _inst_3) S M (AddCommGroup.toAddCommMonoid.{u2} S (NonUnitalNonAssocRing.toAddCommGroup.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_4))))) _inst_1 (Algebra.toModule.{u3, u2} R S (CommRing.toCommSemiring.{u3} R _inst_3) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_4)) _inst_5) _inst_6) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (TensorProduct.module.{u3, u2, u1} R (CommRing.toCommSemiring.{u3} R _inst_3) S M (AddCommGroup.toAddCommMonoid.{u2} S (NonUnitalNonAssocRing.toAddCommGroup.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_4))))) _inst_1 (Algebra.toModule.{u3, u2} R S (CommRing.toCommSemiring.{u3} R _inst_3) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_4)) _inst_5) _inst_6) (TensorProduct.mk._proof_1.{u3, u2, u1} R (CommRing.toCommSemiring.{u3} R _inst_3) S M (AddCommGroup.toAddCommMonoid.{u2} S (NonUnitalNonAssocRing.toAddCommGroup.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_4))))) _inst_1 (Algebra.toModule.{u3, u2} R S (CommRing.toCommSemiring.{u3} R _inst_3) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_4)) _inst_5) _inst_6))) => S -> (LinearMap.{u3, u3, u1, max u2 u1} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) M (TensorProduct.{u3, u2, u1} R (CommRing.toCommSemiring.{u3} R _inst_3) S M (AddCommGroup.toAddCommMonoid.{u2} S (NonUnitalNonAssocRing.toAddCommGroup.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_4))))) _inst_1 (Algebra.toModule.{u3, u2} R S (CommRing.toCommSemiring.{u3} R _inst_3) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_4)) _inst_5) _inst_6) _inst_1 (TensorProduct.addCommMonoid.{u3, u2, u1} R (CommRing.toCommSemiring.{u3} R _inst_3) S M (AddCommGroup.toAddCommMonoid.{u2} S (NonUnitalNonAssocRing.toAddCommGroup.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_4))))) _inst_1 (Algebra.toModule.{u3, u2} R S (CommRing.toCommSemiring.{u3} R _inst_3) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_4)) _inst_5) _inst_6) _inst_6 (TensorProduct.module.{u3, u2, u1} R (CommRing.toCommSemiring.{u3} R _inst_3) S M (AddCommGroup.toAddCommMonoid.{u2} S (NonUnitalNonAssocRing.toAddCommGroup.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_4))))) _inst_1 (Algebra.toModule.{u3, u2} R S (CommRing.toCommSemiring.{u3} R _inst_3) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_4)) _inst_5) _inst_6))) (LinearMap.hasCoeToFun.{u3, u3, u2, max u2 u1} R R S (LinearMap.{u3, u3, u1, max u2 u1} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) M (TensorProduct.{u3, u2, u1} R (CommRing.toCommSemiring.{u3} R _inst_3) S M (AddCommGroup.toAddCommMonoid.{u2} S (NonUnitalNonAssocRing.toAddCommGroup.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_4))))) _inst_1 (Algebra.toModule.{u3, u2} R S (CommRing.toCommSemiring.{u3} R _inst_3) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_4)) _inst_5) _inst_6) _inst_1 (TensorProduct.addCommMonoid.{u3, u2, u1} R (CommRing.toCommSemiring.{u3} R _inst_3) S M (AddCommGroup.toAddCommMonoid.{u2} S (NonUnitalNonAssocRing.toAddCommGroup.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_4))))) _inst_1 (Algebra.toModule.{u3, u2} R S (CommRing.toCommSemiring.{u3} R _inst_3) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_4)) _inst_5) _inst_6) _inst_6 (TensorProduct.module.{u3, u2, u1} R (CommRing.toCommSemiring.{u3} R _inst_3) S M (AddCommGroup.toAddCommMonoid.{u2} S (NonUnitalNonAssocRing.toAddCommGroup.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_4))))) _inst_1 (Algebra.toModule.{u3, u2} R S (CommRing.toCommSemiring.{u3} R _inst_3) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_4)) _inst_5) _inst_6)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} S (NonUnitalNonAssocRing.toAddCommGroup.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_4))))) (LinearMap.addCommMonoid.{u3, u3, u1, max u2 u1} R R M (TensorProduct.{u3, u2, u1} R (CommRing.toCommSemiring.{u3} R _inst_3) S M (AddCommGroup.toAddCommMonoid.{u2} S (NonUnitalNonAssocRing.toAddCommGroup.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_4))))) _inst_1 (Algebra.toModule.{u3, u2} R S (CommRing.toCommSemiring.{u3} R _inst_3) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_4)) _inst_5) _inst_6) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) _inst_1 (TensorProduct.addCommMonoid.{u3, u2, u1} R (CommRing.toCommSemiring.{u3} R _inst_3) S M (AddCommGroup.toAddCommMonoid.{u2} S (NonUnitalNonAssocRing.toAddCommGroup.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_4))))) _inst_1 (Algebra.toModule.{u3, u2} R S (CommRing.toCommSemiring.{u3} R _inst_3) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_4)) _inst_5) _inst_6) _inst_6 (TensorProduct.module.{u3, u2, u1} R (CommRing.toCommSemiring.{u3} R _inst_3) S M (AddCommGroup.toAddCommMonoid.{u2} S (NonUnitalNonAssocRing.toAddCommGroup.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_4))))) _inst_1 (Algebra.toModule.{u3, u2} R S (CommRing.toCommSemiring.{u3} R _inst_3) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_4)) _inst_5) _inst_6) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3))))) (Algebra.toModule.{u3, u2} R S (CommRing.toCommSemiring.{u3} R _inst_3) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_4)) _inst_5) (LinearMap.module.{u3, u3, u3, u1, max u2 u1} R R R M (TensorProduct.{u3, u2, u1} R (CommRing.toCommSemiring.{u3} R _inst_3) S M (AddCommGroup.toAddCommMonoid.{u2} S (NonUnitalNonAssocRing.toAddCommGroup.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_4))))) _inst_1 (Algebra.toModule.{u3, u2} R S (CommRing.toCommSemiring.{u3} R _inst_3) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_4)) _inst_5) _inst_6) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) _inst_1 (TensorProduct.addCommMonoid.{u3, u2, u1} R (CommRing.toCommSemiring.{u3} R _inst_3) S M (AddCommGroup.toAddCommMonoid.{u2} S (NonUnitalNonAssocRing.toAddCommGroup.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_4))))) _inst_1 (Algebra.toModule.{u3, u2} R S (CommRing.toCommSemiring.{u3} R _inst_3) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_4)) _inst_5) _inst_6) _inst_6 (TensorProduct.module.{u3, u2, u1} R (CommRing.toCommSemiring.{u3} R _inst_3) S M (AddCommGroup.toAddCommMonoid.{u2} S (NonUnitalNonAssocRing.toAddCommGroup.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_4))))) _inst_1 (Algebra.toModule.{u3, u2} R S (CommRing.toCommSemiring.{u3} R _inst_3) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_4)) _inst_5) _inst_6) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (TensorProduct.module.{u3, u2, u1} R (CommRing.toCommSemiring.{u3} R _inst_3) S M (AddCommGroup.toAddCommMonoid.{u2} S (NonUnitalNonAssocRing.toAddCommGroup.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_4))))) _inst_1 (Algebra.toModule.{u3, u2} R S (CommRing.toCommSemiring.{u3} R _inst_3) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_4)) _inst_5) _inst_6) (TensorProduct.mk._proof_1.{u3, u2, u1} R (CommRing.toCommSemiring.{u3} R _inst_3) S M (AddCommGroup.toAddCommMonoid.{u2} S (NonUnitalNonAssocRing.toAddCommGroup.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_4))))) _inst_1 (Algebra.toModule.{u3, u2} R S (CommRing.toCommSemiring.{u3} R _inst_3) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_4)) _inst_5) _inst_6)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3))))) (TensorProduct.mk.{u3, u2, u1} R (CommRing.toCommSemiring.{u3} R _inst_3) S M (AddCommGroup.toAddCommMonoid.{u2} S (NonUnitalNonAssocRing.toAddCommGroup.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_4))))) _inst_1 (Algebra.toModule.{u3, u2} R S (CommRing.toCommSemiring.{u3} R _inst_3) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_4)) _inst_5) _inst_6) (OfNat.ofNat.{u2} S 1 (OfNat.mk.{u2} S 1 (One.one.{u2} S (AddMonoidWithOne.toOne.{u2} S (AddGroupWithOne.toAddMonoidWithOne.{u2} S (AddCommGroupWithOne.toAddGroupWithOne.{u2} S (Ring.toAddCommGroupWithOne.{u2} S (CommRing.toRing.{u2} S _inst_4)))))))))
+but is expected to have type
+  forall (R : Type.{u1}) (M : Type.{u2}) (S : Type.{u3}) [_inst_1 : AddCommMonoid.{u2} M] [_inst_3 : CommRing.{u1} R] [_inst_4 : CommRing.{u3} S] [_inst_5 : Algebra.{u1, u3} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_4))] [_inst_6 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) _inst_1], IsBaseChange.{u2, max u2 u3, u3, u1} R M (TensorProduct.{u1, u3, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u3} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_4)) _inst_5) _inst_6) S _inst_1 (TensorProduct.addCommMonoid.{u1, u3, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u3} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_4)) _inst_5) _inst_6) _inst_3 _inst_4 _inst_5 _inst_6 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u3, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u3} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_4)) _inst_5) _inst_6) (TensorProduct.leftModule.{u1, u3, u3, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_4)) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u3} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_4)) _inst_5) _inst_6 (Semiring.toModule.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_4))) (Algebra.to_smulCommClass.{u1, u3} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_4)) _inst_5)) (TensorProduct.isScalarTower_left.{u1, u3, u3, u2, u1} R (CommRing.toCommSemiring.{u1} R _inst_3) S (MonoidWithZero.toMonoid.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_4)))) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u3} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_4)) _inst_5) _inst_6 (Module.toDistribMulAction.{u3, u3} S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_4)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_4))))) (Semiring.toModule.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_4)))) (Algebra.to_smulCommClass.{u1, u3} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_4)) _inst_5) R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)))) (Module.toDistribMulAction.{u1, u3} R S (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_4))))) (Algebra.toModule.{u1, u3} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_4)) _inst_5)) (smulCommClass_self.{u1, u3} R S (CommRing.toCommMonoid.{u1} R _inst_3) (MulActionWithZero.toMulAction.{u1, u3} R S (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3))) (CommMonoidWithZero.toZero.{u3} S (CommSemiring.toCommMonoidWithZero.{u3} S (CommRing.toCommSemiring.{u3} S _inst_4))) (Module.toMulActionWithZero.{u1, u3} R S (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_4))))) (Algebra.toModule.{u1, u3} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_4)) _inst_5)))) (Algebra.toSMul.{u1, u3} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_4)) _inst_5) (IsScalarTower.right.{u1, u3} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_4)) _inst_5)) (FunLike.coe.{max (succ u2) (succ u3), succ u3, max (succ u2) (succ u3)} (LinearMap.{u1, u1, u3, max u2 u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)))) S (LinearMap.{u1, u1, u2, max u2 u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)))) M (TensorProduct.{u1, u3, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u3} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_4)) _inst_5) _inst_6) _inst_1 (TensorProduct.addCommMonoid.{u1, u3, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u3} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_4)) _inst_5) _inst_6) _inst_6 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u3, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u3} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_4)) _inst_5) _inst_6)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_4))))) (LinearMap.addCommMonoid.{u1, u1, u2, max u3 u2} R R M (TensorProduct.{u1, u3, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u3} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_4)) _inst_5) _inst_6) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) _inst_1 (TensorProduct.addCommMonoid.{u1, u3, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u3} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_4)) _inst_5) _inst_6) _inst_6 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u3, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u3} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_4)) _inst_5) _inst_6) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3))))) (Algebra.toModule.{u1, u3} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_4)) _inst_5) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, max u3 u2} R R R M (TensorProduct.{u1, u3, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u3} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_4)) _inst_5) _inst_6) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) _inst_1 (TensorProduct.addCommMonoid.{u1, u3, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u3} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_4)) _inst_5) _inst_6) _inst_6 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u3, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u3} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_4)) _inst_5) _inst_6) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u3, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u3} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_4)) _inst_5) _inst_6) (smulCommClass_self.{u1, max u3 u2} R (TensorProduct.{u1, u3, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u3} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_4)) _inst_5) _inst_6) (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (MulActionWithZero.toMulAction.{u1, max u3 u2} R (TensorProduct.{u1, u3, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u3} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_4)) _inst_5) _inst_6) (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3))) (AddMonoid.toZero.{max u3 u2} (TensorProduct.{u1, u3, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u3} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_4)) _inst_5) _inst_6) (AddCommMonoid.toAddMonoid.{max u3 u2} (TensorProduct.{u1, u3, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u3} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_4)) _inst_5) _inst_6) (TensorProduct.addCommMonoid.{u1, u3, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u3} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_4)) _inst_5) _inst_6))) (Module.toMulActionWithZero.{u1, max u3 u2} R (TensorProduct.{u1, u3, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u3} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_4)) _inst_5) _inst_6) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (TensorProduct.addCommMonoid.{u1, u3, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u3} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_4)) _inst_5) _inst_6) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u3, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u3} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_4)) _inst_5) _inst_6)))))) S (fun (_x : S) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : S) => LinearMap.{u1, u1, u2, max u2 u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)))) M (TensorProduct.{u1, u3, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u3} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_4)) _inst_5) _inst_6) _inst_1 (TensorProduct.addCommMonoid.{u1, u3, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u3} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_4)) _inst_5) _inst_6) _inst_6 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u3, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u3} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_4)) _inst_5) _inst_6)) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u3, max u2 u3} R R S (LinearMap.{u1, u1, u2, max u2 u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)))) M (TensorProduct.{u1, u3, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u3} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_4)) _inst_5) _inst_6) _inst_1 (TensorProduct.addCommMonoid.{u1, u3, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u3} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_4)) _inst_5) _inst_6) _inst_6 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u3, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u3} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_4)) _inst_5) _inst_6)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_4))))) (LinearMap.addCommMonoid.{u1, u1, u2, max u3 u2} R R M (TensorProduct.{u1, u3, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u3} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_4)) _inst_5) _inst_6) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) _inst_1 (TensorProduct.addCommMonoid.{u1, u3, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u3} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_4)) _inst_5) _inst_6) _inst_6 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u3, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u3} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_4)) _inst_5) _inst_6) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3))))) (Algebra.toModule.{u1, u3} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_4)) _inst_5) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, max u3 u2} R R R M (TensorProduct.{u1, u3, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u3} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_4)) _inst_5) _inst_6) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) _inst_1 (TensorProduct.addCommMonoid.{u1, u3, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u3} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_4)) _inst_5) _inst_6) _inst_6 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u3, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u3} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_4)) _inst_5) _inst_6) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u3, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u3} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_4)) _inst_5) _inst_6) (smulCommClass_self.{u1, max u3 u2} R (TensorProduct.{u1, u3, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u3} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_4)) _inst_5) _inst_6) (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (MulActionWithZero.toMulAction.{u1, max u3 u2} R (TensorProduct.{u1, u3, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u3} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_4)) _inst_5) _inst_6) (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3))) (AddMonoid.toZero.{max u3 u2} (TensorProduct.{u1, u3, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u3} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_4)) _inst_5) _inst_6) (AddCommMonoid.toAddMonoid.{max u3 u2} (TensorProduct.{u1, u3, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u3} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_4)) _inst_5) _inst_6) (TensorProduct.addCommMonoid.{u1, u3, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u3} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_4)) _inst_5) _inst_6))) (Module.toMulActionWithZero.{u1, max u3 u2} R (TensorProduct.{u1, u3, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u3} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_4)) _inst_5) _inst_6) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (TensorProduct.addCommMonoid.{u1, u3, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u3} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_4)) _inst_5) _inst_6) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u3, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u3} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_4)) _inst_5) _inst_6))))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3))))) (TensorProduct.mk.{u1, u3, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u3} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_4)) _inst_5) _inst_6) (OfNat.ofNat.{u3} S 1 (One.toOfNat1.{u3} S (Semiring.toOne.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_4))))))
+Case conversion may be inaccurate. Consider using '#align tensor_product.is_base_change TensorProduct.isBaseChangeₓ'. -/
 theorem TensorProduct.isBaseChange : IsBaseChange S (TensorProduct.mk R S M 1) :=
   by
   delta IsBaseChange
@@ -248,6 +332,7 @@ theorem TensorProduct.isBaseChange : IsBaseChange S (TensorProduct.mk R S M 1) :
 
 variable {R M N S}
 
+#print IsBaseChange.equiv /-
 /-- The base change of `M` along `R → S` is linearly equivalent to `S ⊗[R] M`. -/
 noncomputable def IsBaseChange.equiv : S ⊗[R] M ≃ₗ[S] N :=
   { h.Equiv with
@@ -260,18 +345,37 @@ noncomputable def IsBaseChange.equiv : S ⊗[R] M ≃ₗ[S] N :=
       · intro x y hx hy
         rw [map_add, smul_add, map_add, smul_add, hx, hy] }
 #align is_base_change.equiv IsBaseChange.equiv
+-/
 
+/- warning: is_base_change.equiv_tmul -> IsBaseChange.equiv_tmul is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u4}} {M : Type.{u1}} {N : Type.{u2}} {S : Type.{u3}} [_inst_1 : AddCommMonoid.{u1} M] [_inst_2 : AddCommMonoid.{u2} N] [_inst_3 : CommRing.{u4} R] [_inst_4 : CommRing.{u3} S] [_inst_5 : Algebra.{u4, u3} R S (CommRing.toCommSemiring.{u4} R _inst_3) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4))] [_inst_6 : Module.{u4, u1} R M (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) _inst_1] [_inst_7 : Module.{u4, u2} R N (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) _inst_2] [_inst_8 : Module.{u3, u2} S N (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) _inst_2] [_inst_9 : IsScalarTower.{u4, u3, u2} R S N (SMulZeroClass.toHasSmul.{u4, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))))))) (SMulWithZero.toSmulZeroClass.{u4, u3} R S (MulZeroClass.toHasZero.{u4} R (MulZeroOneClass.toMulZeroClass.{u4} R (MonoidWithZero.toMulZeroOneClass.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))))))) (MulActionWithZero.toSMulWithZero.{u4, u3} R S (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))))))) (Module.toMulActionWithZero.{u4, u3} R S (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4))))) (Algebra.toModule.{u4, u3} R S (CommRing.toCommSemiring.{u4} R _inst_3) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) _inst_5))))) (SMulZeroClass.toHasSmul.{u3, u2} S N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_2))) (SMulWithZero.toSmulZeroClass.{u3, u2} S N (MulZeroClass.toHasZero.{u3} S (MulZeroOneClass.toMulZeroClass.{u3} S (MonoidWithZero.toMulZeroOneClass.{u3} S (Semiring.toMonoidWithZero.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))))) (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_2))) (MulActionWithZero.toSMulWithZero.{u3, u2} S N (Semiring.toMonoidWithZero.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4))) (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_2))) (Module.toMulActionWithZero.{u3, u2} S N (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) _inst_2 _inst_8)))) (SMulZeroClass.toHasSmul.{u4, u2} R N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_2))) (SMulWithZero.toSmulZeroClass.{u4, u2} R N (MulZeroClass.toHasZero.{u4} R (MulZeroOneClass.toMulZeroClass.{u4} R (MonoidWithZero.toMulZeroOneClass.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)))))) (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_2))) (MulActionWithZero.toSMulWithZero.{u4, u2} R N (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3))) (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_2))) (Module.toMulActionWithZero.{u4, u2} R N (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) _inst_2 _inst_7))))] {f : LinearMap.{u4, u4, u1, u2} R R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)))) M N _inst_1 _inst_2 _inst_6 _inst_7} (h : IsBaseChange.{u1, u2, u3, u4} R M N S _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 f) (s : S) (m : M), Eq.{succ u2} N (coeFn.{max (succ (max u3 u1)) (succ u2), max (succ (max u3 u1)) (succ u2)} (LinearEquiv.{u3, u3, max u3 u1, u2} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))) (IsBaseChange.equiv._proof_1.{u3} S _inst_4) (IsBaseChange.equiv._proof_2.{u3} S _inst_4) (TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_3) S M (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_4))))) _inst_1 (Algebra.toModule.{u4, u3} R S (CommRing.toCommSemiring.{u4} R _inst_3) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) _inst_5) _inst_6) N (TensorProduct.addCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_3) S M (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_4))))) _inst_1 (Algebra.toModule.{u4, u3} R S (CommRing.toCommSemiring.{u4} R _inst_3) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) _inst_5) _inst_6) _inst_2 (TensorProduct.leftModule.{u4, u3, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_3) S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) S M (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_4))))) _inst_1 (Algebra.toModule.{u4, u3} R S (CommRing.toCommSemiring.{u4} R _inst_3) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) _inst_5) _inst_6 (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4))) (IsBaseChange.equiv._proof_3.{u4, u3} R S _inst_3 _inst_4 _inst_5)) _inst_8) (fun (_x : LinearEquiv.{u3, u3, max u3 u1, u2} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))) (IsBaseChange.equiv._proof_1.{u3} S _inst_4) (IsBaseChange.equiv._proof_2.{u3} S _inst_4) (TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_3) S M (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_4))))) _inst_1 (Algebra.toModule.{u4, u3} R S (CommRing.toCommSemiring.{u4} R _inst_3) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) _inst_5) _inst_6) N (TensorProduct.addCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_3) S M (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_4))))) _inst_1 (Algebra.toModule.{u4, u3} R S (CommRing.toCommSemiring.{u4} R _inst_3) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) _inst_5) _inst_6) _inst_2 (TensorProduct.leftModule.{u4, u3, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_3) S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) S M (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_4))))) _inst_1 (Algebra.toModule.{u4, u3} R S (CommRing.toCommSemiring.{u4} R _inst_3) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) _inst_5) _inst_6 (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4))) (IsBaseChange.equiv._proof_3.{u4, u3} R S _inst_3 _inst_4 _inst_5)) _inst_8) => (TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_3) S M (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_4))))) _inst_1 (Algebra.toModule.{u4, u3} R S (CommRing.toCommSemiring.{u4} R _inst_3) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) _inst_5) _inst_6) -> N) (LinearEquiv.hasCoeToFun.{u3, u3, max u3 u1, u2} S S (TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_3) S M (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_4))))) _inst_1 (Algebra.toModule.{u4, u3} R S (CommRing.toCommSemiring.{u4} R _inst_3) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) _inst_5) _inst_6) N (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) (TensorProduct.addCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_3) S M (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_4))))) _inst_1 (Algebra.toModule.{u4, u3} R S (CommRing.toCommSemiring.{u4} R _inst_3) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) _inst_5) _inst_6) _inst_2 (TensorProduct.leftModule.{u4, u3, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_3) S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) S M (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_4))))) _inst_1 (Algebra.toModule.{u4, u3} R S (CommRing.toCommSemiring.{u4} R _inst_3) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) _inst_5) _inst_6 (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4))) (IsBaseChange.equiv._proof_3.{u4, u3} R S _inst_3 _inst_4 _inst_5)) _inst_8 (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))) (IsBaseChange.equiv._proof_1.{u3} S _inst_4) (IsBaseChange.equiv._proof_2.{u3} S _inst_4)) (IsBaseChange.equiv.{u1, u2, u3, u4} R M N S _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 f h) (TensorProduct.tmul.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_3) S M (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_4))))) _inst_1 (Algebra.toModule.{u4, u3} R S (CommRing.toCommSemiring.{u4} R _inst_3) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) _inst_5) _inst_6 s m)) (SMul.smul.{u3, u2} S N (SMulZeroClass.toHasSmul.{u3, u2} S N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_2))) (SMulWithZero.toSmulZeroClass.{u3, u2} S N (MulZeroClass.toHasZero.{u3} S (MulZeroOneClass.toMulZeroClass.{u3} S (MonoidWithZero.toMulZeroOneClass.{u3} S (Semiring.toMonoidWithZero.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))))) (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_2))) (MulActionWithZero.toSMulWithZero.{u3, u2} S N (Semiring.toMonoidWithZero.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4))) (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_2))) (Module.toMulActionWithZero.{u3, u2} S N (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) _inst_2 _inst_8)))) s (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (LinearMap.{u4, u4, u1, u2} R R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)))) M N _inst_1 _inst_2 _inst_6 _inst_7) (fun (_x : LinearMap.{u4, u4, u1, u2} R R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)))) M N _inst_1 _inst_2 _inst_6 _inst_7) => M -> N) (LinearMap.hasCoeToFun.{u4, u4, u1, u2} R R M N (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) _inst_1 _inst_2 _inst_6 _inst_7 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3))))) f m))
+but is expected to have type
+  forall {R : Type.{u1}} {M : Type.{u2}} {N : Type.{u3}} {S : Type.{u4}} [_inst_1 : AddCommMonoid.{u2} M] [_inst_2 : AddCommMonoid.{u3} N] [_inst_3 : CommRing.{u1} R] [_inst_4 : CommRing.{u4} S] [_inst_5 : Algebra.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4))] [_inst_6 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) _inst_1] [_inst_7 : Module.{u1, u3} R N (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) _inst_2] [_inst_8 : Module.{u4, u3} S N (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_2] [_inst_9 : IsScalarTower.{u1, u4, u3} R S N (Algebra.toSMul.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) (SMulZeroClass.toSMul.{u4, u3} S N (AddMonoid.toZero.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_2)) (SMulWithZero.toSMulZeroClass.{u4, u3} S N (CommMonoidWithZero.toZero.{u4} S (CommSemiring.toCommMonoidWithZero.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4))) (AddMonoid.toZero.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_2)) (MulActionWithZero.toSMulWithZero.{u4, u3} S N (Semiring.toMonoidWithZero.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4))) (AddMonoid.toZero.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_2)) (Module.toMulActionWithZero.{u4, u3} S N (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_2 _inst_8)))) (SMulZeroClass.toSMul.{u1, u3} R N (AddMonoid.toZero.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u3} R N (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3))) (AddMonoid.toZero.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u3} R N (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3))) (AddMonoid.toZero.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_2)) (Module.toMulActionWithZero.{u1, u3} R N (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) _inst_2 _inst_7))))] {f : LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)))) M N _inst_1 _inst_2 _inst_6 _inst_7} (h : IsBaseChange.{u2, u3, u4, u1} R M N S _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 f) (s : S) (m : M), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : TensorProduct.{u1, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6) => N) (TensorProduct.tmul.{u1, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6 s m)) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u4), max (succ u2) (succ u4), succ u3} (LinearEquiv.{u4, u4, max u2 u4, u3} S S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) (RingHom.id.{u4} S (Semiring.toNonAssocSemiring.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)))) (RingHom.id.{u4} S (Semiring.toNonAssocSemiring.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)))) (RingHomInvPair.ids.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4))) (RingHomInvPair.ids.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4))) (TensorProduct.{u1, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6) N (TensorProduct.addCommMonoid.{u1, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6) _inst_2 (TensorProduct.leftModule.{u1, u4, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6 (Semiring.toModule.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4))) (Algebra.to_smulCommClass.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5)) _inst_8) (TensorProduct.{u1, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6) (fun (_x : TensorProduct.{u1, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : TensorProduct.{u1, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6) => N) _x) (SMulHomClass.toFunLike.{max (max u2 u3) u4, u4, max u2 u4, u3} (LinearEquiv.{u4, u4, max u2 u4, u3} S S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) (RingHom.id.{u4} S (Semiring.toNonAssocSemiring.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)))) (RingHom.id.{u4} S (Semiring.toNonAssocSemiring.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)))) (RingHomInvPair.ids.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4))) (RingHomInvPair.ids.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4))) (TensorProduct.{u1, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6) N (TensorProduct.addCommMonoid.{u1, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6) _inst_2 (TensorProduct.leftModule.{u1, u4, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6 (Semiring.toModule.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4))) (Algebra.to_smulCommClass.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5)) _inst_8) S (TensorProduct.{u1, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6) N (SMulZeroClass.toSMul.{u4, max u2 u4} S (TensorProduct.{u1, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6) (AddMonoid.toZero.{max u2 u4} (TensorProduct.{u1, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6) (AddCommMonoid.toAddMonoid.{max u2 u4} (TensorProduct.{u1, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6) (TensorProduct.addCommMonoid.{u1, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6))) (DistribSMul.toSMulZeroClass.{u4, max u2 u4} S (TensorProduct.{u1, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6) (AddMonoid.toAddZeroClass.{max u2 u4} (TensorProduct.{u1, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6) (AddCommMonoid.toAddMonoid.{max u2 u4} (TensorProduct.{u1, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6) (TensorProduct.addCommMonoid.{u1, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6))) (DistribMulAction.toDistribSMul.{u4, max u2 u4} S (TensorProduct.{u1, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6) (MonoidWithZero.toMonoid.{u4} S (Semiring.toMonoidWithZero.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)))) (AddCommMonoid.toAddMonoid.{max u2 u4} (TensorProduct.{u1, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6) (TensorProduct.addCommMonoid.{u1, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6)) (Module.toDistribMulAction.{u4, max u2 u4} S (TensorProduct.{u1, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) (TensorProduct.addCommMonoid.{u1, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6) (TensorProduct.leftModule.{u1, u4, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6 (Semiring.toModule.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4))) (Algebra.to_smulCommClass.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5)))))) (SMulZeroClass.toSMul.{u4, u3} S N (AddMonoid.toZero.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_2)) (DistribSMul.toSMulZeroClass.{u4, u3} S N (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_2)) (DistribMulAction.toDistribSMul.{u4, u3} S N (MonoidWithZero.toMonoid.{u4} S (Semiring.toMonoidWithZero.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)))) (AddCommMonoid.toAddMonoid.{u3} N _inst_2) (Module.toDistribMulAction.{u4, u3} S N (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_2 _inst_8)))) (DistribMulActionHomClass.toSMulHomClass.{max (max u2 u3) u4, u4, max u2 u4, u3} (LinearEquiv.{u4, u4, max u2 u4, u3} S S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) (RingHom.id.{u4} S (Semiring.toNonAssocSemiring.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)))) (RingHom.id.{u4} S (Semiring.toNonAssocSemiring.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)))) (RingHomInvPair.ids.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4))) (RingHomInvPair.ids.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4))) (TensorProduct.{u1, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6) N (TensorProduct.addCommMonoid.{u1, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6) _inst_2 (TensorProduct.leftModule.{u1, u4, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6 (Semiring.toModule.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4))) (Algebra.to_smulCommClass.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5)) _inst_8) S (TensorProduct.{u1, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6) N (MonoidWithZero.toMonoid.{u4} S (Semiring.toMonoidWithZero.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)))) (AddCommMonoid.toAddMonoid.{max u2 u4} (TensorProduct.{u1, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6) (TensorProduct.addCommMonoid.{u1, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6)) (AddCommMonoid.toAddMonoid.{u3} N _inst_2) (Module.toDistribMulAction.{u4, max u2 u4} S (TensorProduct.{u1, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) (TensorProduct.addCommMonoid.{u1, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6) (TensorProduct.leftModule.{u1, u4, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6 (Semiring.toModule.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4))) (Algebra.to_smulCommClass.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5))) (Module.toDistribMulAction.{u4, u3} S N (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_2 _inst_8) (SemilinearMapClass.distribMulActionHomClass.{u4, max u2 u4, u3, max (max u2 u3) u4} S (TensorProduct.{u1, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6) N (LinearEquiv.{u4, u4, max u2 u4, u3} S S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) (RingHom.id.{u4} S (Semiring.toNonAssocSemiring.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)))) (RingHom.id.{u4} S (Semiring.toNonAssocSemiring.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)))) (RingHomInvPair.ids.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4))) (RingHomInvPair.ids.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4))) (TensorProduct.{u1, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6) N (TensorProduct.addCommMonoid.{u1, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6) _inst_2 (TensorProduct.leftModule.{u1, u4, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6 (Semiring.toModule.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4))) (Algebra.to_smulCommClass.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5)) _inst_8) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) (TensorProduct.addCommMonoid.{u1, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6) _inst_2 (TensorProduct.leftModule.{u1, u4, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6 (Semiring.toModule.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4))) (Algebra.to_smulCommClass.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5)) _inst_8 (SemilinearEquivClass.instSemilinearMapClass.{u4, u4, max u2 u4, u3, max (max u2 u3) u4} S S (TensorProduct.{u1, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6) N (LinearEquiv.{u4, u4, max u2 u4, u3} S S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) (RingHom.id.{u4} S (Semiring.toNonAssocSemiring.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)))) (RingHom.id.{u4} S (Semiring.toNonAssocSemiring.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)))) (RingHomInvPair.ids.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4))) (RingHomInvPair.ids.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4))) (TensorProduct.{u1, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6) N (TensorProduct.addCommMonoid.{u1, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6) _inst_2 (TensorProduct.leftModule.{u1, u4, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6 (Semiring.toModule.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4))) (Algebra.to_smulCommClass.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5)) _inst_8) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) (TensorProduct.addCommMonoid.{u1, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6) _inst_2 (TensorProduct.leftModule.{u1, u4, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6 (Semiring.toModule.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4))) (Algebra.to_smulCommClass.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5)) _inst_8 (RingHom.id.{u4} S (Semiring.toNonAssocSemiring.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)))) (RingHom.id.{u4} S (Semiring.toNonAssocSemiring.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)))) (RingHomInvPair.ids.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4))) (RingHomInvPair.ids.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u4, u4, max u2 u4, u3} S S (TensorProduct.{u1, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6) N (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) (TensorProduct.addCommMonoid.{u1, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6) _inst_2 (TensorProduct.leftModule.{u1, u4, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6 (Semiring.toModule.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4))) (Algebra.to_smulCommClass.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5)) _inst_8 (RingHom.id.{u4} S (Semiring.toNonAssocSemiring.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)))) (RingHom.id.{u4} S (Semiring.toNonAssocSemiring.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)))) (RingHomInvPair.ids.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4))) (RingHomInvPair.ids.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)))))))) (IsBaseChange.equiv.{u2, u3, u4, u1} R M N S _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 f h) (TensorProduct.tmul.{u1, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6 s m)) (HSMul.hSMul.{u4, u3, u3} S ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => N) m) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => N) m) (instHSMul.{u4, u3} S ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => N) m) (SMulZeroClass.toSMul.{u4, u3} S ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => N) m) (AddMonoid.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => N) m) (AddCommMonoid.toAddMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => N) m) _inst_2)) (SMulWithZero.toSMulZeroClass.{u4, u3} S ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => N) m) (CommMonoidWithZero.toZero.{u4} S (CommSemiring.toCommMonoidWithZero.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4))) (AddMonoid.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => N) m) (AddCommMonoid.toAddMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => N) m) _inst_2)) (MulActionWithZero.toSMulWithZero.{u4, u3} S ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => N) m) (Semiring.toMonoidWithZero.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4))) (AddMonoid.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => N) m) (AddCommMonoid.toAddMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => N) m) _inst_2)) (Module.toMulActionWithZero.{u4, u3} S ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => N) m) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_2 _inst_8))))) s (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)))) M N _inst_1 _inst_2 _inst_6 _inst_7) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => N) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u3} R R M N (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) _inst_1 _inst_2 _inst_6 _inst_7 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3))))) f m))
+Case conversion may be inaccurate. Consider using '#align is_base_change.equiv_tmul IsBaseChange.equiv_tmulₓ'. -/
 theorem IsBaseChange.equiv_tmul (s : S) (m : M) : h.Equiv (s ⊗ₜ m) = s • f m :=
   TensorProduct.lift.tmul s m
 #align is_base_change.equiv_tmul IsBaseChange.equiv_tmul
 
+/- warning: is_base_change.equiv_symm_apply -> IsBaseChange.equiv_symm_apply is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u4}} {M : Type.{u1}} {N : Type.{u2}} {S : Type.{u3}} [_inst_1 : AddCommMonoid.{u1} M] [_inst_2 : AddCommMonoid.{u2} N] [_inst_3 : CommRing.{u4} R] [_inst_4 : CommRing.{u3} S] [_inst_5 : Algebra.{u4, u3} R S (CommRing.toCommSemiring.{u4} R _inst_3) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4))] [_inst_6 : Module.{u4, u1} R M (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) _inst_1] [_inst_7 : Module.{u4, u2} R N (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) _inst_2] [_inst_8 : Module.{u3, u2} S N (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) _inst_2] [_inst_9 : IsScalarTower.{u4, u3, u2} R S N (SMulZeroClass.toHasSmul.{u4, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))))))) (SMulWithZero.toSmulZeroClass.{u4, u3} R S (MulZeroClass.toHasZero.{u4} R (MulZeroOneClass.toMulZeroClass.{u4} R (MonoidWithZero.toMulZeroOneClass.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))))))) (MulActionWithZero.toSMulWithZero.{u4, u3} R S (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))))))) (Module.toMulActionWithZero.{u4, u3} R S (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4))))) (Algebra.toModule.{u4, u3} R S (CommRing.toCommSemiring.{u4} R _inst_3) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) _inst_5))))) (SMulZeroClass.toHasSmul.{u3, u2} S N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_2))) (SMulWithZero.toSmulZeroClass.{u3, u2} S N (MulZeroClass.toHasZero.{u3} S (MulZeroOneClass.toMulZeroClass.{u3} S (MonoidWithZero.toMulZeroOneClass.{u3} S (Semiring.toMonoidWithZero.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))))) (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_2))) (MulActionWithZero.toSMulWithZero.{u3, u2} S N (Semiring.toMonoidWithZero.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4))) (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_2))) (Module.toMulActionWithZero.{u3, u2} S N (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) _inst_2 _inst_8)))) (SMulZeroClass.toHasSmul.{u4, u2} R N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_2))) (SMulWithZero.toSmulZeroClass.{u4, u2} R N (MulZeroClass.toHasZero.{u4} R (MulZeroOneClass.toMulZeroClass.{u4} R (MonoidWithZero.toMulZeroOneClass.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)))))) (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_2))) (MulActionWithZero.toSMulWithZero.{u4, u2} R N (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3))) (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_2))) (Module.toMulActionWithZero.{u4, u2} R N (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) _inst_2 _inst_7))))] {f : LinearMap.{u4, u4, u1, u2} R R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)))) M N _inst_1 _inst_2 _inst_6 _inst_7} (h : IsBaseChange.{u1, u2, u3, u4} R M N S _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 f) (m : M), Eq.{succ (max u3 u1)} (TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_3) S M (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_4))))) _inst_1 (Algebra.toModule.{u4, u3} R S (CommRing.toCommSemiring.{u4} R _inst_3) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) _inst_5) _inst_6) (coeFn.{max (succ u2) (succ (max u3 u1)), max (succ u2) (succ (max u3 u1))} (LinearEquiv.{u3, u3, u2, max u3 u1} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))) (IsBaseChange.equiv._proof_2.{u3} S _inst_4) (IsBaseChange.equiv._proof_1.{u3} S _inst_4) N (TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_3) S M (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_4))))) _inst_1 (Algebra.toModule.{u4, u3} R S (CommRing.toCommSemiring.{u4} R _inst_3) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) _inst_5) _inst_6) _inst_2 (TensorProduct.addCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_3) S M (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_4))))) _inst_1 (Algebra.toModule.{u4, u3} R S (CommRing.toCommSemiring.{u4} R _inst_3) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) _inst_5) _inst_6) _inst_8 (TensorProduct.leftModule.{u4, u3, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_3) S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) S M (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_4))))) _inst_1 (Algebra.toModule.{u4, u3} R S (CommRing.toCommSemiring.{u4} R _inst_3) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) _inst_5) _inst_6 (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4))) (IsBaseChange.equiv._proof_3.{u4, u3} R S _inst_3 _inst_4 _inst_5))) (fun (_x : LinearEquiv.{u3, u3, u2, max u3 u1} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))) (IsBaseChange.equiv._proof_2.{u3} S _inst_4) (IsBaseChange.equiv._proof_1.{u3} S _inst_4) N (TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_3) S M (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_4))))) _inst_1 (Algebra.toModule.{u4, u3} R S (CommRing.toCommSemiring.{u4} R _inst_3) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) _inst_5) _inst_6) _inst_2 (TensorProduct.addCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_3) S M (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_4))))) _inst_1 (Algebra.toModule.{u4, u3} R S (CommRing.toCommSemiring.{u4} R _inst_3) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) _inst_5) _inst_6) _inst_8 (TensorProduct.leftModule.{u4, u3, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_3) S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) S M (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_4))))) _inst_1 (Algebra.toModule.{u4, u3} R S (CommRing.toCommSemiring.{u4} R _inst_3) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) _inst_5) _inst_6 (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4))) (IsBaseChange.equiv._proof_3.{u4, u3} R S _inst_3 _inst_4 _inst_5))) => N -> (TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_3) S M (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_4))))) _inst_1 (Algebra.toModule.{u4, u3} R S (CommRing.toCommSemiring.{u4} R _inst_3) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) _inst_5) _inst_6)) (LinearEquiv.hasCoeToFun.{u3, u3, u2, max u3 u1} S S N (TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_3) S M (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_4))))) _inst_1 (Algebra.toModule.{u4, u3} R S (CommRing.toCommSemiring.{u4} R _inst_3) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) _inst_5) _inst_6) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) _inst_2 (TensorProduct.addCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_3) S M (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_4))))) _inst_1 (Algebra.toModule.{u4, u3} R S (CommRing.toCommSemiring.{u4} R _inst_3) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) _inst_5) _inst_6) _inst_8 (TensorProduct.leftModule.{u4, u3, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_3) S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) S M (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_4))))) _inst_1 (Algebra.toModule.{u4, u3} R S (CommRing.toCommSemiring.{u4} R _inst_3) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) _inst_5) _inst_6 (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4))) (IsBaseChange.equiv._proof_3.{u4, u3} R S _inst_3 _inst_4 _inst_5)) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))) (IsBaseChange.equiv._proof_2.{u3} S _inst_4) (IsBaseChange.equiv._proof_1.{u3} S _inst_4)) (LinearEquiv.symm.{u3, u3, max u3 u1, u2} S S (TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_3) S M (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_4))))) _inst_1 (Algebra.toModule.{u4, u3} R S (CommRing.toCommSemiring.{u4} R _inst_3) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) _inst_5) _inst_6) N (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) (TensorProduct.addCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_3) S M (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_4))))) _inst_1 (Algebra.toModule.{u4, u3} R S (CommRing.toCommSemiring.{u4} R _inst_3) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) _inst_5) _inst_6) _inst_2 (TensorProduct.leftModule.{u4, u3, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_3) S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) S M (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_4))))) _inst_1 (Algebra.toModule.{u4, u3} R S (CommRing.toCommSemiring.{u4} R _inst_3) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) _inst_5) _inst_6 (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4))) (IsBaseChange.equiv._proof_3.{u4, u3} R S _inst_3 _inst_4 _inst_5)) _inst_8 (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))) (IsBaseChange.equiv._proof_1.{u3} S _inst_4) (IsBaseChange.equiv._proof_2.{u3} S _inst_4) (IsBaseChange.equiv.{u1, u2, u3, u4} R M N S _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 f h)) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (LinearMap.{u4, u4, u1, u2} R R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)))) M N _inst_1 _inst_2 _inst_6 _inst_7) (fun (_x : LinearMap.{u4, u4, u1, u2} R R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)))) M N _inst_1 _inst_2 _inst_6 _inst_7) => M -> N) (LinearMap.hasCoeToFun.{u4, u4, u1, u2} R R M N (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) _inst_1 _inst_2 _inst_6 _inst_7 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3))))) f m)) (TensorProduct.tmul.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_3) S M (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_4))))) _inst_1 (Algebra.toModule.{u4, u3} R S (CommRing.toCommSemiring.{u4} R _inst_3) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) _inst_5) _inst_6 (OfNat.ofNat.{u3} S 1 (OfNat.mk.{u3} S 1 (One.one.{u3} S (AddMonoidWithOne.toOne.{u3} S (AddGroupWithOne.toAddMonoidWithOne.{u3} S (AddCommGroupWithOne.toAddGroupWithOne.{u3} S (Ring.toAddCommGroupWithOne.{u3} S (CommRing.toRing.{u3} S _inst_4)))))))) m)
+but is expected to have type
+  forall {R : Type.{u1}} {M : Type.{u2}} {N : Type.{u3}} {S : Type.{u4}} [_inst_1 : AddCommMonoid.{u2} M] [_inst_2 : AddCommMonoid.{u3} N] [_inst_3 : CommRing.{u1} R] [_inst_4 : CommRing.{u4} S] [_inst_5 : Algebra.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4))] [_inst_6 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) _inst_1] [_inst_7 : Module.{u1, u3} R N (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) _inst_2] [_inst_8 : Module.{u4, u3} S N (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_2] [_inst_9 : IsScalarTower.{u1, u4, u3} R S N (Algebra.toSMul.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) (SMulZeroClass.toSMul.{u4, u3} S N (AddMonoid.toZero.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_2)) (SMulWithZero.toSMulZeroClass.{u4, u3} S N (CommMonoidWithZero.toZero.{u4} S (CommSemiring.toCommMonoidWithZero.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4))) (AddMonoid.toZero.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_2)) (MulActionWithZero.toSMulWithZero.{u4, u3} S N (Semiring.toMonoidWithZero.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4))) (AddMonoid.toZero.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_2)) (Module.toMulActionWithZero.{u4, u3} S N (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_2 _inst_8)))) (SMulZeroClass.toSMul.{u1, u3} R N (AddMonoid.toZero.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u3} R N (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3))) (AddMonoid.toZero.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u3} R N (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3))) (AddMonoid.toZero.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_2)) (Module.toMulActionWithZero.{u1, u3} R N (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) _inst_2 _inst_7))))] {f : LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)))) M N _inst_1 _inst_2 _inst_6 _inst_7} (h : IsBaseChange.{u2, u3, u4, u1} R M N S _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 f) (m : M), Eq.{max (succ u2) (succ u4)} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : N) => TensorProduct.{u1, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)))) M N _inst_1 _inst_2 _inst_6 _inst_7) M (fun (a : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => N) a) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u3} R R M N (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) _inst_1 _inst_2 _inst_6 _inst_7 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3))))) f m)) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u4), succ u3, max (succ u2) (succ u4)} (LinearEquiv.{u4, u4, u3, max u2 u4} S S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) (RingHom.id.{u4} S (Semiring.toNonAssocSemiring.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)))) (RingHom.id.{u4} S (Semiring.toNonAssocSemiring.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)))) (RingHomInvPair.ids.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4))) (RingHomInvPair.ids.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4))) N (TensorProduct.{u1, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6) _inst_2 (TensorProduct.addCommMonoid.{u1, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6) _inst_8 (TensorProduct.leftModule.{u1, u4, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6 (Semiring.toModule.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4))) (Algebra.to_smulCommClass.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5))) N (fun (_x : N) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : N) => TensorProduct.{u1, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6) _x) (SMulHomClass.toFunLike.{max (max u2 u3) u4, u4, u3, max u2 u4} (LinearEquiv.{u4, u4, u3, max u2 u4} S S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) (RingHom.id.{u4} S (Semiring.toNonAssocSemiring.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)))) (RingHom.id.{u4} S (Semiring.toNonAssocSemiring.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)))) (RingHomInvPair.ids.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4))) (RingHomInvPair.ids.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4))) N (TensorProduct.{u1, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6) _inst_2 (TensorProduct.addCommMonoid.{u1, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6) _inst_8 (TensorProduct.leftModule.{u1, u4, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6 (Semiring.toModule.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4))) (Algebra.to_smulCommClass.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5))) S N (TensorProduct.{u1, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6) (SMulZeroClass.toSMul.{u4, u3} S N (AddMonoid.toZero.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_2)) (DistribSMul.toSMulZeroClass.{u4, u3} S N (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_2)) (DistribMulAction.toDistribSMul.{u4, u3} S N (MonoidWithZero.toMonoid.{u4} S (Semiring.toMonoidWithZero.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)))) (AddCommMonoid.toAddMonoid.{u3} N _inst_2) (Module.toDistribMulAction.{u4, u3} S N (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_2 _inst_8)))) (SMulZeroClass.toSMul.{u4, max u2 u4} S (TensorProduct.{u1, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6) (AddMonoid.toZero.{max u2 u4} (TensorProduct.{u1, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6) (AddCommMonoid.toAddMonoid.{max u2 u4} (TensorProduct.{u1, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6) (TensorProduct.addCommMonoid.{u1, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6))) (DistribSMul.toSMulZeroClass.{u4, max u2 u4} S (TensorProduct.{u1, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6) (AddMonoid.toAddZeroClass.{max u2 u4} (TensorProduct.{u1, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6) (AddCommMonoid.toAddMonoid.{max u2 u4} (TensorProduct.{u1, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6) (TensorProduct.addCommMonoid.{u1, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6))) (DistribMulAction.toDistribSMul.{u4, max u2 u4} S (TensorProduct.{u1, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6) (MonoidWithZero.toMonoid.{u4} S (Semiring.toMonoidWithZero.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)))) (AddCommMonoid.toAddMonoid.{max u2 u4} (TensorProduct.{u1, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6) (TensorProduct.addCommMonoid.{u1, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6)) (Module.toDistribMulAction.{u4, max u2 u4} S (TensorProduct.{u1, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) (TensorProduct.addCommMonoid.{u1, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6) (TensorProduct.leftModule.{u1, u4, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6 (Semiring.toModule.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4))) (Algebra.to_smulCommClass.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5)))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u2 u3) u4, u4, u3, max u2 u4} (LinearEquiv.{u4, u4, u3, max u2 u4} S S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) (RingHom.id.{u4} S (Semiring.toNonAssocSemiring.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)))) (RingHom.id.{u4} S (Semiring.toNonAssocSemiring.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)))) (RingHomInvPair.ids.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4))) (RingHomInvPair.ids.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4))) N (TensorProduct.{u1, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6) _inst_2 (TensorProduct.addCommMonoid.{u1, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6) _inst_8 (TensorProduct.leftModule.{u1, u4, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6 (Semiring.toModule.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4))) (Algebra.to_smulCommClass.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5))) S N (TensorProduct.{u1, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6) (MonoidWithZero.toMonoid.{u4} S (Semiring.toMonoidWithZero.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)))) (AddCommMonoid.toAddMonoid.{u3} N _inst_2) (AddCommMonoid.toAddMonoid.{max u2 u4} (TensorProduct.{u1, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6) (TensorProduct.addCommMonoid.{u1, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6)) (Module.toDistribMulAction.{u4, u3} S N (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_2 _inst_8) (Module.toDistribMulAction.{u4, max u2 u4} S (TensorProduct.{u1, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) (TensorProduct.addCommMonoid.{u1, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6) (TensorProduct.leftModule.{u1, u4, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6 (Semiring.toModule.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4))) (Algebra.to_smulCommClass.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5))) (SemilinearMapClass.distribMulActionHomClass.{u4, u3, max u2 u4, max (max u2 u3) u4} S N (TensorProduct.{u1, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6) (LinearEquiv.{u4, u4, u3, max u2 u4} S S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) (RingHom.id.{u4} S (Semiring.toNonAssocSemiring.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)))) (RingHom.id.{u4} S (Semiring.toNonAssocSemiring.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)))) (RingHomInvPair.ids.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4))) (RingHomInvPair.ids.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4))) N (TensorProduct.{u1, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6) _inst_2 (TensorProduct.addCommMonoid.{u1, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6) _inst_8 (TensorProduct.leftModule.{u1, u4, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6 (Semiring.toModule.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4))) (Algebra.to_smulCommClass.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5))) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_2 (TensorProduct.addCommMonoid.{u1, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6) _inst_8 (TensorProduct.leftModule.{u1, u4, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6 (Semiring.toModule.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4))) (Algebra.to_smulCommClass.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5)) (SemilinearEquivClass.instSemilinearMapClass.{u4, u4, u3, max u2 u4, max (max u2 u3) u4} S S N (TensorProduct.{u1, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6) (LinearEquiv.{u4, u4, u3, max u2 u4} S S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) (RingHom.id.{u4} S (Semiring.toNonAssocSemiring.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)))) (RingHom.id.{u4} S (Semiring.toNonAssocSemiring.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)))) (RingHomInvPair.ids.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4))) (RingHomInvPair.ids.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4))) N (TensorProduct.{u1, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6) _inst_2 (TensorProduct.addCommMonoid.{u1, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6) _inst_8 (TensorProduct.leftModule.{u1, u4, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6 (Semiring.toModule.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4))) (Algebra.to_smulCommClass.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5))) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_2 (TensorProduct.addCommMonoid.{u1, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6) _inst_8 (TensorProduct.leftModule.{u1, u4, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6 (Semiring.toModule.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4))) (Algebra.to_smulCommClass.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5)) (RingHom.id.{u4} S (Semiring.toNonAssocSemiring.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)))) (RingHom.id.{u4} S (Semiring.toNonAssocSemiring.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)))) (RingHomInvPair.ids.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4))) (RingHomInvPair.ids.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u4, u4, u3, max u2 u4} S S N (TensorProduct.{u1, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_2 (TensorProduct.addCommMonoid.{u1, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6) _inst_8 (TensorProduct.leftModule.{u1, u4, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6 (Semiring.toModule.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4))) (Algebra.to_smulCommClass.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5)) (RingHom.id.{u4} S (Semiring.toNonAssocSemiring.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)))) (RingHom.id.{u4} S (Semiring.toNonAssocSemiring.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)))) (RingHomInvPair.ids.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4))) (RingHomInvPair.ids.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)))))))) (LinearEquiv.symm.{u4, u4, max u2 u4, u3} S S (TensorProduct.{u1, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6) N (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) (TensorProduct.addCommMonoid.{u1, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6) _inst_2 (TensorProduct.leftModule.{u1, u4, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6 (Semiring.toModule.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4))) (Algebra.to_smulCommClass.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5)) _inst_8 (RingHom.id.{u4} S (Semiring.toNonAssocSemiring.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)))) (RingHom.id.{u4} S (Semiring.toNonAssocSemiring.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)))) (RingHomInvPair.ids.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4))) (RingHomInvPair.ids.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4))) (IsBaseChange.equiv.{u2, u3, u4, u1} R M N S _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 f h)) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)))) M N _inst_1 _inst_2 _inst_6 _inst_7) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => N) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u3} R R M N (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) _inst_1 _inst_2 _inst_6 _inst_7 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3))))) f m)) (TensorProduct.tmul.{u1, u4, u2} R (CommRing.toCommSemiring.{u1} R _inst_3) S M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} S (NonAssocRing.toNonUnitalNonAssocRing.{u4} S (Ring.toNonAssocRing.{u4} S (CommRing.toRing.{u4} S _inst_4))))) _inst_1 (Algebra.toModule.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) _inst_6 (OfNat.ofNat.{u4} S 1 (One.toOfNat1.{u4} S (Semiring.toOne.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4))))) m)
+Case conversion may be inaccurate. Consider using '#align is_base_change.equiv_symm_apply IsBaseChange.equiv_symm_applyₓ'. -/
 theorem IsBaseChange.equiv_symm_apply (m : M) : h.Equiv.symm (f m) = 1 ⊗ₜ m := by
   rw [h.equiv.symm_apply_eq, h.equiv_tmul, one_smul]
 #align is_base_change.equiv_symm_apply IsBaseChange.equiv_symm_apply
 
 variable (f)
 
-theorem IsBaseChange.ofLiftUnique
+/- warning: is_base_change.of_lift_unique -> IsBaseChange.of_lift_unique is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u4}} {M : Type.{u1}} {N : Type.{u2}} {S : Type.{u3}} [_inst_1 : AddCommMonoid.{u1} M] [_inst_2 : AddCommMonoid.{u2} N] [_inst_3 : CommRing.{u4} R] [_inst_4 : CommRing.{u3} S] [_inst_5 : Algebra.{u4, u3} R S (CommRing.toCommSemiring.{u4} R _inst_3) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4))] [_inst_6 : Module.{u4, u1} R M (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) _inst_1] [_inst_7 : Module.{u4, u2} R N (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) _inst_2] [_inst_8 : Module.{u3, u2} S N (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) _inst_2] [_inst_9 : IsScalarTower.{u4, u3, u2} R S N (SMulZeroClass.toHasSmul.{u4, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))))))) (SMulWithZero.toSmulZeroClass.{u4, u3} R S (MulZeroClass.toHasZero.{u4} R (MulZeroOneClass.toMulZeroClass.{u4} R (MonoidWithZero.toMulZeroOneClass.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))))))) (MulActionWithZero.toSMulWithZero.{u4, u3} R S (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))))))) (Module.toMulActionWithZero.{u4, u3} R S (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4))))) (Algebra.toModule.{u4, u3} R S (CommRing.toCommSemiring.{u4} R _inst_3) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) _inst_5))))) (SMulZeroClass.toHasSmul.{u3, u2} S N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_2))) (SMulWithZero.toSmulZeroClass.{u3, u2} S N (MulZeroClass.toHasZero.{u3} S (MulZeroOneClass.toMulZeroClass.{u3} S (MonoidWithZero.toMulZeroOneClass.{u3} S (Semiring.toMonoidWithZero.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))))) (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_2))) (MulActionWithZero.toSMulWithZero.{u3, u2} S N (Semiring.toMonoidWithZero.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4))) (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_2))) (Module.toMulActionWithZero.{u3, u2} S N (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) _inst_2 _inst_8)))) (SMulZeroClass.toHasSmul.{u4, u2} R N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_2))) (SMulWithZero.toSmulZeroClass.{u4, u2} R N (MulZeroClass.toHasZero.{u4} R (MulZeroOneClass.toMulZeroClass.{u4} R (MonoidWithZero.toMulZeroOneClass.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)))))) (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_2))) (MulActionWithZero.toSMulWithZero.{u4, u2} R N (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3))) (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_2))) (Module.toMulActionWithZero.{u4, u2} R N (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) _inst_2 _inst_7))))] (f : LinearMap.{u4, u4, u1, u2} R R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)))) M N _inst_1 _inst_2 _inst_6 _inst_7), (forall (Q : Type.{max u1 u2 u3}) [_inst_14 : AddCommMonoid.{max u1 u2 u3} Q] [_inst_15 : Module.{u4, max u1 u2 u3} R Q (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) _inst_14] [_inst_16 : Module.{u3, max u1 u2 u3} S Q (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) _inst_14] [_inst_15_1 : IsScalarTower.{u4, u3, max u1 u2 u3} R S Q (SMulZeroClass.toHasSmul.{u4, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))))))) (SMulWithZero.toSmulZeroClass.{u4, u3} R S (MulZeroClass.toHasZero.{u4} R (MulZeroOneClass.toMulZeroClass.{u4} R (MonoidWithZero.toMulZeroOneClass.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))))))) (MulActionWithZero.toSMulWithZero.{u4, u3} R S (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))))))) (Module.toMulActionWithZero.{u4, u3} R S (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4))))) (Algebra.toModule.{u4, u3} R S (CommRing.toCommSemiring.{u4} R _inst_3) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) _inst_5))))) (SMulZeroClass.toHasSmul.{u3, max u1 u2 u3} S Q (AddZeroClass.toHasZero.{max u1 u2 u3} Q (AddMonoid.toAddZeroClass.{max u1 u2 u3} Q (AddCommMonoid.toAddMonoid.{max u1 u2 u3} Q _inst_14))) (SMulWithZero.toSmulZeroClass.{u3, max u1 u2 u3} S Q (MulZeroClass.toHasZero.{u3} S (MulZeroOneClass.toMulZeroClass.{u3} S (MonoidWithZero.toMulZeroOneClass.{u3} S (Semiring.toMonoidWithZero.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))))) (AddZeroClass.toHasZero.{max u1 u2 u3} Q (AddMonoid.toAddZeroClass.{max u1 u2 u3} Q (AddCommMonoid.toAddMonoid.{max u1 u2 u3} Q _inst_14))) (MulActionWithZero.toSMulWithZero.{u3, max u1 u2 u3} S Q (Semiring.toMonoidWithZero.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4))) (AddZeroClass.toHasZero.{max u1 u2 u3} Q (AddMonoid.toAddZeroClass.{max u1 u2 u3} Q (AddCommMonoid.toAddMonoid.{max u1 u2 u3} Q _inst_14))) (Module.toMulActionWithZero.{u3, max u1 u2 u3} S Q (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) _inst_14 _inst_16)))) (SMulZeroClass.toHasSmul.{u4, max u1 u2 u3} R Q (AddZeroClass.toHasZero.{max u1 u2 u3} Q (AddMonoid.toAddZeroClass.{max u1 u2 u3} Q (AddCommMonoid.toAddMonoid.{max u1 u2 u3} Q _inst_14))) (SMulWithZero.toSmulZeroClass.{u4, max u1 u2 u3} R Q (MulZeroClass.toHasZero.{u4} R (MulZeroOneClass.toMulZeroClass.{u4} R (MonoidWithZero.toMulZeroOneClass.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)))))) (AddZeroClass.toHasZero.{max u1 u2 u3} Q (AddMonoid.toAddZeroClass.{max u1 u2 u3} Q (AddCommMonoid.toAddMonoid.{max u1 u2 u3} Q _inst_14))) (MulActionWithZero.toSMulWithZero.{u4, max u1 u2 u3} R Q (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3))) (AddZeroClass.toHasZero.{max u1 u2 u3} Q (AddMonoid.toAddZeroClass.{max u1 u2 u3} Q (AddCommMonoid.toAddMonoid.{max u1 u2 u3} Q _inst_14))) (Module.toMulActionWithZero.{u4, max u1 u2 u3} R Q (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) _inst_14 _inst_15))))] (g : LinearMap.{u4, u4, u1, max u1 u2 u3} R R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)))) M Q _inst_1 _inst_14 _inst_6 _inst_15), ExistsUnique.{max (succ u2) (succ (max u1 u2 u3))} (LinearMap.{u3, u3, u2, max u1 u2 u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))) N Q _inst_2 _inst_14 _inst_8 _inst_16) (fun (g' : LinearMap.{u3, u3, u2, max u1 u2 u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))) N Q _inst_2 _inst_14 _inst_8 _inst_16) => Eq.{max (succ u1) (succ (max u1 u2 u3))} (LinearMap.{u4, u4, u1, max u1 u2 u3} R R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)))) M Q _inst_1 _inst_14 _inst_6 _inst_15) (LinearMap.comp.{u4, u4, u4, u1, u2, max u1 u2 u3} R R R M N Q (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) _inst_1 _inst_2 _inst_14 _inst_6 _inst_7 _inst_15 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)))) (RingHomCompTriple.right_ids.{u4, u4} R R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3))))) (LinearMap.restrictScalars.{u4, u3, u2, max u1 u2 u3} R S N Q (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) _inst_2 _inst_14 _inst_7 _inst_15 _inst_8 _inst_16 (LinearMap.IsScalarTower.compatibleSMul.{u2, max u1 u2 u3, u4, u3} N Q _inst_2 _inst_14 R S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) (SMulZeroClass.toHasSmul.{u4, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))))))) (SMulWithZero.toSmulZeroClass.{u4, u3} R S (MulZeroClass.toHasZero.{u4} R (MulZeroOneClass.toMulZeroClass.{u4} R (MonoidWithZero.toMulZeroOneClass.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))))))) (MulActionWithZero.toSMulWithZero.{u4, u3} R S (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))))))) (Module.toMulActionWithZero.{u4, u3} R S (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4))))) (Algebra.toModule.{u4, u3} R S (CommRing.toCommSemiring.{u4} R _inst_3) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) _inst_5))))) (SMulZeroClass.toHasSmul.{u4, u2} R N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_2))) (SMulWithZero.toSmulZeroClass.{u4, u2} R N (MulZeroClass.toHasZero.{u4} R (MulZeroOneClass.toMulZeroClass.{u4} R (MonoidWithZero.toMulZeroOneClass.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)))))) (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_2))) (MulActionWithZero.toSMulWithZero.{u4, u2} R N (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3))) (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_2))) (Module.toMulActionWithZero.{u4, u2} R N (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) _inst_2 _inst_7)))) _inst_8 _inst_9 (SMulZeroClass.toHasSmul.{u4, max u1 u2 u3} R Q (AddZeroClass.toHasZero.{max u1 u2 u3} Q (AddMonoid.toAddZeroClass.{max u1 u2 u3} Q (AddCommMonoid.toAddMonoid.{max u1 u2 u3} Q _inst_14))) (SMulWithZero.toSmulZeroClass.{u4, max u1 u2 u3} R Q (MulZeroClass.toHasZero.{u4} R (MulZeroOneClass.toMulZeroClass.{u4} R (MonoidWithZero.toMulZeroOneClass.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)))))) (AddZeroClass.toHasZero.{max u1 u2 u3} Q (AddMonoid.toAddZeroClass.{max u1 u2 u3} Q (AddCommMonoid.toAddMonoid.{max u1 u2 u3} Q _inst_14))) (MulActionWithZero.toSMulWithZero.{u4, max u1 u2 u3} R Q (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3))) (AddZeroClass.toHasZero.{max u1 u2 u3} Q (AddMonoid.toAddZeroClass.{max u1 u2 u3} Q (AddCommMonoid.toAddMonoid.{max u1 u2 u3} Q _inst_14))) (Module.toMulActionWithZero.{u4, max u1 u2 u3} R Q (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) _inst_14 _inst_15)))) _inst_16 _inst_15_1) g') f) g)) -> (IsBaseChange.{u1, u2, u3, u4} R M N S _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 f)
+but is expected to have type
+  forall {R : Type.{u1}} {M : Type.{u2}} {N : Type.{u3}} {S : Type.{u4}} [_inst_1 : AddCommMonoid.{u2} M] [_inst_2 : AddCommMonoid.{u3} N] [_inst_3 : CommRing.{u1} R] [_inst_4 : CommRing.{u4} S] [_inst_5 : Algebra.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4))] [_inst_6 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) _inst_1] [_inst_7 : Module.{u1, u3} R N (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) _inst_2] [_inst_8 : Module.{u4, u3} S N (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_2] [_inst_9 : IsScalarTower.{u1, u4, u3} R S N (Algebra.toSMul.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) (SMulZeroClass.toSMul.{u4, u3} S N (AddMonoid.toZero.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_2)) (SMulWithZero.toSMulZeroClass.{u4, u3} S N (CommMonoidWithZero.toZero.{u4} S (CommSemiring.toCommMonoidWithZero.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4))) (AddMonoid.toZero.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_2)) (MulActionWithZero.toSMulWithZero.{u4, u3} S N (Semiring.toMonoidWithZero.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4))) (AddMonoid.toZero.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_2)) (Module.toMulActionWithZero.{u4, u3} S N (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_2 _inst_8)))) (SMulZeroClass.toSMul.{u1, u3} R N (AddMonoid.toZero.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u3} R N (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3))) (AddMonoid.toZero.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u3} R N (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3))) (AddMonoid.toZero.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_2)) (Module.toMulActionWithZero.{u1, u3} R N (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) _inst_2 _inst_7))))] (f : LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)))) M N _inst_1 _inst_2 _inst_6 _inst_7), (forall (Q : Type.{max u2 u3 u4}) [_inst_14 : AddCommMonoid.{max (max u2 u3) u4} Q] [_inst_15 : Module.{u1, max (max u2 u3) u4} R Q (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) _inst_14] [_inst_16 : Module.{u4, max (max u2 u3) u4} S Q (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_14] [_inst_15_1 : IsScalarTower.{u1, u4, max (max u2 u3) u4} R S Q (Algebra.toSMul.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) (SMulZeroClass.toSMul.{u4, max (max u2 u3) u4} S Q (AddMonoid.toZero.{max (max u2 u3) u4} Q (AddCommMonoid.toAddMonoid.{max (max u2 u3) u4} Q _inst_14)) (SMulWithZero.toSMulZeroClass.{u4, max (max u2 u3) u4} S Q (CommMonoidWithZero.toZero.{u4} S (CommSemiring.toCommMonoidWithZero.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4))) (AddMonoid.toZero.{max (max u2 u3) u4} Q (AddCommMonoid.toAddMonoid.{max (max u2 u3) u4} Q _inst_14)) (MulActionWithZero.toSMulWithZero.{u4, max (max u2 u3) u4} S Q (Semiring.toMonoidWithZero.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4))) (AddMonoid.toZero.{max (max u2 u3) u4} Q (AddCommMonoid.toAddMonoid.{max (max u2 u3) u4} Q _inst_14)) (Module.toMulActionWithZero.{u4, max (max u2 u3) u4} S Q (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_14 _inst_16)))) (SMulZeroClass.toSMul.{u1, max (max u2 u3) u4} R Q (AddMonoid.toZero.{max (max u2 u3) u4} Q (AddCommMonoid.toAddMonoid.{max (max u2 u3) u4} Q _inst_14)) (SMulWithZero.toSMulZeroClass.{u1, max (max u2 u3) u4} R Q (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3))) (AddMonoid.toZero.{max (max u2 u3) u4} Q (AddCommMonoid.toAddMonoid.{max (max u2 u3) u4} Q _inst_14)) (MulActionWithZero.toSMulWithZero.{u1, max (max u2 u3) u4} R Q (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3))) (AddMonoid.toZero.{max (max u2 u3) u4} Q (AddCommMonoid.toAddMonoid.{max (max u2 u3) u4} Q _inst_14)) (Module.toMulActionWithZero.{u1, max (max u2 u3) u4} R Q (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) _inst_14 _inst_15))))] (g : LinearMap.{u1, u1, u2, max (max u2 u3) u4} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)))) M Q _inst_1 _inst_14 _inst_6 _inst_15), ExistsUnique.{max (max (succ u2) (succ u3)) (succ u4)} (LinearMap.{u4, u4, u3, max (max u2 u3) u4} S S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) (RingHom.id.{u4} S (Semiring.toNonAssocSemiring.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)))) N Q _inst_2 _inst_14 _inst_8 _inst_16) (fun (g' : LinearMap.{u4, u4, u3, max (max u2 u3) u4} S S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) (RingHom.id.{u4} S (Semiring.toNonAssocSemiring.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)))) N Q _inst_2 _inst_14 _inst_8 _inst_16) => Eq.{max (max (succ u2) (succ u3)) (succ u4)} (LinearMap.{u1, u1, u2, max (max u2 u3) u4} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)))) M Q _inst_1 _inst_14 _inst_6 _inst_15) (LinearMap.comp.{u1, u1, u1, u2, u3, max (max u2 u3) u4} R R R M N Q (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) _inst_1 _inst_2 _inst_14 _inst_6 _inst_7 _inst_15 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)))) (RingHomCompTriple.ids.{u1, u1} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3))))) (LinearMap.restrictScalars.{u1, u4, u3, max (max u2 u3) u4} R S N Q (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_2 _inst_14 _inst_7 _inst_15 _inst_8 _inst_16 (LinearMap.IsScalarTower.compatibleSMul.{u3, max (max u2 u3) u4, u1, u4} N Q _inst_2 _inst_14 R S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) (Algebra.toSMul.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) (SMulZeroClass.toSMul.{u1, u3} R N (AddMonoid.toZero.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u3} R N (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)))) (AddMonoid.toZero.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u3} R N (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3))) (AddMonoid.toZero.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_2)) (Module.toMulActionWithZero.{u1, u3} R N (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) _inst_2 _inst_7)))) _inst_8 _inst_9 (SMulZeroClass.toSMul.{u1, max (max u2 u3) u4} R Q (AddMonoid.toZero.{max (max u2 u3) u4} Q (AddCommMonoid.toAddMonoid.{max (max u2 u3) u4} Q _inst_14)) (SMulWithZero.toSMulZeroClass.{u1, max (max u2 u3) u4} R Q (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)))) (AddMonoid.toZero.{max (max u2 u3) u4} Q (AddCommMonoid.toAddMonoid.{max (max u2 u3) u4} Q _inst_14)) (MulActionWithZero.toSMulWithZero.{u1, max (max u2 u3) u4} R Q (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3))) (AddMonoid.toZero.{max (max u2 u3) u4} Q (AddCommMonoid.toAddMonoid.{max (max u2 u3) u4} Q _inst_14)) (Module.toMulActionWithZero.{u1, max (max u2 u3) u4} R Q (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) _inst_14 _inst_15)))) _inst_16 _inst_15_1) g') f) g)) -> (IsBaseChange.{u2, u3, u4, u1} R M N S _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 f)
+Case conversion may be inaccurate. Consider using '#align is_base_change.of_lift_unique IsBaseChange.of_lift_uniqueₓ'. -/
+theorem IsBaseChange.of_lift_unique
     (h :
       ∀ (Q : Type max v₁ v₂ v₃) [AddCommMonoid Q],
         ∀ [Module R Q] [Module S Q],
@@ -307,10 +411,16 @@ theorem IsBaseChange.ofLiftUnique
     change (g <| (1 : S) • f x).down = _
     rw [one_smul, hg]
     rfl
-#align is_base_change.of_lift_unique IsBaseChange.ofLiftUnique
+#align is_base_change.of_lift_unique IsBaseChange.of_lift_unique
 
 variable {f}
 
+/- warning: is_base_change.iff_lift_unique -> IsBaseChange.iff_lift_unique is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u4}} {M : Type.{u1}} {N : Type.{u2}} {S : Type.{u3}} [_inst_1 : AddCommMonoid.{u1} M] [_inst_2 : AddCommMonoid.{u2} N] [_inst_3 : CommRing.{u4} R] [_inst_4 : CommRing.{u3} S] [_inst_5 : Algebra.{u4, u3} R S (CommRing.toCommSemiring.{u4} R _inst_3) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4))] [_inst_6 : Module.{u4, u1} R M (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) _inst_1] [_inst_7 : Module.{u4, u2} R N (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) _inst_2] [_inst_8 : Module.{u3, u2} S N (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) _inst_2] [_inst_9 : IsScalarTower.{u4, u3, u2} R S N (SMulZeroClass.toHasSmul.{u4, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))))))) (SMulWithZero.toSmulZeroClass.{u4, u3} R S (MulZeroClass.toHasZero.{u4} R (MulZeroOneClass.toMulZeroClass.{u4} R (MonoidWithZero.toMulZeroOneClass.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))))))) (MulActionWithZero.toSMulWithZero.{u4, u3} R S (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))))))) (Module.toMulActionWithZero.{u4, u3} R S (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4))))) (Algebra.toModule.{u4, u3} R S (CommRing.toCommSemiring.{u4} R _inst_3) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) _inst_5))))) (SMulZeroClass.toHasSmul.{u3, u2} S N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_2))) (SMulWithZero.toSmulZeroClass.{u3, u2} S N (MulZeroClass.toHasZero.{u3} S (MulZeroOneClass.toMulZeroClass.{u3} S (MonoidWithZero.toMulZeroOneClass.{u3} S (Semiring.toMonoidWithZero.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))))) (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_2))) (MulActionWithZero.toSMulWithZero.{u3, u2} S N (Semiring.toMonoidWithZero.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4))) (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_2))) (Module.toMulActionWithZero.{u3, u2} S N (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) _inst_2 _inst_8)))) (SMulZeroClass.toHasSmul.{u4, u2} R N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_2))) (SMulWithZero.toSmulZeroClass.{u4, u2} R N (MulZeroClass.toHasZero.{u4} R (MulZeroOneClass.toMulZeroClass.{u4} R (MonoidWithZero.toMulZeroOneClass.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)))))) (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_2))) (MulActionWithZero.toSMulWithZero.{u4, u2} R N (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3))) (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_2))) (Module.toMulActionWithZero.{u4, u2} R N (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) _inst_2 _inst_7))))] {f : LinearMap.{u4, u4, u1, u2} R R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)))) M N _inst_1 _inst_2 _inst_6 _inst_7}, Iff (IsBaseChange.{u1, u2, u3, u4} R M N S _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 f) (forall (Q : Type.{max u1 u2 u3}) [_inst_14 : AddCommMonoid.{max u1 u2 u3} Q] [_inst_15 : Module.{u4, max u1 u2 u3} R Q (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) _inst_14] [_inst_16 : Module.{u3, max u1 u2 u3} S Q (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) _inst_14] [_inst_15_1 : IsScalarTower.{u4, u3, max u1 u2 u3} R S Q (SMulZeroClass.toHasSmul.{u4, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))))))) (SMulWithZero.toSmulZeroClass.{u4, u3} R S (MulZeroClass.toHasZero.{u4} R (MulZeroOneClass.toMulZeroClass.{u4} R (MonoidWithZero.toMulZeroOneClass.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))))))) (MulActionWithZero.toSMulWithZero.{u4, u3} R S (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))))))) (Module.toMulActionWithZero.{u4, u3} R S (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4))))) (Algebra.toModule.{u4, u3} R S (CommRing.toCommSemiring.{u4} R _inst_3) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) _inst_5))))) (SMulZeroClass.toHasSmul.{u3, max u1 u2 u3} S Q (AddZeroClass.toHasZero.{max u1 u2 u3} Q (AddMonoid.toAddZeroClass.{max u1 u2 u3} Q (AddCommMonoid.toAddMonoid.{max u1 u2 u3} Q _inst_14))) (SMulWithZero.toSmulZeroClass.{u3, max u1 u2 u3} S Q (MulZeroClass.toHasZero.{u3} S (MulZeroOneClass.toMulZeroClass.{u3} S (MonoidWithZero.toMulZeroOneClass.{u3} S (Semiring.toMonoidWithZero.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))))) (AddZeroClass.toHasZero.{max u1 u2 u3} Q (AddMonoid.toAddZeroClass.{max u1 u2 u3} Q (AddCommMonoid.toAddMonoid.{max u1 u2 u3} Q _inst_14))) (MulActionWithZero.toSMulWithZero.{u3, max u1 u2 u3} S Q (Semiring.toMonoidWithZero.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4))) (AddZeroClass.toHasZero.{max u1 u2 u3} Q (AddMonoid.toAddZeroClass.{max u1 u2 u3} Q (AddCommMonoid.toAddMonoid.{max u1 u2 u3} Q _inst_14))) (Module.toMulActionWithZero.{u3, max u1 u2 u3} S Q (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) _inst_14 _inst_16)))) (SMulZeroClass.toHasSmul.{u4, max u1 u2 u3} R Q (AddZeroClass.toHasZero.{max u1 u2 u3} Q (AddMonoid.toAddZeroClass.{max u1 u2 u3} Q (AddCommMonoid.toAddMonoid.{max u1 u2 u3} Q _inst_14))) (SMulWithZero.toSmulZeroClass.{u4, max u1 u2 u3} R Q (MulZeroClass.toHasZero.{u4} R (MulZeroOneClass.toMulZeroClass.{u4} R (MonoidWithZero.toMulZeroOneClass.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)))))) (AddZeroClass.toHasZero.{max u1 u2 u3} Q (AddMonoid.toAddZeroClass.{max u1 u2 u3} Q (AddCommMonoid.toAddMonoid.{max u1 u2 u3} Q _inst_14))) (MulActionWithZero.toSMulWithZero.{u4, max u1 u2 u3} R Q (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3))) (AddZeroClass.toHasZero.{max u1 u2 u3} Q (AddMonoid.toAddZeroClass.{max u1 u2 u3} Q (AddCommMonoid.toAddMonoid.{max u1 u2 u3} Q _inst_14))) (Module.toMulActionWithZero.{u4, max u1 u2 u3} R Q (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) _inst_14 _inst_15))))] (g : LinearMap.{u4, u4, u1, max u1 u2 u3} R R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)))) M Q _inst_1 _inst_14 _inst_6 _inst_15), ExistsUnique.{max (succ u2) (succ (max u1 u2 u3))} (LinearMap.{u3, u3, u2, max u1 u2 u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))) N Q _inst_2 _inst_14 _inst_8 _inst_16) (fun (g' : LinearMap.{u3, u3, u2, max u1 u2 u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))) N Q _inst_2 _inst_14 _inst_8 _inst_16) => Eq.{max (succ u1) (succ (max u1 u2 u3))} (LinearMap.{u4, u4, u1, max u1 u2 u3} R R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)))) M Q _inst_1 _inst_14 _inst_6 _inst_15) (LinearMap.comp.{u4, u4, u4, u1, u2, max u1 u2 u3} R R R M N Q (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) _inst_1 _inst_2 _inst_14 _inst_6 _inst_7 _inst_15 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)))) (RingHomCompTriple.right_ids.{u4, u4} R R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3))))) (LinearMap.restrictScalars.{u4, u3, u2, max u1 u2 u3} R S N Q (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) _inst_2 _inst_14 _inst_7 _inst_15 _inst_8 _inst_16 (LinearMap.IsScalarTower.compatibleSMul.{u2, max u1 u2 u3, u4, u3} N Q _inst_2 _inst_14 R S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) (SMulZeroClass.toHasSmul.{u4, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))))))) (SMulWithZero.toSmulZeroClass.{u4, u3} R S (MulZeroClass.toHasZero.{u4} R (MulZeroOneClass.toMulZeroClass.{u4} R (MonoidWithZero.toMulZeroOneClass.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))))))) (MulActionWithZero.toSMulWithZero.{u4, u3} R S (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))))))) (Module.toMulActionWithZero.{u4, u3} R S (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4))))) (Algebra.toModule.{u4, u3} R S (CommRing.toCommSemiring.{u4} R _inst_3) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) _inst_5))))) (SMulZeroClass.toHasSmul.{u4, u2} R N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_2))) (SMulWithZero.toSmulZeroClass.{u4, u2} R N (MulZeroClass.toHasZero.{u4} R (MulZeroOneClass.toMulZeroClass.{u4} R (MonoidWithZero.toMulZeroOneClass.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)))))) (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_2))) (MulActionWithZero.toSMulWithZero.{u4, u2} R N (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3))) (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_2))) (Module.toMulActionWithZero.{u4, u2} R N (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) _inst_2 _inst_7)))) _inst_8 _inst_9 (SMulZeroClass.toHasSmul.{u4, max u1 u2 u3} R Q (AddZeroClass.toHasZero.{max u1 u2 u3} Q (AddMonoid.toAddZeroClass.{max u1 u2 u3} Q (AddCommMonoid.toAddMonoid.{max u1 u2 u3} Q _inst_14))) (SMulWithZero.toSmulZeroClass.{u4, max u1 u2 u3} R Q (MulZeroClass.toHasZero.{u4} R (MulZeroOneClass.toMulZeroClass.{u4} R (MonoidWithZero.toMulZeroOneClass.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)))))) (AddZeroClass.toHasZero.{max u1 u2 u3} Q (AddMonoid.toAddZeroClass.{max u1 u2 u3} Q (AddCommMonoid.toAddMonoid.{max u1 u2 u3} Q _inst_14))) (MulActionWithZero.toSMulWithZero.{u4, max u1 u2 u3} R Q (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3))) (AddZeroClass.toHasZero.{max u1 u2 u3} Q (AddMonoid.toAddZeroClass.{max u1 u2 u3} Q (AddCommMonoid.toAddMonoid.{max u1 u2 u3} Q _inst_14))) (Module.toMulActionWithZero.{u4, max u1 u2 u3} R Q (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) _inst_14 _inst_15)))) _inst_16 _inst_15_1) g') f) g))
+but is expected to have type
+  forall {R : Type.{u1}} {M : Type.{u2}} {N : Type.{u3}} {S : Type.{u4}} [_inst_1 : AddCommMonoid.{u2} M] [_inst_2 : AddCommMonoid.{u3} N] [_inst_3 : CommRing.{u1} R] [_inst_4 : CommRing.{u4} S] [_inst_5 : Algebra.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4))] [_inst_6 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) _inst_1] [_inst_7 : Module.{u1, u3} R N (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) _inst_2] [_inst_8 : Module.{u4, u3} S N (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_2] [_inst_9 : IsScalarTower.{u1, u4, u3} R S N (Algebra.toSMul.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) (SMulZeroClass.toSMul.{u4, u3} S N (AddMonoid.toZero.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_2)) (SMulWithZero.toSMulZeroClass.{u4, u3} S N (CommMonoidWithZero.toZero.{u4} S (CommSemiring.toCommMonoidWithZero.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4))) (AddMonoid.toZero.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_2)) (MulActionWithZero.toSMulWithZero.{u4, u3} S N (Semiring.toMonoidWithZero.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4))) (AddMonoid.toZero.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_2)) (Module.toMulActionWithZero.{u4, u3} S N (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_2 _inst_8)))) (SMulZeroClass.toSMul.{u1, u3} R N (AddMonoid.toZero.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u3} R N (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3))) (AddMonoid.toZero.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u3} R N (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3))) (AddMonoid.toZero.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_2)) (Module.toMulActionWithZero.{u1, u3} R N (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) _inst_2 _inst_7))))] {f : LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)))) M N _inst_1 _inst_2 _inst_6 _inst_7}, Iff (IsBaseChange.{u2, u3, u4, u1} R M N S _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 f) (forall (Q : Type.{max u2 u3 u4}) [_inst_14 : AddCommMonoid.{max (max u2 u3) u4} Q] [_inst_15 : Module.{u1, max (max u2 u3) u4} R Q (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) _inst_14] [_inst_16 : Module.{u4, max (max u2 u3) u4} S Q (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_14] [_inst_15_1 : IsScalarTower.{u1, u4, max (max u2 u3) u4} R S Q (Algebra.toSMul.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) (SMulZeroClass.toSMul.{u4, max (max u2 u3) u4} S Q (AddMonoid.toZero.{max (max u2 u3) u4} Q (AddCommMonoid.toAddMonoid.{max (max u2 u3) u4} Q _inst_14)) (SMulWithZero.toSMulZeroClass.{u4, max (max u2 u3) u4} S Q (CommMonoidWithZero.toZero.{u4} S (CommSemiring.toCommMonoidWithZero.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4))) (AddMonoid.toZero.{max (max u2 u3) u4} Q (AddCommMonoid.toAddMonoid.{max (max u2 u3) u4} Q _inst_14)) (MulActionWithZero.toSMulWithZero.{u4, max (max u2 u3) u4} S Q (Semiring.toMonoidWithZero.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4))) (AddMonoid.toZero.{max (max u2 u3) u4} Q (AddCommMonoid.toAddMonoid.{max (max u2 u3) u4} Q _inst_14)) (Module.toMulActionWithZero.{u4, max (max u2 u3) u4} S Q (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_14 _inst_16)))) (SMulZeroClass.toSMul.{u1, max (max u2 u3) u4} R Q (AddMonoid.toZero.{max (max u2 u3) u4} Q (AddCommMonoid.toAddMonoid.{max (max u2 u3) u4} Q _inst_14)) (SMulWithZero.toSMulZeroClass.{u1, max (max u2 u3) u4} R Q (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3))) (AddMonoid.toZero.{max (max u2 u3) u4} Q (AddCommMonoid.toAddMonoid.{max (max u2 u3) u4} Q _inst_14)) (MulActionWithZero.toSMulWithZero.{u1, max (max u2 u3) u4} R Q (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3))) (AddMonoid.toZero.{max (max u2 u3) u4} Q (AddCommMonoid.toAddMonoid.{max (max u2 u3) u4} Q _inst_14)) (Module.toMulActionWithZero.{u1, max (max u2 u3) u4} R Q (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) _inst_14 _inst_15))))] (g : LinearMap.{u1, u1, u2, max (max u2 u3) u4} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)))) M Q _inst_1 _inst_14 _inst_6 _inst_15), ExistsUnique.{max (max (succ u2) (succ u3)) (succ u4)} (LinearMap.{u4, u4, u3, max (max u2 u3) u4} S S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) (RingHom.id.{u4} S (Semiring.toNonAssocSemiring.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)))) N Q _inst_2 _inst_14 _inst_8 _inst_16) (fun (g' : LinearMap.{u4, u4, u3, max (max u2 u3) u4} S S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) (RingHom.id.{u4} S (Semiring.toNonAssocSemiring.{u4} S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)))) N Q _inst_2 _inst_14 _inst_8 _inst_16) => Eq.{max (max (succ u2) (succ u3)) (succ u4)} (LinearMap.{u1, u1, u2, max (max u2 u3) u4} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)))) M Q _inst_1 _inst_14 _inst_6 _inst_15) (LinearMap.comp.{u1, u1, u1, u2, u3, max (max u2 u3) u4} R R R M N Q (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) _inst_1 _inst_2 _inst_14 _inst_6 _inst_7 _inst_15 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)))) (RingHomCompTriple.ids.{u1, u1} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3))))) (LinearMap.restrictScalars.{u1, u4, u3, max (max u2 u3) u4} R S N Q (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_2 _inst_14 _inst_7 _inst_15 _inst_8 _inst_16 (LinearMap.IsScalarTower.compatibleSMul.{u3, max (max u2 u3) u4, u1, u4} N Q _inst_2 _inst_14 R S (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) (Algebra.toSMul.{u1, u4} R S (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) (SMulZeroClass.toSMul.{u1, u3} R N (AddMonoid.toZero.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u3} R N (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)))) (AddMonoid.toZero.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u3} R N (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3))) (AddMonoid.toZero.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_2)) (Module.toMulActionWithZero.{u1, u3} R N (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) _inst_2 _inst_7)))) _inst_8 _inst_9 (SMulZeroClass.toSMul.{u1, max (max u2 u3) u4} R Q (AddMonoid.toZero.{max (max u2 u3) u4} Q (AddCommMonoid.toAddMonoid.{max (max u2 u3) u4} Q _inst_14)) (SMulWithZero.toSMulZeroClass.{u1, max (max u2 u3) u4} R Q (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)))) (AddMonoid.toZero.{max (max u2 u3) u4} Q (AddCommMonoid.toAddMonoid.{max (max u2 u3) u4} Q _inst_14)) (MulActionWithZero.toSMulWithZero.{u1, max (max u2 u3) u4} R Q (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3))) (AddMonoid.toZero.{max (max u2 u3) u4} Q (AddCommMonoid.toAddMonoid.{max (max u2 u3) u4} Q _inst_14)) (Module.toMulActionWithZero.{u1, max (max u2 u3) u4} R Q (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) _inst_14 _inst_15)))) _inst_16 _inst_15_1) g') f) g))
+Case conversion may be inaccurate. Consider using '#align is_base_change.iff_lift_unique IsBaseChange.iff_lift_uniqueₓ'. -/
 theorem IsBaseChange.iff_lift_unique :
     IsBaseChange S f ↔
       ∀ (Q : Type max v₁ v₂ v₃) [AddCommMonoid Q],
@@ -320,12 +430,18 @@ theorem IsBaseChange.iff_lift_unique :
   ⟨fun h => by
     intros
     exact ⟨h.lift g, h.lift_comp g, fun g' e => h.alg_hom_ext' _ _ (e.trans (h.lift_comp g).symm)⟩,
-    IsBaseChange.ofLiftUnique f⟩
+    IsBaseChange.of_lift_unique f⟩
 #align is_base_change.iff_lift_unique IsBaseChange.iff_lift_unique
 
+/- warning: is_base_change.of_equiv -> IsBaseChange.ofEquiv is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u3}} {M : Type.{u1}} {N : Type.{u2}} [_inst_1 : AddCommMonoid.{u1} M] [_inst_2 : AddCommMonoid.{u2} N] [_inst_3 : CommRing.{u3} R] [_inst_6 : Module.{u3, u1} R M (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_3)) _inst_1] [_inst_7 : Module.{u3, u2} R N (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_3)) _inst_2] (e : LinearEquiv.{u3, u3, u1, u2} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_3)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_3)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_3)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_3)))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_3))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_3))) M N _inst_1 _inst_2 _inst_6 _inst_7), IsBaseChange.{u1, u2, u3, u3} R M N R _inst_1 _inst_2 _inst_3 _inst_3 (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) _inst_6 _inst_7 _inst_7 (IsScalarTower.left.{u3, u2} R N (Ring.toMonoid.{u3} R (CommRing.toRing.{u3} R _inst_3)) (MulActionWithZero.toMulAction.{u3, u2} R N (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_3))) (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_2))) (Module.toMulActionWithZero.{u3, u2} R N (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_3)) _inst_2 _inst_7))) (LinearEquiv.toLinearMap.{u3, u3, u1, u2} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_3)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_3)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_3)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_3)))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_3))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_3))) M N _inst_1 _inst_2 _inst_6 _inst_7 e)
+but is expected to have type
+  forall {R : Type.{u1}} {M : Type.{u2}} {N : Type.{u3}} [_inst_1 : AddCommMonoid.{u2} M] [_inst_2 : AddCommMonoid.{u3} N] [_inst_3 : CommRing.{u1} R] [_inst_6 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) _inst_1] [_inst_7 : Module.{u1, u3} R N (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) _inst_2] (e : LinearEquiv.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3))) M N _inst_1 _inst_2 _inst_6 _inst_7), IsBaseChange.{u2, u3, u1, u1} R M N R _inst_1 _inst_2 _inst_3 _inst_3 (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) _inst_6 _inst_7 _inst_7 (IsScalarTower.left.{u1, u3} R N (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)))) (MulActionWithZero.toMulAction.{u1, u3} R N (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3))) (AddMonoid.toZero.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_2)) (Module.toMulActionWithZero.{u1, u3} R N (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) _inst_2 _inst_7))) (LinearEquiv.toLinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3))) M N _inst_1 _inst_2 _inst_6 _inst_7 e)
+Case conversion may be inaccurate. Consider using '#align is_base_change.of_equiv IsBaseChange.ofEquivₓ'. -/
 theorem IsBaseChange.ofEquiv (e : M ≃ₗ[R] N) : IsBaseChange R e.toLinearMap :=
   by
-  apply IsBaseChange.ofLiftUnique
+  apply IsBaseChange.of_lift_unique
   intro Q I₁ I₂ I₃ I₄ g
   have : I₂ = I₃ := by
     ext (r q)
@@ -346,10 +462,16 @@ variable [AddCommMonoid O] [Module R O] [Module S O] [Module T O] [IsScalarTower
 
 variable [IsScalarTower R S O] [IsScalarTower R T O]
 
+/- warning: is_base_change.comp -> IsBaseChange.comp is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u4}} {M : Type.{u1}} {N : Type.{u2}} {S : Type.{u3}} [_inst_1 : AddCommMonoid.{u1} M] [_inst_2 : AddCommMonoid.{u2} N] [_inst_3 : CommRing.{u4} R] [_inst_4 : CommRing.{u3} S] [_inst_5 : Algebra.{u4, u3} R S (CommRing.toCommSemiring.{u4} R _inst_3) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4))] [_inst_6 : Module.{u4, u1} R M (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) _inst_1] [_inst_7 : Module.{u4, u2} R N (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) _inst_2] [_inst_8 : Module.{u3, u2} S N (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) _inst_2] [_inst_9 : IsScalarTower.{u4, u3, u2} R S N (SMulZeroClass.toHasSmul.{u4, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))))))) (SMulWithZero.toSmulZeroClass.{u4, u3} R S (MulZeroClass.toHasZero.{u4} R (MulZeroOneClass.toMulZeroClass.{u4} R (MonoidWithZero.toMulZeroOneClass.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))))))) (MulActionWithZero.toSMulWithZero.{u4, u3} R S (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))))))) (Module.toMulActionWithZero.{u4, u3} R S (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4))))) (Algebra.toModule.{u4, u3} R S (CommRing.toCommSemiring.{u4} R _inst_3) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) _inst_5))))) (SMulZeroClass.toHasSmul.{u3, u2} S N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_2))) (SMulWithZero.toSmulZeroClass.{u3, u2} S N (MulZeroClass.toHasZero.{u3} S (MulZeroOneClass.toMulZeroClass.{u3} S (MonoidWithZero.toMulZeroOneClass.{u3} S (Semiring.toMonoidWithZero.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))))) (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_2))) (MulActionWithZero.toSMulWithZero.{u3, u2} S N (Semiring.toMonoidWithZero.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4))) (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_2))) (Module.toMulActionWithZero.{u3, u2} S N (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) _inst_2 _inst_8)))) (SMulZeroClass.toHasSmul.{u4, u2} R N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_2))) (SMulWithZero.toSmulZeroClass.{u4, u2} R N (MulZeroClass.toHasZero.{u4} R (MulZeroOneClass.toMulZeroClass.{u4} R (MonoidWithZero.toMulZeroOneClass.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)))))) (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_2))) (MulActionWithZero.toSMulWithZero.{u4, u2} R N (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3))) (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_2))) (Module.toMulActionWithZero.{u4, u2} R N (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) _inst_2 _inst_7))))] {T : Type.{u5}} {O : Type.{u6}} [_inst_14 : CommRing.{u5} T] [_inst_15 : Algebra.{u4, u5} R T (CommRing.toCommSemiring.{u4} R _inst_3) (Ring.toSemiring.{u5} T (CommRing.toRing.{u5} T _inst_14))] [_inst_16 : Algebra.{u3, u5} S T (CommRing.toCommSemiring.{u3} S _inst_4) (Ring.toSemiring.{u5} T (CommRing.toRing.{u5} T _inst_14))] [_inst_17 : IsScalarTower.{u4, u3, u5} R S T (SMulZeroClass.toHasSmul.{u4, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))))))) (SMulWithZero.toSmulZeroClass.{u4, u3} R S (MulZeroClass.toHasZero.{u4} R (MulZeroOneClass.toMulZeroClass.{u4} R (MonoidWithZero.toMulZeroOneClass.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))))))) (MulActionWithZero.toSMulWithZero.{u4, u3} R S (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))))))) (Module.toMulActionWithZero.{u4, u3} R S (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4))))) (Algebra.toModule.{u4, u3} R S (CommRing.toCommSemiring.{u4} R _inst_3) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) _inst_5))))) (SMulZeroClass.toHasSmul.{u3, u5} S T (AddZeroClass.toHasZero.{u5} T (AddMonoid.toAddZeroClass.{u5} T (AddCommMonoid.toAddMonoid.{u5} T (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} T (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} T (Semiring.toNonAssocSemiring.{u5} T (Ring.toSemiring.{u5} T (CommRing.toRing.{u5} T _inst_14)))))))) (SMulWithZero.toSmulZeroClass.{u3, u5} S T (MulZeroClass.toHasZero.{u3} S (MulZeroOneClass.toMulZeroClass.{u3} S (MonoidWithZero.toMulZeroOneClass.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_4)))))) (AddZeroClass.toHasZero.{u5} T (AddMonoid.toAddZeroClass.{u5} T (AddCommMonoid.toAddMonoid.{u5} T (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} T (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} T (Semiring.toNonAssocSemiring.{u5} T (Ring.toSemiring.{u5} T (CommRing.toRing.{u5} T _inst_14)))))))) (MulActionWithZero.toSMulWithZero.{u3, u5} S T (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_4))) (AddZeroClass.toHasZero.{u5} T (AddMonoid.toAddZeroClass.{u5} T (AddCommMonoid.toAddMonoid.{u5} T (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} T (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} T (Semiring.toNonAssocSemiring.{u5} T (Ring.toSemiring.{u5} T (CommRing.toRing.{u5} T _inst_14)))))))) (Module.toMulActionWithZero.{u3, u5} S T (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_4)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} T (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} T (Semiring.toNonAssocSemiring.{u5} T (Ring.toSemiring.{u5} T (CommRing.toRing.{u5} T _inst_14))))) (Algebra.toModule.{u3, u5} S T (CommRing.toCommSemiring.{u3} S _inst_4) (Ring.toSemiring.{u5} T (CommRing.toRing.{u5} T _inst_14)) _inst_16))))) (SMulZeroClass.toHasSmul.{u4, u5} R T (AddZeroClass.toHasZero.{u5} T (AddMonoid.toAddZeroClass.{u5} T (AddCommMonoid.toAddMonoid.{u5} T (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} T (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} T (Semiring.toNonAssocSemiring.{u5} T (Ring.toSemiring.{u5} T (CommRing.toRing.{u5} T _inst_14)))))))) (SMulWithZero.toSmulZeroClass.{u4, u5} R T (MulZeroClass.toHasZero.{u4} R (MulZeroOneClass.toMulZeroClass.{u4} R (MonoidWithZero.toMulZeroOneClass.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))))) (AddZeroClass.toHasZero.{u5} T (AddMonoid.toAddZeroClass.{u5} T (AddCommMonoid.toAddMonoid.{u5} T (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} T (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} T (Semiring.toNonAssocSemiring.{u5} T (Ring.toSemiring.{u5} T (CommRing.toRing.{u5} T _inst_14)))))))) (MulActionWithZero.toSMulWithZero.{u4, u5} R T (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3))) (AddZeroClass.toHasZero.{u5} T (AddMonoid.toAddZeroClass.{u5} T (AddCommMonoid.toAddMonoid.{u5} T (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} T (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} T (Semiring.toNonAssocSemiring.{u5} T (Ring.toSemiring.{u5} T (CommRing.toRing.{u5} T _inst_14)))))))) (Module.toMulActionWithZero.{u4, u5} R T (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} T (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} T (Semiring.toNonAssocSemiring.{u5} T (Ring.toSemiring.{u5} T (CommRing.toRing.{u5} T _inst_14))))) (Algebra.toModule.{u4, u5} R T (CommRing.toCommSemiring.{u4} R _inst_3) (Ring.toSemiring.{u5} T (CommRing.toRing.{u5} T _inst_14)) _inst_15)))))] [_inst_18 : AddCommMonoid.{u6} O] [_inst_19 : Module.{u4, u6} R O (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) _inst_18] [_inst_20 : Module.{u3, u6} S O (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) _inst_18] [_inst_21 : Module.{u5, u6} T O (Ring.toSemiring.{u5} T (CommRing.toRing.{u5} T _inst_14)) _inst_18] [_inst_22 : IsScalarTower.{u3, u5, u6} S T O (SMulZeroClass.toHasSmul.{u3, u5} S T (AddZeroClass.toHasZero.{u5} T (AddMonoid.toAddZeroClass.{u5} T (AddCommMonoid.toAddMonoid.{u5} T (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} T (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} T (Semiring.toNonAssocSemiring.{u5} T (Ring.toSemiring.{u5} T (CommRing.toRing.{u5} T _inst_14)))))))) (SMulWithZero.toSmulZeroClass.{u3, u5} S T (MulZeroClass.toHasZero.{u3} S (MulZeroOneClass.toMulZeroClass.{u3} S (MonoidWithZero.toMulZeroOneClass.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_4)))))) (AddZeroClass.toHasZero.{u5} T (AddMonoid.toAddZeroClass.{u5} T (AddCommMonoid.toAddMonoid.{u5} T (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} T (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} T (Semiring.toNonAssocSemiring.{u5} T (Ring.toSemiring.{u5} T (CommRing.toRing.{u5} T _inst_14)))))))) (MulActionWithZero.toSMulWithZero.{u3, u5} S T (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_4))) (AddZeroClass.toHasZero.{u5} T (AddMonoid.toAddZeroClass.{u5} T (AddCommMonoid.toAddMonoid.{u5} T (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} T (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} T (Semiring.toNonAssocSemiring.{u5} T (Ring.toSemiring.{u5} T (CommRing.toRing.{u5} T _inst_14)))))))) (Module.toMulActionWithZero.{u3, u5} S T (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_4)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} T (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} T (Semiring.toNonAssocSemiring.{u5} T (Ring.toSemiring.{u5} T (CommRing.toRing.{u5} T _inst_14))))) (Algebra.toModule.{u3, u5} S T (CommRing.toCommSemiring.{u3} S _inst_4) (Ring.toSemiring.{u5} T (CommRing.toRing.{u5} T _inst_14)) _inst_16))))) (SMulZeroClass.toHasSmul.{u5, u6} T O (AddZeroClass.toHasZero.{u6} O (AddMonoid.toAddZeroClass.{u6} O (AddCommMonoid.toAddMonoid.{u6} O _inst_18))) (SMulWithZero.toSmulZeroClass.{u5, u6} T O (MulZeroClass.toHasZero.{u5} T (MulZeroOneClass.toMulZeroClass.{u5} T (MonoidWithZero.toMulZeroOneClass.{u5} T (Semiring.toMonoidWithZero.{u5} T (Ring.toSemiring.{u5} T (CommRing.toRing.{u5} T _inst_14)))))) (AddZeroClass.toHasZero.{u6} O (AddMonoid.toAddZeroClass.{u6} O (AddCommMonoid.toAddMonoid.{u6} O _inst_18))) (MulActionWithZero.toSMulWithZero.{u5, u6} T O (Semiring.toMonoidWithZero.{u5} T (Ring.toSemiring.{u5} T (CommRing.toRing.{u5} T _inst_14))) (AddZeroClass.toHasZero.{u6} O (AddMonoid.toAddZeroClass.{u6} O (AddCommMonoid.toAddMonoid.{u6} O _inst_18))) (Module.toMulActionWithZero.{u5, u6} T O (Ring.toSemiring.{u5} T (CommRing.toRing.{u5} T _inst_14)) _inst_18 _inst_21)))) (SMulZeroClass.toHasSmul.{u3, u6} S O (AddZeroClass.toHasZero.{u6} O (AddMonoid.toAddZeroClass.{u6} O (AddCommMonoid.toAddMonoid.{u6} O _inst_18))) (SMulWithZero.toSmulZeroClass.{u3, u6} S O (MulZeroClass.toHasZero.{u3} S (MulZeroOneClass.toMulZeroClass.{u3} S (MonoidWithZero.toMulZeroOneClass.{u3} S (Semiring.toMonoidWithZero.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))))) (AddZeroClass.toHasZero.{u6} O (AddMonoid.toAddZeroClass.{u6} O (AddCommMonoid.toAddMonoid.{u6} O _inst_18))) (MulActionWithZero.toSMulWithZero.{u3, u6} S O (Semiring.toMonoidWithZero.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4))) (AddZeroClass.toHasZero.{u6} O (AddMonoid.toAddZeroClass.{u6} O (AddCommMonoid.toAddMonoid.{u6} O _inst_18))) (Module.toMulActionWithZero.{u3, u6} S O (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) _inst_18 _inst_20))))] [_inst_23 : IsScalarTower.{u4, u3, u6} R S O (SMulZeroClass.toHasSmul.{u4, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))))))) (SMulWithZero.toSmulZeroClass.{u4, u3} R S (MulZeroClass.toHasZero.{u4} R (MulZeroOneClass.toMulZeroClass.{u4} R (MonoidWithZero.toMulZeroOneClass.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))))))) (MulActionWithZero.toSMulWithZero.{u4, u3} R S (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))))))) (Module.toMulActionWithZero.{u4, u3} R S (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4))))) (Algebra.toModule.{u4, u3} R S (CommRing.toCommSemiring.{u4} R _inst_3) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) _inst_5))))) (SMulZeroClass.toHasSmul.{u3, u6} S O (AddZeroClass.toHasZero.{u6} O (AddMonoid.toAddZeroClass.{u6} O (AddCommMonoid.toAddMonoid.{u6} O _inst_18))) (SMulWithZero.toSmulZeroClass.{u3, u6} S O (MulZeroClass.toHasZero.{u3} S (MulZeroOneClass.toMulZeroClass.{u3} S (MonoidWithZero.toMulZeroOneClass.{u3} S (Semiring.toMonoidWithZero.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))))) (AddZeroClass.toHasZero.{u6} O (AddMonoid.toAddZeroClass.{u6} O (AddCommMonoid.toAddMonoid.{u6} O _inst_18))) (MulActionWithZero.toSMulWithZero.{u3, u6} S O (Semiring.toMonoidWithZero.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4))) (AddZeroClass.toHasZero.{u6} O (AddMonoid.toAddZeroClass.{u6} O (AddCommMonoid.toAddMonoid.{u6} O _inst_18))) (Module.toMulActionWithZero.{u3, u6} S O (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) _inst_18 _inst_20)))) (SMulZeroClass.toHasSmul.{u4, u6} R O (AddZeroClass.toHasZero.{u6} O (AddMonoid.toAddZeroClass.{u6} O (AddCommMonoid.toAddMonoid.{u6} O _inst_18))) (SMulWithZero.toSmulZeroClass.{u4, u6} R O (MulZeroClass.toHasZero.{u4} R (MulZeroOneClass.toMulZeroClass.{u4} R (MonoidWithZero.toMulZeroOneClass.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)))))) (AddZeroClass.toHasZero.{u6} O (AddMonoid.toAddZeroClass.{u6} O (AddCommMonoid.toAddMonoid.{u6} O _inst_18))) (MulActionWithZero.toSMulWithZero.{u4, u6} R O (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3))) (AddZeroClass.toHasZero.{u6} O (AddMonoid.toAddZeroClass.{u6} O (AddCommMonoid.toAddMonoid.{u6} O _inst_18))) (Module.toMulActionWithZero.{u4, u6} R O (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) _inst_18 _inst_19))))] [_inst_24 : IsScalarTower.{u4, u5, u6} R T O (SMulZeroClass.toHasSmul.{u4, u5} R T (AddZeroClass.toHasZero.{u5} T (AddMonoid.toAddZeroClass.{u5} T (AddCommMonoid.toAddMonoid.{u5} T (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} T (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} T (Semiring.toNonAssocSemiring.{u5} T (Ring.toSemiring.{u5} T (CommRing.toRing.{u5} T _inst_14)))))))) (SMulWithZero.toSmulZeroClass.{u4, u5} R T (MulZeroClass.toHasZero.{u4} R (MulZeroOneClass.toMulZeroClass.{u4} R (MonoidWithZero.toMulZeroOneClass.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))))) (AddZeroClass.toHasZero.{u5} T (AddMonoid.toAddZeroClass.{u5} T (AddCommMonoid.toAddMonoid.{u5} T (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} T (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} T (Semiring.toNonAssocSemiring.{u5} T (Ring.toSemiring.{u5} T (CommRing.toRing.{u5} T _inst_14)))))))) (MulActionWithZero.toSMulWithZero.{u4, u5} R T (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3))) (AddZeroClass.toHasZero.{u5} T (AddMonoid.toAddZeroClass.{u5} T (AddCommMonoid.toAddMonoid.{u5} T (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} T (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} T (Semiring.toNonAssocSemiring.{u5} T (Ring.toSemiring.{u5} T (CommRing.toRing.{u5} T _inst_14)))))))) (Module.toMulActionWithZero.{u4, u5} R T (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} T (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} T (Semiring.toNonAssocSemiring.{u5} T (Ring.toSemiring.{u5} T (CommRing.toRing.{u5} T _inst_14))))) (Algebra.toModule.{u4, u5} R T (CommRing.toCommSemiring.{u4} R _inst_3) (Ring.toSemiring.{u5} T (CommRing.toRing.{u5} T _inst_14)) _inst_15))))) (SMulZeroClass.toHasSmul.{u5, u6} T O (AddZeroClass.toHasZero.{u6} O (AddMonoid.toAddZeroClass.{u6} O (AddCommMonoid.toAddMonoid.{u6} O _inst_18))) (SMulWithZero.toSmulZeroClass.{u5, u6} T O (MulZeroClass.toHasZero.{u5} T (MulZeroOneClass.toMulZeroClass.{u5} T (MonoidWithZero.toMulZeroOneClass.{u5} T (Semiring.toMonoidWithZero.{u5} T (Ring.toSemiring.{u5} T (CommRing.toRing.{u5} T _inst_14)))))) (AddZeroClass.toHasZero.{u6} O (AddMonoid.toAddZeroClass.{u6} O (AddCommMonoid.toAddMonoid.{u6} O _inst_18))) (MulActionWithZero.toSMulWithZero.{u5, u6} T O (Semiring.toMonoidWithZero.{u5} T (Ring.toSemiring.{u5} T (CommRing.toRing.{u5} T _inst_14))) (AddZeroClass.toHasZero.{u6} O (AddMonoid.toAddZeroClass.{u6} O (AddCommMonoid.toAddMonoid.{u6} O _inst_18))) (Module.toMulActionWithZero.{u5, u6} T O (Ring.toSemiring.{u5} T (CommRing.toRing.{u5} T _inst_14)) _inst_18 _inst_21)))) (SMulZeroClass.toHasSmul.{u4, u6} R O (AddZeroClass.toHasZero.{u6} O (AddMonoid.toAddZeroClass.{u6} O (AddCommMonoid.toAddMonoid.{u6} O _inst_18))) (SMulWithZero.toSmulZeroClass.{u4, u6} R O (MulZeroClass.toHasZero.{u4} R (MulZeroOneClass.toMulZeroClass.{u4} R (MonoidWithZero.toMulZeroOneClass.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)))))) (AddZeroClass.toHasZero.{u6} O (AddMonoid.toAddZeroClass.{u6} O (AddCommMonoid.toAddMonoid.{u6} O _inst_18))) (MulActionWithZero.toSMulWithZero.{u4, u6} R O (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3))) (AddZeroClass.toHasZero.{u6} O (AddMonoid.toAddZeroClass.{u6} O (AddCommMonoid.toAddMonoid.{u6} O _inst_18))) (Module.toMulActionWithZero.{u4, u6} R O (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) _inst_18 _inst_19))))] {f : LinearMap.{u4, u4, u1, u2} R R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)))) M N _inst_1 _inst_2 _inst_6 _inst_7}, (IsBaseChange.{u1, u2, u3, u4} R M N S _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 f) -> (forall {g : LinearMap.{u3, u3, u2, u6} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))) N O _inst_2 _inst_18 _inst_8 _inst_20}, (IsBaseChange.{u2, u6, u5, u3} S N O T _inst_2 _inst_18 _inst_4 _inst_14 _inst_16 _inst_8 _inst_20 _inst_21 _inst_22 g) -> (IsBaseChange.{u1, u6, u5, u4} R M O T _inst_1 _inst_18 _inst_3 _inst_14 _inst_15 _inst_6 _inst_19 _inst_21 _inst_24 (LinearMap.comp.{u4, u4, u4, u1, u2, u6} R R R M N O (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) _inst_1 _inst_2 _inst_18 _inst_6 _inst_7 _inst_19 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)))) (RingHomCompTriple.right_ids.{u4, u4} R R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3))))) (LinearMap.restrictScalars.{u4, u3, u2, u6} R S N O (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) _inst_2 _inst_18 _inst_7 _inst_19 _inst_8 _inst_20 (LinearMap.IsScalarTower.compatibleSMul.{u2, u6, u4, u3} N O _inst_2 _inst_18 R S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) (SMulZeroClass.toHasSmul.{u4, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))))))) (SMulWithZero.toSmulZeroClass.{u4, u3} R S (MulZeroClass.toHasZero.{u4} R (MulZeroOneClass.toMulZeroClass.{u4} R (MonoidWithZero.toMulZeroOneClass.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))))))) (MulActionWithZero.toSMulWithZero.{u4, u3} R S (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)))))))) (Module.toMulActionWithZero.{u4, u3} R S (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4))))) (Algebra.toModule.{u4, u3} R S (CommRing.toCommSemiring.{u4} R _inst_3) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_4)) _inst_5))))) (SMulZeroClass.toHasSmul.{u4, u2} R N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_2))) (SMulWithZero.toSmulZeroClass.{u4, u2} R N (MulZeroClass.toHasZero.{u4} R (MulZeroOneClass.toMulZeroClass.{u4} R (MonoidWithZero.toMulZeroOneClass.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)))))) (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_2))) (MulActionWithZero.toSMulWithZero.{u4, u2} R N (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3))) (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_2))) (Module.toMulActionWithZero.{u4, u2} R N (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) _inst_2 _inst_7)))) _inst_8 _inst_9 (SMulZeroClass.toHasSmul.{u4, u6} R O (AddZeroClass.toHasZero.{u6} O (AddMonoid.toAddZeroClass.{u6} O (AddCommMonoid.toAddMonoid.{u6} O _inst_18))) (SMulWithZero.toSmulZeroClass.{u4, u6} R O (MulZeroClass.toHasZero.{u4} R (MulZeroOneClass.toMulZeroClass.{u4} R (MonoidWithZero.toMulZeroOneClass.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)))))) (AddZeroClass.toHasZero.{u6} O (AddMonoid.toAddZeroClass.{u6} O (AddCommMonoid.toAddMonoid.{u6} O _inst_18))) (MulActionWithZero.toSMulWithZero.{u4, u6} R O (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3))) (AddZeroClass.toHasZero.{u6} O (AddMonoid.toAddZeroClass.{u6} O (AddCommMonoid.toAddMonoid.{u6} O _inst_18))) (Module.toMulActionWithZero.{u4, u6} R O (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3)) _inst_18 _inst_19)))) _inst_20 _inst_23) g) f)))
+but is expected to have type
+  forall {R : Type.{u3}} {M : Type.{u4}} {N : Type.{u5}} {S : Type.{u6}} [_inst_1 : AddCommMonoid.{u4} M] [_inst_2 : AddCommMonoid.{u5} N] [_inst_3 : CommRing.{u3} R] [_inst_4 : CommRing.{u6} S] [_inst_5 : Algebra.{u3, u6} R S (CommRing.toCommSemiring.{u3} R _inst_3) (CommSemiring.toSemiring.{u6} S (CommRing.toCommSemiring.{u6} S _inst_4))] [_inst_6 : Module.{u3, u4} R M (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) _inst_1] [_inst_7 : Module.{u3, u5} R N (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) _inst_2] [_inst_8 : Module.{u6, u5} S N (CommSemiring.toSemiring.{u6} S (CommRing.toCommSemiring.{u6} S _inst_4)) _inst_2] [_inst_9 : IsScalarTower.{u3, u6, u5} R S N (Algebra.toSMul.{u3, u6} R S (CommRing.toCommSemiring.{u3} R _inst_3) (CommSemiring.toSemiring.{u6} S (CommRing.toCommSemiring.{u6} S _inst_4)) _inst_5) (SMulZeroClass.toSMul.{u6, u5} S N (AddMonoid.toZero.{u5} N (AddCommMonoid.toAddMonoid.{u5} N _inst_2)) (SMulWithZero.toSMulZeroClass.{u6, u5} S N (CommMonoidWithZero.toZero.{u6} S (CommSemiring.toCommMonoidWithZero.{u6} S (CommRing.toCommSemiring.{u6} S _inst_4))) (AddMonoid.toZero.{u5} N (AddCommMonoid.toAddMonoid.{u5} N _inst_2)) (MulActionWithZero.toSMulWithZero.{u6, u5} S N (Semiring.toMonoidWithZero.{u6} S (CommSemiring.toSemiring.{u6} S (CommRing.toCommSemiring.{u6} S _inst_4))) (AddMonoid.toZero.{u5} N (AddCommMonoid.toAddMonoid.{u5} N _inst_2)) (Module.toMulActionWithZero.{u6, u5} S N (CommSemiring.toSemiring.{u6} S (CommRing.toCommSemiring.{u6} S _inst_4)) _inst_2 _inst_8)))) (SMulZeroClass.toSMul.{u3, u5} R N (AddMonoid.toZero.{u5} N (AddCommMonoid.toAddMonoid.{u5} N _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u5} R N (CommMonoidWithZero.toZero.{u3} R (CommSemiring.toCommMonoidWithZero.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3))) (AddMonoid.toZero.{u5} N (AddCommMonoid.toAddMonoid.{u5} N _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u5} R N (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3))) (AddMonoid.toZero.{u5} N (AddCommMonoid.toAddMonoid.{u5} N _inst_2)) (Module.toMulActionWithZero.{u3, u5} R N (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) _inst_2 _inst_7))))] {T : Type.{u1}} {O : Type.{u2}} [_inst_14 : CommRing.{u1} T] [_inst_15 : Algebra.{u3, u1} R T (CommRing.toCommSemiring.{u3} R _inst_3) (CommSemiring.toSemiring.{u1} T (CommRing.toCommSemiring.{u1} T _inst_14))] [_inst_16 : Algebra.{u6, u1} S T (CommRing.toCommSemiring.{u6} S _inst_4) (CommSemiring.toSemiring.{u1} T (CommRing.toCommSemiring.{u1} T _inst_14))] [_inst_17 : IsScalarTower.{u3, u6, u1} R S T (Algebra.toSMul.{u3, u6} R S (CommRing.toCommSemiring.{u3} R _inst_3) (CommSemiring.toSemiring.{u6} S (CommRing.toCommSemiring.{u6} S _inst_4)) _inst_5) (Algebra.toSMul.{u6, u1} S T (CommRing.toCommSemiring.{u6} S _inst_4) (CommSemiring.toSemiring.{u1} T (CommRing.toCommSemiring.{u1} T _inst_14)) _inst_16) (Algebra.toSMul.{u3, u1} R T (CommRing.toCommSemiring.{u3} R _inst_3) (CommSemiring.toSemiring.{u1} T (CommRing.toCommSemiring.{u1} T _inst_14)) _inst_15)] [_inst_18 : AddCommMonoid.{u2} O] [_inst_19 : Module.{u3, u2} R O (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) _inst_18] [_inst_20 : Module.{u6, u2} S O (CommSemiring.toSemiring.{u6} S (CommRing.toCommSemiring.{u6} S _inst_4)) _inst_18] [_inst_21 : Module.{u1, u2} T O (CommSemiring.toSemiring.{u1} T (CommRing.toCommSemiring.{u1} T _inst_14)) _inst_18] [_inst_22 : IsScalarTower.{u6, u1, u2} S T O (Algebra.toSMul.{u6, u1} S T (CommRing.toCommSemiring.{u6} S _inst_4) (CommSemiring.toSemiring.{u1} T (CommRing.toCommSemiring.{u1} T _inst_14)) _inst_16) (SMulZeroClass.toSMul.{u1, u2} T O (AddMonoid.toZero.{u2} O (AddCommMonoid.toAddMonoid.{u2} O _inst_18)) (SMulWithZero.toSMulZeroClass.{u1, u2} T O (CommMonoidWithZero.toZero.{u1} T (CommSemiring.toCommMonoidWithZero.{u1} T (CommRing.toCommSemiring.{u1} T _inst_14))) (AddMonoid.toZero.{u2} O (AddCommMonoid.toAddMonoid.{u2} O _inst_18)) (MulActionWithZero.toSMulWithZero.{u1, u2} T O (Semiring.toMonoidWithZero.{u1} T (CommSemiring.toSemiring.{u1} T (CommRing.toCommSemiring.{u1} T _inst_14))) (AddMonoid.toZero.{u2} O (AddCommMonoid.toAddMonoid.{u2} O _inst_18)) (Module.toMulActionWithZero.{u1, u2} T O (CommSemiring.toSemiring.{u1} T (CommRing.toCommSemiring.{u1} T _inst_14)) _inst_18 _inst_21)))) (SMulZeroClass.toSMul.{u6, u2} S O (AddMonoid.toZero.{u2} O (AddCommMonoid.toAddMonoid.{u2} O _inst_18)) (SMulWithZero.toSMulZeroClass.{u6, u2} S O (CommMonoidWithZero.toZero.{u6} S (CommSemiring.toCommMonoidWithZero.{u6} S (CommRing.toCommSemiring.{u6} S _inst_4))) (AddMonoid.toZero.{u2} O (AddCommMonoid.toAddMonoid.{u2} O _inst_18)) (MulActionWithZero.toSMulWithZero.{u6, u2} S O (Semiring.toMonoidWithZero.{u6} S (CommSemiring.toSemiring.{u6} S (CommRing.toCommSemiring.{u6} S _inst_4))) (AddMonoid.toZero.{u2} O (AddCommMonoid.toAddMonoid.{u2} O _inst_18)) (Module.toMulActionWithZero.{u6, u2} S O (CommSemiring.toSemiring.{u6} S (CommRing.toCommSemiring.{u6} S _inst_4)) _inst_18 _inst_20))))] [_inst_23 : IsScalarTower.{u3, u6, u2} R S O (Algebra.toSMul.{u3, u6} R S (CommRing.toCommSemiring.{u3} R _inst_3) (CommSemiring.toSemiring.{u6} S (CommRing.toCommSemiring.{u6} S _inst_4)) _inst_5) (SMulZeroClass.toSMul.{u6, u2} S O (AddMonoid.toZero.{u2} O (AddCommMonoid.toAddMonoid.{u2} O _inst_18)) (SMulWithZero.toSMulZeroClass.{u6, u2} S O (CommMonoidWithZero.toZero.{u6} S (CommSemiring.toCommMonoidWithZero.{u6} S (CommRing.toCommSemiring.{u6} S _inst_4))) (AddMonoid.toZero.{u2} O (AddCommMonoid.toAddMonoid.{u2} O _inst_18)) (MulActionWithZero.toSMulWithZero.{u6, u2} S O (Semiring.toMonoidWithZero.{u6} S (CommSemiring.toSemiring.{u6} S (CommRing.toCommSemiring.{u6} S _inst_4))) (AddMonoid.toZero.{u2} O (AddCommMonoid.toAddMonoid.{u2} O _inst_18)) (Module.toMulActionWithZero.{u6, u2} S O (CommSemiring.toSemiring.{u6} S (CommRing.toCommSemiring.{u6} S _inst_4)) _inst_18 _inst_20)))) (SMulZeroClass.toSMul.{u3, u2} R O (AddMonoid.toZero.{u2} O (AddCommMonoid.toAddMonoid.{u2} O _inst_18)) (SMulWithZero.toSMulZeroClass.{u3, u2} R O (CommMonoidWithZero.toZero.{u3} R (CommSemiring.toCommMonoidWithZero.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3))) (AddMonoid.toZero.{u2} O (AddCommMonoid.toAddMonoid.{u2} O _inst_18)) (MulActionWithZero.toSMulWithZero.{u3, u2} R O (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3))) (AddMonoid.toZero.{u2} O (AddCommMonoid.toAddMonoid.{u2} O _inst_18)) (Module.toMulActionWithZero.{u3, u2} R O (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) _inst_18 _inst_19))))] [_inst_24 : IsScalarTower.{u3, u1, u2} R T O (Algebra.toSMul.{u3, u1} R T (CommRing.toCommSemiring.{u3} R _inst_3) (CommSemiring.toSemiring.{u1} T (CommRing.toCommSemiring.{u1} T _inst_14)) _inst_15) (SMulZeroClass.toSMul.{u1, u2} T O (AddMonoid.toZero.{u2} O (AddCommMonoid.toAddMonoid.{u2} O _inst_18)) (SMulWithZero.toSMulZeroClass.{u1, u2} T O (CommMonoidWithZero.toZero.{u1} T (CommSemiring.toCommMonoidWithZero.{u1} T (CommRing.toCommSemiring.{u1} T _inst_14))) (AddMonoid.toZero.{u2} O (AddCommMonoid.toAddMonoid.{u2} O _inst_18)) (MulActionWithZero.toSMulWithZero.{u1, u2} T O (Semiring.toMonoidWithZero.{u1} T (CommSemiring.toSemiring.{u1} T (CommRing.toCommSemiring.{u1} T _inst_14))) (AddMonoid.toZero.{u2} O (AddCommMonoid.toAddMonoid.{u2} O _inst_18)) (Module.toMulActionWithZero.{u1, u2} T O (CommSemiring.toSemiring.{u1} T (CommRing.toCommSemiring.{u1} T _inst_14)) _inst_18 _inst_21)))) (SMulZeroClass.toSMul.{u3, u2} R O (AddMonoid.toZero.{u2} O (AddCommMonoid.toAddMonoid.{u2} O _inst_18)) (SMulWithZero.toSMulZeroClass.{u3, u2} R O (CommMonoidWithZero.toZero.{u3} R (CommSemiring.toCommMonoidWithZero.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3))) (AddMonoid.toZero.{u2} O (AddCommMonoid.toAddMonoid.{u2} O _inst_18)) (MulActionWithZero.toSMulWithZero.{u3, u2} R O (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3))) (AddMonoid.toZero.{u2} O (AddCommMonoid.toAddMonoid.{u2} O _inst_18)) (Module.toMulActionWithZero.{u3, u2} R O (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) _inst_18 _inst_19))))] {f : LinearMap.{u3, u3, u4, u5} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) M N _inst_1 _inst_2 _inst_6 _inst_7}, (IsBaseChange.{u4, u5, u6, u3} R M N S _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 f) -> (forall {g : LinearMap.{u6, u6, u5, u2} S S (CommSemiring.toSemiring.{u6} S (CommRing.toCommSemiring.{u6} S _inst_4)) (CommSemiring.toSemiring.{u6} S (CommRing.toCommSemiring.{u6} S _inst_4)) (RingHom.id.{u6} S (Semiring.toNonAssocSemiring.{u6} S (CommSemiring.toSemiring.{u6} S (CommRing.toCommSemiring.{u6} S _inst_4)))) N O _inst_2 _inst_18 _inst_8 _inst_20}, (IsBaseChange.{u5, u2, u1, u6} S N O T _inst_2 _inst_18 _inst_4 _inst_14 _inst_16 _inst_8 _inst_20 _inst_21 _inst_22 g) -> (IsBaseChange.{u4, u2, u1, u3} R M O T _inst_1 _inst_18 _inst_3 _inst_14 _inst_15 _inst_6 _inst_19 _inst_21 _inst_24 (LinearMap.comp.{u3, u3, u3, u4, u5, u2} R R R M N O (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) _inst_1 _inst_2 _inst_18 _inst_6 _inst_7 _inst_19 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (RingHomCompTriple.ids.{u3, u3} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3))))) (LinearMap.restrictScalars.{u3, u6, u5, u2} R S N O (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u6} S (CommRing.toCommSemiring.{u6} S _inst_4)) _inst_2 _inst_18 _inst_7 _inst_19 _inst_8 _inst_20 (LinearMap.IsScalarTower.compatibleSMul.{u5, u2, u3, u6} N O _inst_2 _inst_18 R S (CommSemiring.toSemiring.{u6} S (CommRing.toCommSemiring.{u6} S _inst_4)) (Algebra.toSMul.{u3, u6} R S (CommRing.toCommSemiring.{u3} R _inst_3) (CommSemiring.toSemiring.{u6} S (CommRing.toCommSemiring.{u6} S _inst_4)) _inst_5) (SMulZeroClass.toSMul.{u3, u5} R N (AddMonoid.toZero.{u5} N (AddCommMonoid.toAddMonoid.{u5} N _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u5} R N (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (AddMonoid.toZero.{u5} N (AddCommMonoid.toAddMonoid.{u5} N _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u5} R N (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3))) (AddMonoid.toZero.{u5} N (AddCommMonoid.toAddMonoid.{u5} N _inst_2)) (Module.toMulActionWithZero.{u3, u5} R N (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) _inst_2 _inst_7)))) _inst_8 _inst_9 (SMulZeroClass.toSMul.{u3, u2} R O (AddMonoid.toZero.{u2} O (AddCommMonoid.toAddMonoid.{u2} O _inst_18)) (SMulWithZero.toSMulZeroClass.{u3, u2} R O (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (AddMonoid.toZero.{u2} O (AddCommMonoid.toAddMonoid.{u2} O _inst_18)) (MulActionWithZero.toSMulWithZero.{u3, u2} R O (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3))) (AddMonoid.toZero.{u2} O (AddCommMonoid.toAddMonoid.{u2} O _inst_18)) (Module.toMulActionWithZero.{u3, u2} R O (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) _inst_18 _inst_19)))) _inst_20 _inst_23) g) f)))
+Case conversion may be inaccurate. Consider using '#align is_base_change.comp IsBaseChange.compₓ'. -/
 theorem IsBaseChange.comp {f : M →ₗ[R] N} (hf : IsBaseChange S f) {g : N →ₗ[S] O}
     (hg : IsBaseChange T g) : IsBaseChange T ((g.restrictScalars R).comp f) :=
   by
-  apply IsBaseChange.ofLiftUnique
+  apply IsBaseChange.of_lift_unique
   intro Q _ _ _ _ i
   letI := Module.compHom Q (algebraMap S T)
   haveI : IsScalarTower S T Q :=
@@ -382,6 +504,7 @@ open IsScalarTower (toAlgHom)
 
 variable (R S R' S')
 
+#print Algebra.IsPushout /-
 /-- A type-class stating that the following diagram of scalar towers
 R  →  S
 ↓     ↓
@@ -392,9 +515,16 @@ is a pushout diagram (i.e. `S' = S ⊗[R] R'`)
 class Algebra.IsPushout : Prop where
   out : IsBaseChange S (toAlgHom R R' S').toLinearMap
 #align algebra.is_pushout Algebra.IsPushout
+-/
 
 variable {R S R' S'}
 
+/- warning: algebra.is_pushout.symm -> Algebra.IsPushout.symm is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u2}} {S : Type.{u1}} [_inst_3 : CommRing.{u2} R] [_inst_4 : CommRing.{u1} S] [_inst_5 : Algebra.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_4))] {R' : Type.{u3}} {S' : Type.{u4}} [_inst_25 : CommRing.{u3} R'] [_inst_26 : CommRing.{u4} S'] [_inst_27 : Algebra.{u2, u3} R R' (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_25))] [_inst_28 : Algebra.{u1, u4} S S' (CommRing.toCommSemiring.{u1} S _inst_4) (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26))] [_inst_29 : Algebra.{u3, u4} R' S' (CommRing.toCommSemiring.{u3} R' _inst_25) (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26))] [_inst_30 : Algebra.{u2, u4} R S' (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26))] [_inst_31 : IsScalarTower.{u2, u3, u4} R R' S' (SMulZeroClass.toHasSmul.{u2, u3} R R' (AddZeroClass.toHasZero.{u3} R' (AddMonoid.toAddZeroClass.{u3} R' (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_25)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} R R' (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (AddZeroClass.toHasZero.{u3} R' (AddMonoid.toAddZeroClass.{u3} R' (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_25)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} R R' (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddZeroClass.toHasZero.{u3} R' (AddMonoid.toAddZeroClass.{u3} R' (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_25)))))))) (Module.toMulActionWithZero.{u2, u3} R R' (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_25))))) (Algebra.toModule.{u2, u3} R R' (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_25)) _inst_27))))) (SMulZeroClass.toHasSmul.{u3, u4} R' S' (AddZeroClass.toHasZero.{u4} S' (AddMonoid.toAddZeroClass.{u4} S' (AddCommMonoid.toAddMonoid.{u4} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))))))) (SMulWithZero.toSmulZeroClass.{u3, u4} R' S' (MulZeroClass.toHasZero.{u3} R' (MulZeroOneClass.toMulZeroClass.{u3} R' (MonoidWithZero.toMulZeroOneClass.{u3} R' (Semiring.toMonoidWithZero.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)))))) (AddZeroClass.toHasZero.{u4} S' (AddMonoid.toAddZeroClass.{u4} S' (AddCommMonoid.toAddMonoid.{u4} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))))))) (MulActionWithZero.toSMulWithZero.{u3, u4} R' S' (Semiring.toMonoidWithZero.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25))) (AddZeroClass.toHasZero.{u4} S' (AddMonoid.toAddZeroClass.{u4} S' (AddCommMonoid.toAddMonoid.{u4} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))))))) (Module.toMulActionWithZero.{u3, u4} R' S' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26))))) (Algebra.toModule.{u3, u4} R' S' (CommRing.toCommSemiring.{u3} R' _inst_25) (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)) _inst_29))))) (SMulZeroClass.toHasSmul.{u2, u4} R S' (AddZeroClass.toHasZero.{u4} S' (AddMonoid.toAddZeroClass.{u4} S' (AddCommMonoid.toAddMonoid.{u4} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))))))) (SMulWithZero.toSmulZeroClass.{u2, u4} R S' (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (AddZeroClass.toHasZero.{u4} S' (AddMonoid.toAddZeroClass.{u4} S' (AddCommMonoid.toAddMonoid.{u4} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))))))) (MulActionWithZero.toSMulWithZero.{u2, u4} R S' (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddZeroClass.toHasZero.{u4} S' (AddMonoid.toAddZeroClass.{u4} S' (AddCommMonoid.toAddMonoid.{u4} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))))))) (Module.toMulActionWithZero.{u2, u4} R S' (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26))))) (Algebra.toModule.{u2, u4} R S' (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)) _inst_30)))))] [_inst_32 : IsScalarTower.{u2, u1, u4} R S S' (SMulZeroClass.toHasSmul.{u2, u1} R S (AddZeroClass.toHasZero.{u1} S (AddMonoid.toAddZeroClass.{u1} S (AddCommMonoid.toAddMonoid.{u1} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_4)))))))) (SMulWithZero.toSmulZeroClass.{u2, u1} R S (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (AddZeroClass.toHasZero.{u1} S (AddMonoid.toAddZeroClass.{u1} S (AddCommMonoid.toAddMonoid.{u1} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_4)))))))) (MulActionWithZero.toSMulWithZero.{u2, u1} R S (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddZeroClass.toHasZero.{u1} S (AddMonoid.toAddZeroClass.{u1} S (AddCommMonoid.toAddMonoid.{u1} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_4)))))))) (Module.toMulActionWithZero.{u2, u1} R S (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_4))))) (Algebra.toModule.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_4)) _inst_5))))) (SMulZeroClass.toHasSmul.{u1, u4} S S' (AddZeroClass.toHasZero.{u4} S' (AddMonoid.toAddZeroClass.{u4} S' (AddCommMonoid.toAddMonoid.{u4} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))))))) (SMulWithZero.toSmulZeroClass.{u1, u4} S S' (MulZeroClass.toHasZero.{u1} S (MulZeroOneClass.toMulZeroClass.{u1} S (MonoidWithZero.toMulZeroOneClass.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_4)))))) (AddZeroClass.toHasZero.{u4} S' (AddMonoid.toAddZeroClass.{u4} S' (AddCommMonoid.toAddMonoid.{u4} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))))))) (MulActionWithZero.toSMulWithZero.{u1, u4} S S' (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_4))) (AddZeroClass.toHasZero.{u4} S' (AddMonoid.toAddZeroClass.{u4} S' (AddCommMonoid.toAddMonoid.{u4} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))))))) (Module.toMulActionWithZero.{u1, u4} S S' (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_4)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26))))) (Algebra.toModule.{u1, u4} S S' (CommRing.toCommSemiring.{u1} S _inst_4) (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)) _inst_28))))) (SMulZeroClass.toHasSmul.{u2, u4} R S' (AddZeroClass.toHasZero.{u4} S' (AddMonoid.toAddZeroClass.{u4} S' (AddCommMonoid.toAddMonoid.{u4} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))))))) (SMulWithZero.toSmulZeroClass.{u2, u4} R S' (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (AddZeroClass.toHasZero.{u4} S' (AddMonoid.toAddZeroClass.{u4} S' (AddCommMonoid.toAddMonoid.{u4} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))))))) (MulActionWithZero.toSMulWithZero.{u2, u4} R S' (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddZeroClass.toHasZero.{u4} S' (AddMonoid.toAddZeroClass.{u4} S' (AddCommMonoid.toAddMonoid.{u4} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))))))) (Module.toMulActionWithZero.{u2, u4} R S' (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26))))) (Algebra.toModule.{u2, u4} R S' (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)) _inst_30)))))], (Algebra.IsPushout.{u1, u2, u3, u4} R S _inst_3 _inst_4 _inst_5 R' S' _inst_25 _inst_26 _inst_27 _inst_28 _inst_29 _inst_30 _inst_31 _inst_32) -> (Algebra.IsPushout.{u3, u2, u1, u4} R R' _inst_3 _inst_25 _inst_27 S S' _inst_4 _inst_26 _inst_5 _inst_29 _inst_28 _inst_30 _inst_32 _inst_31)
+but is expected to have type
+  forall {R : Type.{u3}} {S : Type.{u4}} [_inst_3 : CommRing.{u3} R] [_inst_4 : CommRing.{u4} S] [_inst_5 : Algebra.{u3, u4} R S (CommRing.toCommSemiring.{u3} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4))] {R' : Type.{u2}} {S' : Type.{u1}} [_inst_25 : CommRing.{u2} R'] [_inst_26 : CommRing.{u1} S'] [_inst_27 : Algebra.{u3, u2} R R' (CommRing.toCommSemiring.{u3} R _inst_3) (CommSemiring.toSemiring.{u2} R' (CommRing.toCommSemiring.{u2} R' _inst_25))] [_inst_28 : Algebra.{u4, u1} S S' (CommRing.toCommSemiring.{u4} S _inst_4) (CommSemiring.toSemiring.{u1} S' (CommRing.toCommSemiring.{u1} S' _inst_26))] [_inst_29 : Algebra.{u2, u1} R' S' (CommRing.toCommSemiring.{u2} R' _inst_25) (CommSemiring.toSemiring.{u1} S' (CommRing.toCommSemiring.{u1} S' _inst_26))] [_inst_30 : Algebra.{u3, u1} R S' (CommRing.toCommSemiring.{u3} R _inst_3) (CommSemiring.toSemiring.{u1} S' (CommRing.toCommSemiring.{u1} S' _inst_26))] [_inst_31 : IsScalarTower.{u3, u2, u1} R R' S' (Algebra.toSMul.{u3, u2} R R' (CommRing.toCommSemiring.{u3} R _inst_3) (CommSemiring.toSemiring.{u2} R' (CommRing.toCommSemiring.{u2} R' _inst_25)) _inst_27) (Algebra.toSMul.{u2, u1} R' S' (CommRing.toCommSemiring.{u2} R' _inst_25) (CommSemiring.toSemiring.{u1} S' (CommRing.toCommSemiring.{u1} S' _inst_26)) _inst_29) (Algebra.toSMul.{u3, u1} R S' (CommRing.toCommSemiring.{u3} R _inst_3) (CommSemiring.toSemiring.{u1} S' (CommRing.toCommSemiring.{u1} S' _inst_26)) _inst_30)] [_inst_32 : IsScalarTower.{u3, u4, u1} R S S' (Algebra.toSMul.{u3, u4} R S (CommRing.toCommSemiring.{u3} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) (Algebra.toSMul.{u4, u1} S S' (CommRing.toCommSemiring.{u4} S _inst_4) (CommSemiring.toSemiring.{u1} S' (CommRing.toCommSemiring.{u1} S' _inst_26)) _inst_28) (Algebra.toSMul.{u3, u1} R S' (CommRing.toCommSemiring.{u3} R _inst_3) (CommSemiring.toSemiring.{u1} S' (CommRing.toCommSemiring.{u1} S' _inst_26)) _inst_30)], (Algebra.IsPushout.{u4, u3, u2, u1} R S _inst_3 _inst_4 _inst_5 R' S' _inst_25 _inst_26 _inst_27 _inst_28 _inst_29 _inst_30 _inst_31 _inst_32) -> (Algebra.IsPushout.{u2, u3, u4, u1} R R' _inst_3 _inst_25 _inst_27 S S' _inst_4 _inst_26 _inst_5 _inst_29 _inst_28 _inst_30 _inst_32 _inst_31)
+Case conversion may be inaccurate. Consider using '#align algebra.is_pushout.symm Algebra.IsPushout.symmₓ'. -/
 theorem Algebra.IsPushout.symm (h : Algebra.IsPushout R S R' S') : Algebra.IsPushout R R' S S' :=
   by
   letI := (Algebra.TensorProduct.includeRight : R' →ₐ[R] S ⊗ R').toRingHom.toAlgebra
@@ -424,6 +554,12 @@ theorem Algebra.IsPushout.symm (h : Algebra.IsPushout R S R' S') : Algebra.IsPus
 
 variable (R S R' S')
 
+/- warning: algebra.is_pushout.comm -> Algebra.IsPushout.comm is a dubious translation:
+lean 3 declaration is
+  forall (R : Type.{u2}) (S : Type.{u1}) [_inst_3 : CommRing.{u2} R] [_inst_4 : CommRing.{u1} S] [_inst_5 : Algebra.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_4))] (R' : Type.{u3}) (S' : Type.{u4}) [_inst_25 : CommRing.{u3} R'] [_inst_26 : CommRing.{u4} S'] [_inst_27 : Algebra.{u2, u3} R R' (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_25))] [_inst_28 : Algebra.{u1, u4} S S' (CommRing.toCommSemiring.{u1} S _inst_4) (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26))] [_inst_29 : Algebra.{u3, u4} R' S' (CommRing.toCommSemiring.{u3} R' _inst_25) (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26))] [_inst_30 : Algebra.{u2, u4} R S' (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26))] [_inst_31 : IsScalarTower.{u2, u3, u4} R R' S' (SMulZeroClass.toHasSmul.{u2, u3} R R' (AddZeroClass.toHasZero.{u3} R' (AddMonoid.toAddZeroClass.{u3} R' (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_25)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} R R' (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (AddZeroClass.toHasZero.{u3} R' (AddMonoid.toAddZeroClass.{u3} R' (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_25)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} R R' (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddZeroClass.toHasZero.{u3} R' (AddMonoid.toAddZeroClass.{u3} R' (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_25)))))))) (Module.toMulActionWithZero.{u2, u3} R R' (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_25))))) (Algebra.toModule.{u2, u3} R R' (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_25)) _inst_27))))) (SMulZeroClass.toHasSmul.{u3, u4} R' S' (AddZeroClass.toHasZero.{u4} S' (AddMonoid.toAddZeroClass.{u4} S' (AddCommMonoid.toAddMonoid.{u4} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))))))) (SMulWithZero.toSmulZeroClass.{u3, u4} R' S' (MulZeroClass.toHasZero.{u3} R' (MulZeroOneClass.toMulZeroClass.{u3} R' (MonoidWithZero.toMulZeroOneClass.{u3} R' (Semiring.toMonoidWithZero.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)))))) (AddZeroClass.toHasZero.{u4} S' (AddMonoid.toAddZeroClass.{u4} S' (AddCommMonoid.toAddMonoid.{u4} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))))))) (MulActionWithZero.toSMulWithZero.{u3, u4} R' S' (Semiring.toMonoidWithZero.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25))) (AddZeroClass.toHasZero.{u4} S' (AddMonoid.toAddZeroClass.{u4} S' (AddCommMonoid.toAddMonoid.{u4} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))))))) (Module.toMulActionWithZero.{u3, u4} R' S' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26))))) (Algebra.toModule.{u3, u4} R' S' (CommRing.toCommSemiring.{u3} R' _inst_25) (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)) _inst_29))))) (SMulZeroClass.toHasSmul.{u2, u4} R S' (AddZeroClass.toHasZero.{u4} S' (AddMonoid.toAddZeroClass.{u4} S' (AddCommMonoid.toAddMonoid.{u4} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))))))) (SMulWithZero.toSmulZeroClass.{u2, u4} R S' (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (AddZeroClass.toHasZero.{u4} S' (AddMonoid.toAddZeroClass.{u4} S' (AddCommMonoid.toAddMonoid.{u4} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))))))) (MulActionWithZero.toSMulWithZero.{u2, u4} R S' (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddZeroClass.toHasZero.{u4} S' (AddMonoid.toAddZeroClass.{u4} S' (AddCommMonoid.toAddMonoid.{u4} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))))))) (Module.toMulActionWithZero.{u2, u4} R S' (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26))))) (Algebra.toModule.{u2, u4} R S' (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)) _inst_30)))))] [_inst_32 : IsScalarTower.{u2, u1, u4} R S S' (SMulZeroClass.toHasSmul.{u2, u1} R S (AddZeroClass.toHasZero.{u1} S (AddMonoid.toAddZeroClass.{u1} S (AddCommMonoid.toAddMonoid.{u1} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_4)))))))) (SMulWithZero.toSmulZeroClass.{u2, u1} R S (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (AddZeroClass.toHasZero.{u1} S (AddMonoid.toAddZeroClass.{u1} S (AddCommMonoid.toAddMonoid.{u1} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_4)))))))) (MulActionWithZero.toSMulWithZero.{u2, u1} R S (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddZeroClass.toHasZero.{u1} S (AddMonoid.toAddZeroClass.{u1} S (AddCommMonoid.toAddMonoid.{u1} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_4)))))))) (Module.toMulActionWithZero.{u2, u1} R S (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_4))))) (Algebra.toModule.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_4)) _inst_5))))) (SMulZeroClass.toHasSmul.{u1, u4} S S' (AddZeroClass.toHasZero.{u4} S' (AddMonoid.toAddZeroClass.{u4} S' (AddCommMonoid.toAddMonoid.{u4} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))))))) (SMulWithZero.toSmulZeroClass.{u1, u4} S S' (MulZeroClass.toHasZero.{u1} S (MulZeroOneClass.toMulZeroClass.{u1} S (MonoidWithZero.toMulZeroOneClass.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_4)))))) (AddZeroClass.toHasZero.{u4} S' (AddMonoid.toAddZeroClass.{u4} S' (AddCommMonoid.toAddMonoid.{u4} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))))))) (MulActionWithZero.toSMulWithZero.{u1, u4} S S' (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_4))) (AddZeroClass.toHasZero.{u4} S' (AddMonoid.toAddZeroClass.{u4} S' (AddCommMonoid.toAddMonoid.{u4} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))))))) (Module.toMulActionWithZero.{u1, u4} S S' (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_4)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26))))) (Algebra.toModule.{u1, u4} S S' (CommRing.toCommSemiring.{u1} S _inst_4) (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)) _inst_28))))) (SMulZeroClass.toHasSmul.{u2, u4} R S' (AddZeroClass.toHasZero.{u4} S' (AddMonoid.toAddZeroClass.{u4} S' (AddCommMonoid.toAddMonoid.{u4} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))))))) (SMulWithZero.toSmulZeroClass.{u2, u4} R S' (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (AddZeroClass.toHasZero.{u4} S' (AddMonoid.toAddZeroClass.{u4} S' (AddCommMonoid.toAddMonoid.{u4} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))))))) (MulActionWithZero.toSMulWithZero.{u2, u4} R S' (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddZeroClass.toHasZero.{u4} S' (AddMonoid.toAddZeroClass.{u4} S' (AddCommMonoid.toAddMonoid.{u4} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))))))) (Module.toMulActionWithZero.{u2, u4} R S' (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26))))) (Algebra.toModule.{u2, u4} R S' (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)) _inst_30)))))], Iff (Algebra.IsPushout.{u1, u2, u3, u4} R S _inst_3 _inst_4 _inst_5 R' S' _inst_25 _inst_26 _inst_27 _inst_28 _inst_29 _inst_30 _inst_31 _inst_32) (Algebra.IsPushout.{u3, u2, u1, u4} R R' _inst_3 _inst_25 _inst_27 S S' _inst_4 _inst_26 _inst_5 _inst_29 _inst_28 _inst_30 _inst_32 _inst_31)
+but is expected to have type
+  forall (R : Type.{u3}) (S : Type.{u4}) [_inst_3 : CommRing.{u3} R] [_inst_4 : CommRing.{u4} S] [_inst_5 : Algebra.{u3, u4} R S (CommRing.toCommSemiring.{u3} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4))] (R' : Type.{u2}) (S' : Type.{u1}) [_inst_25 : CommRing.{u2} R'] [_inst_26 : CommRing.{u1} S'] [_inst_27 : Algebra.{u3, u2} R R' (CommRing.toCommSemiring.{u3} R _inst_3) (CommSemiring.toSemiring.{u2} R' (CommRing.toCommSemiring.{u2} R' _inst_25))] [_inst_28 : Algebra.{u4, u1} S S' (CommRing.toCommSemiring.{u4} S _inst_4) (CommSemiring.toSemiring.{u1} S' (CommRing.toCommSemiring.{u1} S' _inst_26))] [_inst_29 : Algebra.{u2, u1} R' S' (CommRing.toCommSemiring.{u2} R' _inst_25) (CommSemiring.toSemiring.{u1} S' (CommRing.toCommSemiring.{u1} S' _inst_26))] [_inst_30 : Algebra.{u3, u1} R S' (CommRing.toCommSemiring.{u3} R _inst_3) (CommSemiring.toSemiring.{u1} S' (CommRing.toCommSemiring.{u1} S' _inst_26))] [_inst_31 : IsScalarTower.{u3, u2, u1} R R' S' (Algebra.toSMul.{u3, u2} R R' (CommRing.toCommSemiring.{u3} R _inst_3) (CommSemiring.toSemiring.{u2} R' (CommRing.toCommSemiring.{u2} R' _inst_25)) _inst_27) (Algebra.toSMul.{u2, u1} R' S' (CommRing.toCommSemiring.{u2} R' _inst_25) (CommSemiring.toSemiring.{u1} S' (CommRing.toCommSemiring.{u1} S' _inst_26)) _inst_29) (Algebra.toSMul.{u3, u1} R S' (CommRing.toCommSemiring.{u3} R _inst_3) (CommSemiring.toSemiring.{u1} S' (CommRing.toCommSemiring.{u1} S' _inst_26)) _inst_30)] [_inst_32 : IsScalarTower.{u3, u4, u1} R S S' (Algebra.toSMul.{u3, u4} R S (CommRing.toCommSemiring.{u3} R _inst_3) (CommSemiring.toSemiring.{u4} S (CommRing.toCommSemiring.{u4} S _inst_4)) _inst_5) (Algebra.toSMul.{u4, u1} S S' (CommRing.toCommSemiring.{u4} S _inst_4) (CommSemiring.toSemiring.{u1} S' (CommRing.toCommSemiring.{u1} S' _inst_26)) _inst_28) (Algebra.toSMul.{u3, u1} R S' (CommRing.toCommSemiring.{u3} R _inst_3) (CommSemiring.toSemiring.{u1} S' (CommRing.toCommSemiring.{u1} S' _inst_26)) _inst_30)], Iff (Algebra.IsPushout.{u4, u3, u2, u1} R S _inst_3 _inst_4 _inst_5 R' S' _inst_25 _inst_26 _inst_27 _inst_28 _inst_29 _inst_30 _inst_31 _inst_32) (Algebra.IsPushout.{u2, u3, u4, u1} R R' _inst_3 _inst_25 _inst_27 S S' _inst_4 _inst_26 _inst_5 _inst_29 _inst_28 _inst_30 _inst_32 _inst_31)
+Case conversion may be inaccurate. Consider using '#align algebra.is_pushout.comm Algebra.IsPushout.commₓ'. -/
 theorem Algebra.IsPushout.comm : Algebra.IsPushout R S R' S' ↔ Algebra.IsPushout R R' S S' :=
   ⟨Algebra.IsPushout.symm, Algebra.IsPushout.symm⟩
 #align algebra.is_pushout.comm Algebra.IsPushout.comm
@@ -432,16 +568,34 @@ variable {R S R'}
 
 attribute [local instance] Algebra.TensorProduct.rightAlgebra
 
+/- warning: tensor_product.is_pushout -> TensorProduct.isPushout is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {S : Type.{u2}} {T : Type.{u3}} [_inst_33 : CommRing.{u1} R] [_inst_34 : CommRing.{u2} S] [_inst_35 : CommRing.{u3} T] [_inst_36 : Algebra.{u1, u2} R S (CommRing.toCommSemiring.{u1} R _inst_33) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_34))] [_inst_37 : Algebra.{u1, u3} R T (CommRing.toCommSemiring.{u1} R _inst_33) (Ring.toSemiring.{u3} T (CommRing.toRing.{u3} T _inst_35))], Algebra.IsPushout.{u2, u1, u3, max u2 u3} R S _inst_33 _inst_34 _inst_36 T (TensorProduct.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_33) S T (AddCommGroup.toAddCommMonoid.{u2} S (NonUnitalNonAssocRing.toAddCommGroup.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_34))))) (AddCommGroup.toAddCommMonoid.{u3} T (NonUnitalNonAssocRing.toAddCommGroup.{u3} T (NonAssocRing.toNonUnitalNonAssocRing.{u3} T (Ring.toNonAssocRing.{u3} T (CommRing.toRing.{u3} T _inst_35))))) (Algebra.toModule.{u1, u2} R S (CommRing.toCommSemiring.{u1} R _inst_33) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_34)) _inst_36) (Algebra.toModule.{u1, u3} R T (CommRing.toCommSemiring.{u1} R _inst_33) (Ring.toSemiring.{u3} T (CommRing.toRing.{u3} T _inst_35)) _inst_37)) _inst_35 (Algebra.TensorProduct.TensorProduct.commRing.{u1, u2, u3} R _inst_33 S _inst_34 _inst_36 T _inst_35 _inst_37) _inst_37 (Algebra.TensorProduct.leftAlgebra.{u1, u2, u3, u2} R (CommRing.toCommSemiring.{u1} R _inst_33) S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_34)) _inst_36 T (Ring.toSemiring.{u3} T (CommRing.toRing.{u3} T _inst_35)) _inst_37 S (CommRing.toCommSemiring.{u2} S _inst_34) _inst_36 (Algebra.id.{u2} S (CommRing.toCommSemiring.{u2} S _inst_34)) (IsScalarTower.right.{u1, u2} R S (CommRing.toCommSemiring.{u1} R _inst_33) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_34)) _inst_36)) (Algebra.TensorProduct.rightAlgebra.{u1, u2, u3} R _inst_33 S _inst_34 _inst_36 T _inst_35 _inst_37) (Algebra.TensorProduct.TensorProduct.algebra.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_33) S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_34)) _inst_36 T (Ring.toSemiring.{u3} T (CommRing.toRing.{u3} T _inst_35)) _inst_37) (Algebra.TensorProduct.right_isScalarTower.{u1, u2, u3} R _inst_33 S _inst_34 _inst_36 T _inst_35 _inst_37) (Algebra.TensorProduct.TensorProduct.isScalarTower.{u1, u2, u3, u2} R (CommRing.toCommSemiring.{u1} R _inst_33) S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_34)) _inst_36 T (Ring.toSemiring.{u3} T (CommRing.toRing.{u3} T _inst_35)) _inst_37 S (CommRing.toCommSemiring.{u2} S _inst_34) _inst_36 (Algebra.id.{u2} S (CommRing.toCommSemiring.{u2} S _inst_34)) (IsScalarTower.right.{u1, u2} R S (CommRing.toCommSemiring.{u1} R _inst_33) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_34)) _inst_36))
+but is expected to have type
+  forall {R : Type.{u1}} {S : Type.{u2}} {T : Type.{u3}} [_inst_33 : CommRing.{u1} R] [_inst_34 : CommRing.{u2} S] [_inst_35 : CommRing.{u3} T] [_inst_36 : Algebra.{u1, u2} R S (CommRing.toCommSemiring.{u1} R _inst_33) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_34))] [_inst_37 : Algebra.{u1, u3} R T (CommRing.toCommSemiring.{u1} R _inst_33) (CommSemiring.toSemiring.{u3} T (CommRing.toCommSemiring.{u3} T _inst_35))], Algebra.IsPushout.{u2, u1, u3, max u3 u2} R S _inst_33 _inst_34 _inst_36 T (TensorProduct.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_33) S T (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_34))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} T (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} T (NonAssocRing.toNonUnitalNonAssocRing.{u3} T (Ring.toNonAssocRing.{u3} T (CommRing.toRing.{u3} T _inst_35))))) (Algebra.toModule.{u1, u2} R S (CommRing.toCommSemiring.{u1} R _inst_33) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_34)) _inst_36) (Algebra.toModule.{u1, u3} R T (CommRing.toCommSemiring.{u1} R _inst_33) (CommSemiring.toSemiring.{u3} T (CommRing.toCommSemiring.{u3} T _inst_35)) _inst_37)) _inst_35 (Algebra.TensorProduct.instCommRingTensorProductToCommSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingToRingToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingToRingToModuleToSemiringToCommSemiringToModuleToSemiringToCommSemiring.{u1, u2, u3} R _inst_33 S _inst_34 _inst_36 T _inst_35 _inst_37) _inst_37 (Algebra.TensorProduct.leftAlgebra.{u1, u2, u3, u2} R (CommRing.toCommSemiring.{u1} R _inst_33) S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_34)) _inst_36 T (CommSemiring.toSemiring.{u3} T (CommRing.toCommSemiring.{u3} T _inst_35)) _inst_37 S (CommRing.toCommSemiring.{u2} S _inst_34) _inst_36 (Algebra.id.{u2} S (CommRing.toCommSemiring.{u2} S _inst_34)) (IsScalarTower.right.{u1, u2} R S (CommRing.toCommSemiring.{u1} R _inst_33) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_34)) _inst_36)) (Algebra.TensorProduct.rightAlgebra.{u1, u2, u3} R _inst_33 S _inst_34 _inst_36 T _inst_35 _inst_37) (Algebra.TensorProduct.instAlgebraTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModuleInstSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_33) S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_34)) _inst_36 T (CommSemiring.toSemiring.{u3} T (CommRing.toCommSemiring.{u3} T _inst_35)) _inst_37) (Algebra.TensorProduct.right_isScalarTower.{u1, u2, u3} R _inst_33 S _inst_34 _inst_36 T _inst_35 _inst_37) (Algebra.TensorProduct.instIsScalarTowerTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModuleToSMulToSemiringLeftHasSMulToMonoidToMonoidWithZeroToDistribMulActionToModuleTo_smulCommClassInstSMulTensorProduct.{u1, u2, u3, u2} R (CommRing.toCommSemiring.{u1} R _inst_33) S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_34)) _inst_36 T (CommSemiring.toSemiring.{u3} T (CommRing.toCommSemiring.{u3} T _inst_35)) _inst_37 S (CommRing.toCommSemiring.{u2} S _inst_34) _inst_36 (Algebra.id.{u2} S (CommRing.toCommSemiring.{u2} S _inst_34)) (IsScalarTower.right.{u1, u2} R S (CommRing.toCommSemiring.{u1} R _inst_33) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_34)) _inst_36))
+Case conversion may be inaccurate. Consider using '#align tensor_product.is_pushout TensorProduct.isPushoutₓ'. -/
 instance TensorProduct.isPushout {R S T : Type _} [CommRing R] [CommRing S] [CommRing T]
     [Algebra R S] [Algebra R T] : Algebra.IsPushout R S T (TensorProduct R S T) :=
   ⟨TensorProduct.isBaseChange R T S⟩
 #align tensor_product.is_pushout TensorProduct.isPushout
 
+/- warning: tensor_product.is_pushout' -> TensorProduct.isPushout' is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {S : Type.{u2}} {T : Type.{u3}} [_inst_33 : CommRing.{u1} R] [_inst_34 : CommRing.{u2} S] [_inst_35 : CommRing.{u3} T] [_inst_36 : Algebra.{u1, u2} R S (CommRing.toCommSemiring.{u1} R _inst_33) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_34))] [_inst_37 : Algebra.{u1, u3} R T (CommRing.toCommSemiring.{u1} R _inst_33) (Ring.toSemiring.{u3} T (CommRing.toRing.{u3} T _inst_35))], Algebra.IsPushout.{u3, u1, u2, max u2 u3} R T _inst_33 _inst_35 _inst_37 S (TensorProduct.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_33) S T (AddCommGroup.toAddCommMonoid.{u2} S (NonUnitalNonAssocRing.toAddCommGroup.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_34))))) (AddCommGroup.toAddCommMonoid.{u3} T (NonUnitalNonAssocRing.toAddCommGroup.{u3} T (NonAssocRing.toNonUnitalNonAssocRing.{u3} T (Ring.toNonAssocRing.{u3} T (CommRing.toRing.{u3} T _inst_35))))) (Algebra.toModule.{u1, u2} R S (CommRing.toCommSemiring.{u1} R _inst_33) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_34)) _inst_36) (Algebra.toModule.{u1, u3} R T (CommRing.toCommSemiring.{u1} R _inst_33) (Ring.toSemiring.{u3} T (CommRing.toRing.{u3} T _inst_35)) _inst_37)) _inst_34 (Algebra.TensorProduct.TensorProduct.commRing.{u1, u2, u3} R _inst_33 S _inst_34 _inst_36 T _inst_35 _inst_37) _inst_36 (Algebra.TensorProduct.rightAlgebra.{u1, u2, u3} R _inst_33 S _inst_34 _inst_36 T _inst_35 _inst_37) (Algebra.TensorProduct.leftAlgebra.{u1, u2, u3, u2} R (CommRing.toCommSemiring.{u1} R _inst_33) S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_34)) _inst_36 T (Ring.toSemiring.{u3} T (CommRing.toRing.{u3} T _inst_35)) _inst_37 S (CommRing.toCommSemiring.{u2} S _inst_34) _inst_36 (Algebra.id.{u2} S (CommRing.toCommSemiring.{u2} S _inst_34)) (IsScalarTower.right.{u1, u2} R S (CommRing.toCommSemiring.{u1} R _inst_33) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_34)) _inst_36)) (Algebra.TensorProduct.TensorProduct.algebra.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_33) S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_34)) _inst_36 T (Ring.toSemiring.{u3} T (CommRing.toRing.{u3} T _inst_35)) _inst_37) (Algebra.TensorProduct.TensorProduct.isScalarTower.{u1, u2, u3, u2} R (CommRing.toCommSemiring.{u1} R _inst_33) S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_34)) _inst_36 T (Ring.toSemiring.{u3} T (CommRing.toRing.{u3} T _inst_35)) _inst_37 S (CommRing.toCommSemiring.{u2} S _inst_34) _inst_36 (Algebra.id.{u2} S (CommRing.toCommSemiring.{u2} S _inst_34)) (IsScalarTower.right.{u1, u2} R S (CommRing.toCommSemiring.{u1} R _inst_33) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_34)) _inst_36)) (Algebra.TensorProduct.right_isScalarTower.{u1, u2, u3} R _inst_33 S _inst_34 _inst_36 T _inst_35 _inst_37)
+but is expected to have type
+  forall {R : Type.{u1}} {S : Type.{u2}} {T : Type.{u3}} [_inst_33 : CommRing.{u1} R] [_inst_34 : CommRing.{u2} S] [_inst_35 : CommRing.{u3} T] [_inst_36 : Algebra.{u1, u2} R S (CommRing.toCommSemiring.{u1} R _inst_33) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_34))] [_inst_37 : Algebra.{u1, u3} R T (CommRing.toCommSemiring.{u1} R _inst_33) (CommSemiring.toSemiring.{u3} T (CommRing.toCommSemiring.{u3} T _inst_35))], Algebra.IsPushout.{u3, u1, u2, max u3 u2} R T _inst_33 _inst_35 _inst_37 S (TensorProduct.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_33) S T (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_34))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} T (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} T (NonAssocRing.toNonUnitalNonAssocRing.{u3} T (Ring.toNonAssocRing.{u3} T (CommRing.toRing.{u3} T _inst_35))))) (Algebra.toModule.{u1, u2} R S (CommRing.toCommSemiring.{u1} R _inst_33) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_34)) _inst_36) (Algebra.toModule.{u1, u3} R T (CommRing.toCommSemiring.{u1} R _inst_33) (CommSemiring.toSemiring.{u3} T (CommRing.toCommSemiring.{u3} T _inst_35)) _inst_37)) _inst_34 (Algebra.TensorProduct.instCommRingTensorProductToCommSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingToRingToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingToRingToModuleToSemiringToCommSemiringToModuleToSemiringToCommSemiring.{u1, u2, u3} R _inst_33 S _inst_34 _inst_36 T _inst_35 _inst_37) _inst_36 (Algebra.TensorProduct.rightAlgebra.{u1, u2, u3} R _inst_33 S _inst_34 _inst_36 T _inst_35 _inst_37) (Algebra.TensorProduct.leftAlgebra.{u1, u2, u3, u2} R (CommRing.toCommSemiring.{u1} R _inst_33) S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_34)) _inst_36 T (CommSemiring.toSemiring.{u3} T (CommRing.toCommSemiring.{u3} T _inst_35)) _inst_37 S (CommRing.toCommSemiring.{u2} S _inst_34) _inst_36 (Algebra.id.{u2} S (CommRing.toCommSemiring.{u2} S _inst_34)) (IsScalarTower.right.{u1, u2} R S (CommRing.toCommSemiring.{u1} R _inst_33) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_34)) _inst_36)) (Algebra.TensorProduct.instAlgebraTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModuleInstSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_33) S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_34)) _inst_36 T (CommSemiring.toSemiring.{u3} T (CommRing.toCommSemiring.{u3} T _inst_35)) _inst_37) (Algebra.TensorProduct.instIsScalarTowerTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModuleToSMulToSemiringLeftHasSMulToMonoidToMonoidWithZeroToDistribMulActionToModuleTo_smulCommClassInstSMulTensorProduct.{u1, u2, u3, u2} R (CommRing.toCommSemiring.{u1} R _inst_33) S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_34)) _inst_36 T (CommSemiring.toSemiring.{u3} T (CommRing.toCommSemiring.{u3} T _inst_35)) _inst_37 S (CommRing.toCommSemiring.{u2} S _inst_34) _inst_36 (Algebra.id.{u2} S (CommRing.toCommSemiring.{u2} S _inst_34)) (IsScalarTower.right.{u1, u2} R S (CommRing.toCommSemiring.{u1} R _inst_33) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_34)) _inst_36)) (Algebra.TensorProduct.right_isScalarTower.{u1, u2, u3} R _inst_33 S _inst_34 _inst_36 T _inst_35 _inst_37)
+Case conversion may be inaccurate. Consider using '#align tensor_product.is_pushout' TensorProduct.isPushout'ₓ'. -/
 instance TensorProduct.isPushout' {R S T : Type _} [CommRing R] [CommRing S] [CommRing T]
     [Algebra R S] [Algebra R T] : Algebra.IsPushout R T S (TensorProduct R S T) :=
   Algebra.IsPushout.symm inferInstance
 #align tensor_product.is_pushout' TensorProduct.isPushout'
 
+/- warning: algebra.pushout_desc -> Algebra.pushoutDesc is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u2}} {S : Type.{u1}} [_inst_3 : CommRing.{u2} R] [_inst_4 : CommRing.{u1} S] [_inst_5 : Algebra.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_4))] {R' : Type.{u3}} (S' : Type.{u4}) [_inst_25 : CommRing.{u3} R'] [_inst_26 : CommRing.{u4} S'] [_inst_27 : Algebra.{u2, u3} R R' (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_25))] [_inst_28 : Algebra.{u1, u4} S S' (CommRing.toCommSemiring.{u1} S _inst_4) (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26))] [_inst_29 : Algebra.{u3, u4} R' S' (CommRing.toCommSemiring.{u3} R' _inst_25) (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26))] [_inst_30 : Algebra.{u2, u4} R S' (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26))] [_inst_31 : IsScalarTower.{u2, u3, u4} R R' S' (SMulZeroClass.toHasSmul.{u2, u3} R R' (AddZeroClass.toHasZero.{u3} R' (AddMonoid.toAddZeroClass.{u3} R' (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_25)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} R R' (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (AddZeroClass.toHasZero.{u3} R' (AddMonoid.toAddZeroClass.{u3} R' (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_25)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} R R' (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddZeroClass.toHasZero.{u3} R' (AddMonoid.toAddZeroClass.{u3} R' (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_25)))))))) (Module.toMulActionWithZero.{u2, u3} R R' (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_25))))) (Algebra.toModule.{u2, u3} R R' (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_25)) _inst_27))))) (SMulZeroClass.toHasSmul.{u3, u4} R' S' (AddZeroClass.toHasZero.{u4} S' (AddMonoid.toAddZeroClass.{u4} S' (AddCommMonoid.toAddMonoid.{u4} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))))))) (SMulWithZero.toSmulZeroClass.{u3, u4} R' S' (MulZeroClass.toHasZero.{u3} R' (MulZeroOneClass.toMulZeroClass.{u3} R' (MonoidWithZero.toMulZeroOneClass.{u3} R' (Semiring.toMonoidWithZero.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)))))) (AddZeroClass.toHasZero.{u4} S' (AddMonoid.toAddZeroClass.{u4} S' (AddCommMonoid.toAddMonoid.{u4} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))))))) (MulActionWithZero.toSMulWithZero.{u3, u4} R' S' (Semiring.toMonoidWithZero.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25))) (AddZeroClass.toHasZero.{u4} S' (AddMonoid.toAddZeroClass.{u4} S' (AddCommMonoid.toAddMonoid.{u4} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))))))) (Module.toMulActionWithZero.{u3, u4} R' S' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26))))) (Algebra.toModule.{u3, u4} R' S' (CommRing.toCommSemiring.{u3} R' _inst_25) (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)) _inst_29))))) (SMulZeroClass.toHasSmul.{u2, u4} R S' (AddZeroClass.toHasZero.{u4} S' (AddMonoid.toAddZeroClass.{u4} S' (AddCommMonoid.toAddMonoid.{u4} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))))))) (SMulWithZero.toSmulZeroClass.{u2, u4} R S' (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (AddZeroClass.toHasZero.{u4} S' (AddMonoid.toAddZeroClass.{u4} S' (AddCommMonoid.toAddMonoid.{u4} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))))))) (MulActionWithZero.toSMulWithZero.{u2, u4} R S' (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddZeroClass.toHasZero.{u4} S' (AddMonoid.toAddZeroClass.{u4} S' (AddCommMonoid.toAddMonoid.{u4} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))))))) (Module.toMulActionWithZero.{u2, u4} R S' (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26))))) (Algebra.toModule.{u2, u4} R S' (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)) _inst_30)))))] [_inst_32 : IsScalarTower.{u2, u1, u4} R S S' (SMulZeroClass.toHasSmul.{u2, u1} R S (AddZeroClass.toHasZero.{u1} S (AddMonoid.toAddZeroClass.{u1} S (AddCommMonoid.toAddMonoid.{u1} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_4)))))))) (SMulWithZero.toSmulZeroClass.{u2, u1} R S (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (AddZeroClass.toHasZero.{u1} S (AddMonoid.toAddZeroClass.{u1} S (AddCommMonoid.toAddMonoid.{u1} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_4)))))))) (MulActionWithZero.toSMulWithZero.{u2, u1} R S (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddZeroClass.toHasZero.{u1} S (AddMonoid.toAddZeroClass.{u1} S (AddCommMonoid.toAddMonoid.{u1} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_4)))))))) (Module.toMulActionWithZero.{u2, u1} R S (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_4))))) (Algebra.toModule.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_4)) _inst_5))))) (SMulZeroClass.toHasSmul.{u1, u4} S S' (AddZeroClass.toHasZero.{u4} S' (AddMonoid.toAddZeroClass.{u4} S' (AddCommMonoid.toAddMonoid.{u4} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))))))) (SMulWithZero.toSmulZeroClass.{u1, u4} S S' (MulZeroClass.toHasZero.{u1} S (MulZeroOneClass.toMulZeroClass.{u1} S (MonoidWithZero.toMulZeroOneClass.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_4)))))) (AddZeroClass.toHasZero.{u4} S' (AddMonoid.toAddZeroClass.{u4} S' (AddCommMonoid.toAddMonoid.{u4} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))))))) (MulActionWithZero.toSMulWithZero.{u1, u4} S S' (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_4))) (AddZeroClass.toHasZero.{u4} S' (AddMonoid.toAddZeroClass.{u4} S' (AddCommMonoid.toAddMonoid.{u4} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))))))) (Module.toMulActionWithZero.{u1, u4} S S' (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_4)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26))))) (Algebra.toModule.{u1, u4} S S' (CommRing.toCommSemiring.{u1} S _inst_4) (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)) _inst_28))))) (SMulZeroClass.toHasSmul.{u2, u4} R S' (AddZeroClass.toHasZero.{u4} S' (AddMonoid.toAddZeroClass.{u4} S' (AddCommMonoid.toAddMonoid.{u4} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))))))) (SMulWithZero.toSmulZeroClass.{u2, u4} R S' (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (AddZeroClass.toHasZero.{u4} S' (AddMonoid.toAddZeroClass.{u4} S' (AddCommMonoid.toAddMonoid.{u4} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))))))) (MulActionWithZero.toSMulWithZero.{u2, u4} R S' (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddZeroClass.toHasZero.{u4} S' (AddMonoid.toAddZeroClass.{u4} S' (AddCommMonoid.toAddMonoid.{u4} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))))))) (Module.toMulActionWithZero.{u2, u4} R S' (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26))))) (Algebra.toModule.{u2, u4} R S' (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)) _inst_30)))))] [H : Algebra.IsPushout.{u1, u2, u3, u4} R S _inst_3 _inst_4 _inst_5 R' S' _inst_25 _inst_26 _inst_27 _inst_28 _inst_29 _inst_30 _inst_31 _inst_32] {A : Type.{u5}} [_inst_33 : Semiring.{u5} A] [_inst_34 : Algebra.{u2, u5} R A (CommRing.toCommSemiring.{u2} R _inst_3) _inst_33] (f : AlgHom.{u2, u1, u5} R S A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_4)) _inst_33 _inst_5 _inst_34) (g : AlgHom.{u2, u3, u5} R R' A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34), (forall (x : S) (y : R'), Eq.{succ u5} A (HMul.hMul.{u5, u5, u5} A A A (instHMul.{u5} A (Distrib.toHasMul.{u5} A (NonUnitalNonAssocSemiring.toDistrib.{u5} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} A (Semiring.toNonAssocSemiring.{u5} A _inst_33))))) (coeFn.{max (succ u1) (succ u5), max (succ u1) (succ u5)} (AlgHom.{u2, u1, u5} R S A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_4)) _inst_33 _inst_5 _inst_34) (fun (_x : AlgHom.{u2, u1, u5} R S A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_4)) _inst_33 _inst_5 _inst_34) => S -> A) ([anonymous].{u2, u1, u5} R S A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_4)) _inst_33 _inst_5 _inst_34) f x) (coeFn.{max (succ u3) (succ u5), max (succ u3) (succ u5)} (AlgHom.{u2, u3, u5} R R' A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) (fun (_x : AlgHom.{u2, u3, u5} R R' A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) => R' -> A) ([anonymous].{u2, u3, u5} R R' A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) g y)) (HMul.hMul.{u5, u5, u5} A A A (instHMul.{u5} A (Distrib.toHasMul.{u5} A (NonUnitalNonAssocSemiring.toDistrib.{u5} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} A (Semiring.toNonAssocSemiring.{u5} A _inst_33))))) (coeFn.{max (succ u3) (succ u5), max (succ u3) (succ u5)} (AlgHom.{u2, u3, u5} R R' A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) (fun (_x : AlgHom.{u2, u3, u5} R R' A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) => R' -> A) ([anonymous].{u2, u3, u5} R R' A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) g y) (coeFn.{max (succ u1) (succ u5), max (succ u1) (succ u5)} (AlgHom.{u2, u1, u5} R S A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_4)) _inst_33 _inst_5 _inst_34) (fun (_x : AlgHom.{u2, u1, u5} R S A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_4)) _inst_33 _inst_5 _inst_34) => S -> A) ([anonymous].{u2, u1, u5} R S A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_4)) _inst_33 _inst_5 _inst_34) f x))) -> (AlgHom.{u2, u4, u5} R S' A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)) _inst_33 _inst_30 _inst_34)
+but is expected to have type
+  forall {R : Type.{u2}} {S : Type.{u1}} [_inst_3 : CommRing.{u2} R] [_inst_4 : CommRing.{u1} S] [_inst_5 : Algebra.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_4))] {R' : Type.{u3}} (S' : Type.{u4}) [_inst_25 : CommRing.{u3} R'] [_inst_26 : CommRing.{u4} S'] [_inst_27 : Algebra.{u2, u3} R R' (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25))] [_inst_28 : Algebra.{u1, u4} S S' (CommRing.toCommSemiring.{u1} S _inst_4) (CommSemiring.toSemiring.{u4} S' (CommRing.toCommSemiring.{u4} S' _inst_26))] [_inst_29 : Algebra.{u3, u4} R' S' (CommRing.toCommSemiring.{u3} R' _inst_25) (CommSemiring.toSemiring.{u4} S' (CommRing.toCommSemiring.{u4} S' _inst_26))] [_inst_30 : Algebra.{u2, u4} R S' (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u4} S' (CommRing.toCommSemiring.{u4} S' _inst_26))] [_inst_31 : IsScalarTower.{u2, u3, u4} R R' S' (Algebra.toSMul.{u2, u3} R R' (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_27) (Algebra.toSMul.{u3, u4} R' S' (CommRing.toCommSemiring.{u3} R' _inst_25) (CommSemiring.toSemiring.{u4} S' (CommRing.toCommSemiring.{u4} S' _inst_26)) _inst_29) (Algebra.toSMul.{u2, u4} R S' (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u4} S' (CommRing.toCommSemiring.{u4} S' _inst_26)) _inst_30)] [_inst_32 : IsScalarTower.{u2, u1, u4} R S S' (Algebra.toSMul.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_4)) _inst_5) (Algebra.toSMul.{u1, u4} S S' (CommRing.toCommSemiring.{u1} S _inst_4) (CommSemiring.toSemiring.{u4} S' (CommRing.toCommSemiring.{u4} S' _inst_26)) _inst_28) (Algebra.toSMul.{u2, u4} R S' (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u4} S' (CommRing.toCommSemiring.{u4} S' _inst_26)) _inst_30)] [H : Algebra.IsPushout.{u1, u2, u3, u4} R S _inst_3 _inst_4 _inst_5 R' S' _inst_25 _inst_26 _inst_27 _inst_28 _inst_29 _inst_30 _inst_31 _inst_32] {A : Type.{u5}} [_inst_33 : Semiring.{u5} A] [_inst_34 : Algebra.{u2, u5} R A (CommRing.toCommSemiring.{u2} R _inst_3) _inst_33] (f : AlgHom.{u2, u1, u5} R S A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_4)) _inst_33 _inst_5 _inst_34) (g : AlgHom.{u2, u3, u5} R R' A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34), (forall (x : S) (y : R'), Eq.{succ u5} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : S) => A) x) (HMul.hMul.{u5, u5, u5} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : S) => A) x) ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : R') => A) y) ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : S) => A) x) (instHMul.{u5} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : S) => A) x) (NonUnitalNonAssocSemiring.toMul.{u5} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : S) => A) x) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : S) => A) x) (Semiring.toNonAssocSemiring.{u5} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : S) => A) x) _inst_33)))) (FunLike.coe.{max (succ u1) (succ u5), succ u1, succ u5} (AlgHom.{u2, u1, u5} R S A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_4)) _inst_33 _inst_5 _inst_34) S (fun (_x : S) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : S) => A) _x) (SMulHomClass.toFunLike.{max u1 u5, u2, u1, u5} (AlgHom.{u2, u1, u5} R S A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_4)) _inst_33 _inst_5 _inst_34) R S A (SMulZeroClass.toSMul.{u2, u1} R S (AddMonoid.toZero.{u1} S (AddCommMonoid.toAddMonoid.{u1} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_4))))))) (DistribSMul.toSMulZeroClass.{u2, u1} R S (AddMonoid.toAddZeroClass.{u1} S (AddCommMonoid.toAddMonoid.{u1} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_4))))))) (DistribMulAction.toDistribSMul.{u2, u1} R S (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (AddCommMonoid.toAddMonoid.{u1} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_4)))))) (Module.toDistribMulAction.{u2, u1} R S (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_4))))) (Algebra.toModule.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_4)) _inst_5))))) (SMulZeroClass.toSMul.{u2, u5} R A (AddMonoid.toZero.{u5} A (AddCommMonoid.toAddMonoid.{u5} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} A (Semiring.toNonAssocSemiring.{u5} A _inst_33))))) (DistribSMul.toSMulZeroClass.{u2, u5} R A (AddMonoid.toAddZeroClass.{u5} A (AddCommMonoid.toAddMonoid.{u5} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} A (Semiring.toNonAssocSemiring.{u5} A _inst_33))))) (DistribMulAction.toDistribSMul.{u2, u5} R A (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (AddCommMonoid.toAddMonoid.{u5} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} A (Semiring.toNonAssocSemiring.{u5} A _inst_33)))) (Module.toDistribMulAction.{u2, u5} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} A (Semiring.toNonAssocSemiring.{u5} A _inst_33))) (Algebra.toModule.{u2, u5} R A (CommRing.toCommSemiring.{u2} R _inst_3) _inst_33 _inst_34))))) (DistribMulActionHomClass.toSMulHomClass.{max u1 u5, u2, u1, u5} (AlgHom.{u2, u1, u5} R S A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_4)) _inst_33 _inst_5 _inst_34) R S A (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (AddCommMonoid.toAddMonoid.{u1} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_4)))))) (AddCommMonoid.toAddMonoid.{u5} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} A (Semiring.toNonAssocSemiring.{u5} A _inst_33)))) (Module.toDistribMulAction.{u2, u1} R S (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_4))))) (Algebra.toModule.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_4)) _inst_5)) (Module.toDistribMulAction.{u2, u5} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} A (Semiring.toNonAssocSemiring.{u5} A _inst_33))) (Algebra.toModule.{u2, u5} R A (CommRing.toCommSemiring.{u2} R _inst_3) _inst_33 _inst_34)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max u1 u5, u2, u1, u5} (AlgHom.{u2, u1, u5} R S A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_4)) _inst_33 _inst_5 _inst_34) R S A (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_4)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} A (Semiring.toNonAssocSemiring.{u5} A _inst_33)) (Module.toDistribMulAction.{u2, u1} R S (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_4))))) (Algebra.toModule.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_4)) _inst_5)) (Module.toDistribMulAction.{u2, u5} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} A (Semiring.toNonAssocSemiring.{u5} A _inst_33))) (Algebra.toModule.{u2, u5} R A (CommRing.toCommSemiring.{u2} R _inst_3) _inst_33 _inst_34)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u2, u1, u5, max u1 u5} R S A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_4)) _inst_33 _inst_5 _inst_34 (AlgHom.{u2, u1, u5} R S A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_4)) _inst_33 _inst_5 _inst_34) (AlgHom.algHomClass.{u2, u1, u5} R S A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_4)) _inst_33 _inst_5 _inst_34))))) f x) (FunLike.coe.{max (succ u3) (succ u5), succ u3, succ u5} (AlgHom.{u2, u3, u5} R R' A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) R' (fun (_x : R') => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : R') => A) _x) (SMulHomClass.toFunLike.{max u3 u5, u2, u3, u5} (AlgHom.{u2, u3, u5} R R' A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) R R' A (SMulZeroClass.toSMul.{u2, u3} R R' (AddMonoid.toZero.{u3} R' (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25))))))) (DistribSMul.toSMulZeroClass.{u2, u3} R R' (AddMonoid.toAddZeroClass.{u3} R' (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25))))))) (DistribMulAction.toDistribSMul.{u2, u3} R R' (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)))))) (Module.toDistribMulAction.{u2, u3} R R' (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25))))) (Algebra.toModule.{u2, u3} R R' (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_27))))) (SMulZeroClass.toSMul.{u2, u5} R A (AddMonoid.toZero.{u5} A (AddCommMonoid.toAddMonoid.{u5} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} A (Semiring.toNonAssocSemiring.{u5} A _inst_33))))) (DistribSMul.toSMulZeroClass.{u2, u5} R A (AddMonoid.toAddZeroClass.{u5} A (AddCommMonoid.toAddMonoid.{u5} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} A (Semiring.toNonAssocSemiring.{u5} A _inst_33))))) (DistribMulAction.toDistribSMul.{u2, u5} R A (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (AddCommMonoid.toAddMonoid.{u5} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} A (Semiring.toNonAssocSemiring.{u5} A _inst_33)))) (Module.toDistribMulAction.{u2, u5} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} A (Semiring.toNonAssocSemiring.{u5} A _inst_33))) (Algebra.toModule.{u2, u5} R A (CommRing.toCommSemiring.{u2} R _inst_3) _inst_33 _inst_34))))) (DistribMulActionHomClass.toSMulHomClass.{max u3 u5, u2, u3, u5} (AlgHom.{u2, u3, u5} R R' A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) R R' A (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)))))) (AddCommMonoid.toAddMonoid.{u5} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} A (Semiring.toNonAssocSemiring.{u5} A _inst_33)))) (Module.toDistribMulAction.{u2, u3} R R' (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25))))) (Algebra.toModule.{u2, u3} R R' (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_27)) (Module.toDistribMulAction.{u2, u5} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} A (Semiring.toNonAssocSemiring.{u5} A _inst_33))) (Algebra.toModule.{u2, u5} R A (CommRing.toCommSemiring.{u2} R _inst_3) _inst_33 _inst_34)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max u3 u5, u2, u3, u5} (AlgHom.{u2, u3, u5} R R' A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) R R' A (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} A (Semiring.toNonAssocSemiring.{u5} A _inst_33)) (Module.toDistribMulAction.{u2, u3} R R' (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25))))) (Algebra.toModule.{u2, u3} R R' (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_27)) (Module.toDistribMulAction.{u2, u5} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} A (Semiring.toNonAssocSemiring.{u5} A _inst_33))) (Algebra.toModule.{u2, u5} R A (CommRing.toCommSemiring.{u2} R _inst_3) _inst_33 _inst_34)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u2, u3, u5, max u3 u5} R R' A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34 (AlgHom.{u2, u3, u5} R R' A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) (AlgHom.algHomClass.{u2, u3, u5} R R' A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34))))) g y)) (HMul.hMul.{u5, u5, u5} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : R') => A) y) ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : S) => A) x) ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : R') => A) y) (instHMul.{u5} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : R') => A) y) (NonUnitalNonAssocSemiring.toMul.{u5} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : R') => A) y) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : R') => A) y) (Semiring.toNonAssocSemiring.{u5} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : R') => A) y) _inst_33)))) (FunLike.coe.{max (succ u3) (succ u5), succ u3, succ u5} (AlgHom.{u2, u3, u5} R R' A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) R' (fun (_x : R') => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : R') => A) _x) (SMulHomClass.toFunLike.{max u3 u5, u2, u3, u5} (AlgHom.{u2, u3, u5} R R' A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) R R' A (SMulZeroClass.toSMul.{u2, u3} R R' (AddMonoid.toZero.{u3} R' (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25))))))) (DistribSMul.toSMulZeroClass.{u2, u3} R R' (AddMonoid.toAddZeroClass.{u3} R' (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25))))))) (DistribMulAction.toDistribSMul.{u2, u3} R R' (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)))))) (Module.toDistribMulAction.{u2, u3} R R' (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25))))) (Algebra.toModule.{u2, u3} R R' (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_27))))) (SMulZeroClass.toSMul.{u2, u5} R A (AddMonoid.toZero.{u5} A (AddCommMonoid.toAddMonoid.{u5} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} A (Semiring.toNonAssocSemiring.{u5} A _inst_33))))) (DistribSMul.toSMulZeroClass.{u2, u5} R A (AddMonoid.toAddZeroClass.{u5} A (AddCommMonoid.toAddMonoid.{u5} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} A (Semiring.toNonAssocSemiring.{u5} A _inst_33))))) (DistribMulAction.toDistribSMul.{u2, u5} R A (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (AddCommMonoid.toAddMonoid.{u5} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} A (Semiring.toNonAssocSemiring.{u5} A _inst_33)))) (Module.toDistribMulAction.{u2, u5} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} A (Semiring.toNonAssocSemiring.{u5} A _inst_33))) (Algebra.toModule.{u2, u5} R A (CommRing.toCommSemiring.{u2} R _inst_3) _inst_33 _inst_34))))) (DistribMulActionHomClass.toSMulHomClass.{max u3 u5, u2, u3, u5} (AlgHom.{u2, u3, u5} R R' A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) R R' A (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)))))) (AddCommMonoid.toAddMonoid.{u5} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} A (Semiring.toNonAssocSemiring.{u5} A _inst_33)))) (Module.toDistribMulAction.{u2, u3} R R' (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25))))) (Algebra.toModule.{u2, u3} R R' (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_27)) (Module.toDistribMulAction.{u2, u5} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} A (Semiring.toNonAssocSemiring.{u5} A _inst_33))) (Algebra.toModule.{u2, u5} R A (CommRing.toCommSemiring.{u2} R _inst_3) _inst_33 _inst_34)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max u3 u5, u2, u3, u5} (AlgHom.{u2, u3, u5} R R' A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) R R' A (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} A (Semiring.toNonAssocSemiring.{u5} A _inst_33)) (Module.toDistribMulAction.{u2, u3} R R' (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25))))) (Algebra.toModule.{u2, u3} R R' (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_27)) (Module.toDistribMulAction.{u2, u5} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} A (Semiring.toNonAssocSemiring.{u5} A _inst_33))) (Algebra.toModule.{u2, u5} R A (CommRing.toCommSemiring.{u2} R _inst_3) _inst_33 _inst_34)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u2, u3, u5, max u3 u5} R R' A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34 (AlgHom.{u2, u3, u5} R R' A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) (AlgHom.algHomClass.{u2, u3, u5} R R' A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34))))) g y) (FunLike.coe.{max (succ u1) (succ u5), succ u1, succ u5} (AlgHom.{u2, u1, u5} R S A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_4)) _inst_33 _inst_5 _inst_34) S (fun (_x : S) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : S) => A) _x) (SMulHomClass.toFunLike.{max u1 u5, u2, u1, u5} (AlgHom.{u2, u1, u5} R S A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_4)) _inst_33 _inst_5 _inst_34) R S A (SMulZeroClass.toSMul.{u2, u1} R S (AddMonoid.toZero.{u1} S (AddCommMonoid.toAddMonoid.{u1} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_4))))))) (DistribSMul.toSMulZeroClass.{u2, u1} R S (AddMonoid.toAddZeroClass.{u1} S (AddCommMonoid.toAddMonoid.{u1} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_4))))))) (DistribMulAction.toDistribSMul.{u2, u1} R S (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (AddCommMonoid.toAddMonoid.{u1} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_4)))))) (Module.toDistribMulAction.{u2, u1} R S (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_4))))) (Algebra.toModule.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_4)) _inst_5))))) (SMulZeroClass.toSMul.{u2, u5} R A (AddMonoid.toZero.{u5} A (AddCommMonoid.toAddMonoid.{u5} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} A (Semiring.toNonAssocSemiring.{u5} A _inst_33))))) (DistribSMul.toSMulZeroClass.{u2, u5} R A (AddMonoid.toAddZeroClass.{u5} A (AddCommMonoid.toAddMonoid.{u5} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} A (Semiring.toNonAssocSemiring.{u5} A _inst_33))))) (DistribMulAction.toDistribSMul.{u2, u5} R A (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (AddCommMonoid.toAddMonoid.{u5} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} A (Semiring.toNonAssocSemiring.{u5} A _inst_33)))) (Module.toDistribMulAction.{u2, u5} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} A (Semiring.toNonAssocSemiring.{u5} A _inst_33))) (Algebra.toModule.{u2, u5} R A (CommRing.toCommSemiring.{u2} R _inst_3) _inst_33 _inst_34))))) (DistribMulActionHomClass.toSMulHomClass.{max u1 u5, u2, u1, u5} (AlgHom.{u2, u1, u5} R S A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_4)) _inst_33 _inst_5 _inst_34) R S A (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (AddCommMonoid.toAddMonoid.{u1} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_4)))))) (AddCommMonoid.toAddMonoid.{u5} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} A (Semiring.toNonAssocSemiring.{u5} A _inst_33)))) (Module.toDistribMulAction.{u2, u1} R S (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_4))))) (Algebra.toModule.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_4)) _inst_5)) (Module.toDistribMulAction.{u2, u5} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} A (Semiring.toNonAssocSemiring.{u5} A _inst_33))) (Algebra.toModule.{u2, u5} R A (CommRing.toCommSemiring.{u2} R _inst_3) _inst_33 _inst_34)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max u1 u5, u2, u1, u5} (AlgHom.{u2, u1, u5} R S A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_4)) _inst_33 _inst_5 _inst_34) R S A (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_4)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} A (Semiring.toNonAssocSemiring.{u5} A _inst_33)) (Module.toDistribMulAction.{u2, u1} R S (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_4))))) (Algebra.toModule.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_4)) _inst_5)) (Module.toDistribMulAction.{u2, u5} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} A (Semiring.toNonAssocSemiring.{u5} A _inst_33))) (Algebra.toModule.{u2, u5} R A (CommRing.toCommSemiring.{u2} R _inst_3) _inst_33 _inst_34)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u2, u1, u5, max u1 u5} R S A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_4)) _inst_33 _inst_5 _inst_34 (AlgHom.{u2, u1, u5} R S A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_4)) _inst_33 _inst_5 _inst_34) (AlgHom.algHomClass.{u2, u1, u5} R S A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_4)) _inst_33 _inst_5 _inst_34))))) f x))) -> (AlgHom.{u2, u4, u5} R S' A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u4} S' (CommRing.toCommSemiring.{u4} S' _inst_26)) _inst_33 _inst_30 _inst_34)
+Case conversion may be inaccurate. Consider using '#align algebra.pushout_desc Algebra.pushoutDescₓ'. -/
 /-- If `S' = S ⊗[R] R'`, then any pair of `R`-algebra homomorphisms `f : S → A` and `g : R' → A`
 such that `f x` and `g y` commutes for all `x, y` descends to a (unique) homomoprhism `S' → A`.
 -/
@@ -485,6 +639,12 @@ noncomputable def Algebra.pushoutDesc [H : Algebra.IsPushout R S R' S'] {A : Typ
       rw [mul_add, map_add, map_add, mul_add, e₁, e₂]
 #align algebra.pushout_desc Algebra.pushoutDesc
 
+/- warning: algebra.pushout_desc_left -> Algebra.pushoutDesc_left is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u2}} {S : Type.{u1}} [_inst_3 : CommRing.{u2} R] [_inst_4 : CommRing.{u1} S] [_inst_5 : Algebra.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_4))] {R' : Type.{u3}} (S' : Type.{u4}) [_inst_25 : CommRing.{u3} R'] [_inst_26 : CommRing.{u4} S'] [_inst_27 : Algebra.{u2, u3} R R' (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_25))] [_inst_28 : Algebra.{u1, u4} S S' (CommRing.toCommSemiring.{u1} S _inst_4) (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26))] [_inst_29 : Algebra.{u3, u4} R' S' (CommRing.toCommSemiring.{u3} R' _inst_25) (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26))] [_inst_30 : Algebra.{u2, u4} R S' (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26))] [_inst_31 : IsScalarTower.{u2, u3, u4} R R' S' (SMulZeroClass.toHasSmul.{u2, u3} R R' (AddZeroClass.toHasZero.{u3} R' (AddMonoid.toAddZeroClass.{u3} R' (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_25)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} R R' (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (AddZeroClass.toHasZero.{u3} R' (AddMonoid.toAddZeroClass.{u3} R' (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_25)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} R R' (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddZeroClass.toHasZero.{u3} R' (AddMonoid.toAddZeroClass.{u3} R' (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_25)))))))) (Module.toMulActionWithZero.{u2, u3} R R' (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_25))))) (Algebra.toModule.{u2, u3} R R' (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_25)) _inst_27))))) (SMulZeroClass.toHasSmul.{u3, u4} R' S' (AddZeroClass.toHasZero.{u4} S' (AddMonoid.toAddZeroClass.{u4} S' (AddCommMonoid.toAddMonoid.{u4} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))))))) (SMulWithZero.toSmulZeroClass.{u3, u4} R' S' (MulZeroClass.toHasZero.{u3} R' (MulZeroOneClass.toMulZeroClass.{u3} R' (MonoidWithZero.toMulZeroOneClass.{u3} R' (Semiring.toMonoidWithZero.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)))))) (AddZeroClass.toHasZero.{u4} S' (AddMonoid.toAddZeroClass.{u4} S' (AddCommMonoid.toAddMonoid.{u4} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))))))) (MulActionWithZero.toSMulWithZero.{u3, u4} R' S' (Semiring.toMonoidWithZero.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25))) (AddZeroClass.toHasZero.{u4} S' (AddMonoid.toAddZeroClass.{u4} S' (AddCommMonoid.toAddMonoid.{u4} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))))))) (Module.toMulActionWithZero.{u3, u4} R' S' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26))))) (Algebra.toModule.{u3, u4} R' S' (CommRing.toCommSemiring.{u3} R' _inst_25) (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)) _inst_29))))) (SMulZeroClass.toHasSmul.{u2, u4} R S' (AddZeroClass.toHasZero.{u4} S' (AddMonoid.toAddZeroClass.{u4} S' (AddCommMonoid.toAddMonoid.{u4} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))))))) (SMulWithZero.toSmulZeroClass.{u2, u4} R S' (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (AddZeroClass.toHasZero.{u4} S' (AddMonoid.toAddZeroClass.{u4} S' (AddCommMonoid.toAddMonoid.{u4} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))))))) (MulActionWithZero.toSMulWithZero.{u2, u4} R S' (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddZeroClass.toHasZero.{u4} S' (AddMonoid.toAddZeroClass.{u4} S' (AddCommMonoid.toAddMonoid.{u4} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))))))) (Module.toMulActionWithZero.{u2, u4} R S' (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26))))) (Algebra.toModule.{u2, u4} R S' (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)) _inst_30)))))] [_inst_32 : IsScalarTower.{u2, u1, u4} R S S' (SMulZeroClass.toHasSmul.{u2, u1} R S (AddZeroClass.toHasZero.{u1} S (AddMonoid.toAddZeroClass.{u1} S (AddCommMonoid.toAddMonoid.{u1} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_4)))))))) (SMulWithZero.toSmulZeroClass.{u2, u1} R S (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (AddZeroClass.toHasZero.{u1} S (AddMonoid.toAddZeroClass.{u1} S (AddCommMonoid.toAddMonoid.{u1} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_4)))))))) (MulActionWithZero.toSMulWithZero.{u2, u1} R S (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddZeroClass.toHasZero.{u1} S (AddMonoid.toAddZeroClass.{u1} S (AddCommMonoid.toAddMonoid.{u1} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_4)))))))) (Module.toMulActionWithZero.{u2, u1} R S (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_4))))) (Algebra.toModule.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_4)) _inst_5))))) (SMulZeroClass.toHasSmul.{u1, u4} S S' (AddZeroClass.toHasZero.{u4} S' (AddMonoid.toAddZeroClass.{u4} S' (AddCommMonoid.toAddMonoid.{u4} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))))))) (SMulWithZero.toSmulZeroClass.{u1, u4} S S' (MulZeroClass.toHasZero.{u1} S (MulZeroOneClass.toMulZeroClass.{u1} S (MonoidWithZero.toMulZeroOneClass.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_4)))))) (AddZeroClass.toHasZero.{u4} S' (AddMonoid.toAddZeroClass.{u4} S' (AddCommMonoid.toAddMonoid.{u4} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))))))) (MulActionWithZero.toSMulWithZero.{u1, u4} S S' (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_4))) (AddZeroClass.toHasZero.{u4} S' (AddMonoid.toAddZeroClass.{u4} S' (AddCommMonoid.toAddMonoid.{u4} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))))))) (Module.toMulActionWithZero.{u1, u4} S S' (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_4)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26))))) (Algebra.toModule.{u1, u4} S S' (CommRing.toCommSemiring.{u1} S _inst_4) (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)) _inst_28))))) (SMulZeroClass.toHasSmul.{u2, u4} R S' (AddZeroClass.toHasZero.{u4} S' (AddMonoid.toAddZeroClass.{u4} S' (AddCommMonoid.toAddMonoid.{u4} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))))))) (SMulWithZero.toSmulZeroClass.{u2, u4} R S' (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (AddZeroClass.toHasZero.{u4} S' (AddMonoid.toAddZeroClass.{u4} S' (AddCommMonoid.toAddMonoid.{u4} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))))))) (MulActionWithZero.toSMulWithZero.{u2, u4} R S' (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddZeroClass.toHasZero.{u4} S' (AddMonoid.toAddZeroClass.{u4} S' (AddCommMonoid.toAddMonoid.{u4} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))))))) (Module.toMulActionWithZero.{u2, u4} R S' (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26))))) (Algebra.toModule.{u2, u4} R S' (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)) _inst_30)))))] [H : Algebra.IsPushout.{u1, u2, u3, u4} R S _inst_3 _inst_4 _inst_5 R' S' _inst_25 _inst_26 _inst_27 _inst_28 _inst_29 _inst_30 _inst_31 _inst_32] {A : Type.{u5}} [_inst_33 : Semiring.{u5} A] [_inst_34 : Algebra.{u2, u5} R A (CommRing.toCommSemiring.{u2} R _inst_3) _inst_33] (f : AlgHom.{u2, u1, u5} R S A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_4)) _inst_33 _inst_5 _inst_34) (g : AlgHom.{u2, u3, u5} R R' A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) (H_1 : forall (x : S) (y : R'), Eq.{succ u5} A (HMul.hMul.{u5, u5, u5} A A A (instHMul.{u5} A (Distrib.toHasMul.{u5} A (NonUnitalNonAssocSemiring.toDistrib.{u5} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} A (Semiring.toNonAssocSemiring.{u5} A _inst_33))))) (coeFn.{max (succ u1) (succ u5), max (succ u1) (succ u5)} (AlgHom.{u2, u1, u5} R S A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_4)) _inst_33 _inst_5 _inst_34) (fun (_x : AlgHom.{u2, u1, u5} R S A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_4)) _inst_33 _inst_5 _inst_34) => S -> A) ([anonymous].{u2, u1, u5} R S A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_4)) _inst_33 _inst_5 _inst_34) f x) (coeFn.{max (succ u3) (succ u5), max (succ u3) (succ u5)} (AlgHom.{u2, u3, u5} R R' A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) (fun (_x : AlgHom.{u2, u3, u5} R R' A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) => R' -> A) ([anonymous].{u2, u3, u5} R R' A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) g y)) (HMul.hMul.{u5, u5, u5} A A A (instHMul.{u5} A (Distrib.toHasMul.{u5} A (NonUnitalNonAssocSemiring.toDistrib.{u5} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} A (Semiring.toNonAssocSemiring.{u5} A _inst_33))))) (coeFn.{max (succ u3) (succ u5), max (succ u3) (succ u5)} (AlgHom.{u2, u3, u5} R R' A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) (fun (_x : AlgHom.{u2, u3, u5} R R' A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) => R' -> A) ([anonymous].{u2, u3, u5} R R' A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) g y) (coeFn.{max (succ u1) (succ u5), max (succ u1) (succ u5)} (AlgHom.{u2, u1, u5} R S A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_4)) _inst_33 _inst_5 _inst_34) (fun (_x : AlgHom.{u2, u1, u5} R S A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_4)) _inst_33 _inst_5 _inst_34) => S -> A) ([anonymous].{u2, u1, u5} R S A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_4)) _inst_33 _inst_5 _inst_34) f x))) (x : S), Eq.{succ u5} A (coeFn.{max (succ u4) (succ u5), max (succ u4) (succ u5)} (AlgHom.{u2, u4, u5} R S' A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)) _inst_33 _inst_30 _inst_34) (fun (_x : AlgHom.{u2, u4, u5} R S' A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)) _inst_33 _inst_30 _inst_34) => S' -> A) ([anonymous].{u2, u4, u5} R S' A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)) _inst_33 _inst_30 _inst_34) (Algebra.pushoutDesc.{u1, u2, u3, u4, u5} R S _inst_3 _inst_4 _inst_5 R' S' _inst_25 _inst_26 _inst_27 _inst_28 _inst_29 _inst_30 _inst_31 _inst_32 H A _inst_33 _inst_34 f g H_1) (coeFn.{max (succ u1) (succ u4), max (succ u1) (succ u4)} (RingHom.{u1, u4} S S' (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_4))) (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))) (fun (_x : RingHom.{u1, u4} S S' (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_4))) (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))) => S -> S') (RingHom.hasCoeToFun.{u1, u4} S S' (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_4))) (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))) (algebraMap.{u1, u4} S S' (CommRing.toCommSemiring.{u1} S _inst_4) (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)) _inst_28) x)) (coeFn.{max (succ u1) (succ u5), max (succ u1) (succ u5)} (AlgHom.{u2, u1, u5} R S A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_4)) _inst_33 _inst_5 _inst_34) (fun (_x : AlgHom.{u2, u1, u5} R S A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_4)) _inst_33 _inst_5 _inst_34) => S -> A) ([anonymous].{u2, u1, u5} R S A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_4)) _inst_33 _inst_5 _inst_34) f x)
+but is expected to have type
+  forall {R : Type.{u4}} {S : Type.{u5}} [_inst_3 : CommRing.{u4} R] [_inst_4 : CommRing.{u5} S] [_inst_5 : Algebra.{u4, u5} R S (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4))] {R' : Type.{u3}} (S' : Type.{u2}) [_inst_25 : CommRing.{u3} R'] [_inst_26 : CommRing.{u2} S'] [_inst_27 : Algebra.{u4, u3} R R' (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25))] [_inst_28 : Algebra.{u5, u2} S S' (CommRing.toCommSemiring.{u5} S _inst_4) (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26))] [_inst_29 : Algebra.{u3, u2} R' S' (CommRing.toCommSemiring.{u3} R' _inst_25) (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26))] [_inst_30 : Algebra.{u4, u2} R S' (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26))] [_inst_31 : IsScalarTower.{u4, u3, u2} R R' S' (Algebra.toSMul.{u4, u3} R R' (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_27) (Algebra.toSMul.{u3, u2} R' S' (CommRing.toCommSemiring.{u3} R' _inst_25) (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26)) _inst_29) (Algebra.toSMul.{u4, u2} R S' (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26)) _inst_30)] [_inst_32 : IsScalarTower.{u4, u5, u2} R S S' (Algebra.toSMul.{u4, u5} R S (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_5) (Algebra.toSMul.{u5, u2} S S' (CommRing.toCommSemiring.{u5} S _inst_4) (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26)) _inst_28) (Algebra.toSMul.{u4, u2} R S' (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26)) _inst_30)] [H : Algebra.IsPushout.{u5, u4, u3, u2} R S _inst_3 _inst_4 _inst_5 R' S' _inst_25 _inst_26 _inst_27 _inst_28 _inst_29 _inst_30 _inst_31 _inst_32] {A : Type.{u1}} [_inst_33 : Semiring.{u1} A] [_inst_34 : Algebra.{u4, u1} R A (CommRing.toCommSemiring.{u4} R _inst_3) _inst_33] (f : AlgHom.{u4, u5, u1} R S A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_33 _inst_5 _inst_34) (g : AlgHom.{u4, u3, u1} R R' A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) (H_1 : forall (x : S) (y : R'), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : S) => A) x) (HMul.hMul.{u1, u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : S) => A) x) ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : R') => A) y) ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : S) => A) x) (instHMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : S) => A) x) (NonUnitalNonAssocSemiring.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : S) => A) x) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : S) => A) x) (Semiring.toNonAssocSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : S) => A) x) _inst_33)))) (FunLike.coe.{max (succ u5) (succ u1), succ u5, succ u1} (AlgHom.{u4, u5, u1} R S A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_33 _inst_5 _inst_34) S (fun (_x : S) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : S) => A) _x) (SMulHomClass.toFunLike.{max u5 u1, u4, u5, u1} (AlgHom.{u4, u5, u1} R S A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_33 _inst_5 _inst_34) R S A (SMulZeroClass.toSMul.{u4, u5} R S (AddMonoid.toZero.{u5} S (AddCommMonoid.toAddMonoid.{u5} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} S (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4))))))) (DistribSMul.toSMulZeroClass.{u4, u5} R S (AddMonoid.toAddZeroClass.{u5} S (AddCommMonoid.toAddMonoid.{u5} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} S (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4))))))) (DistribMulAction.toDistribSMul.{u4, u5} R S (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))) (AddCommMonoid.toAddMonoid.{u5} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} S (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)))))) (Module.toDistribMulAction.{u4, u5} R S (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} S (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4))))) (Algebra.toModule.{u4, u5} R S (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_5))))) (SMulZeroClass.toSMul.{u4, u1} R A (AddMonoid.toZero.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))))) (DistribSMul.toSMulZeroClass.{u4, u1} R A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))))) (DistribMulAction.toDistribSMul.{u4, u1} R A (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))) (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33)))) (Module.toDistribMulAction.{u4, u1} R A (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))) (Algebra.toModule.{u4, u1} R A (CommRing.toCommSemiring.{u4} R _inst_3) _inst_33 _inst_34))))) (DistribMulActionHomClass.toSMulHomClass.{max u5 u1, u4, u5, u1} (AlgHom.{u4, u5, u1} R S A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_33 _inst_5 _inst_34) R S A (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))) (AddCommMonoid.toAddMonoid.{u5} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} S (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)))))) (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33)))) (Module.toDistribMulAction.{u4, u5} R S (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} S (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4))))) (Algebra.toModule.{u4, u5} R S (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_5)) (Module.toDistribMulAction.{u4, u1} R A (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))) (Algebra.toModule.{u4, u1} R A (CommRing.toCommSemiring.{u4} R _inst_3) _inst_33 _inst_34)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max u5 u1, u4, u5, u1} (AlgHom.{u4, u5, u1} R S A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_33 _inst_5 _inst_34) R S A (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} S (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33)) (Module.toDistribMulAction.{u4, u5} R S (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} S (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4))))) (Algebra.toModule.{u4, u5} R S (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_5)) (Module.toDistribMulAction.{u4, u1} R A (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))) (Algebra.toModule.{u4, u1} R A (CommRing.toCommSemiring.{u4} R _inst_3) _inst_33 _inst_34)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u4, u5, u1, max u5 u1} R S A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_33 _inst_5 _inst_34 (AlgHom.{u4, u5, u1} R S A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_33 _inst_5 _inst_34) (AlgHom.algHomClass.{u4, u5, u1} R S A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_33 _inst_5 _inst_34))))) f x) (FunLike.coe.{max (succ u3) (succ u1), succ u3, succ u1} (AlgHom.{u4, u3, u1} R R' A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) R' (fun (_x : R') => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : R') => A) _x) (SMulHomClass.toFunLike.{max u3 u1, u4, u3, u1} (AlgHom.{u4, u3, u1} R R' A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) R R' A (SMulZeroClass.toSMul.{u4, u3} R R' (AddMonoid.toZero.{u3} R' (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25))))))) (DistribSMul.toSMulZeroClass.{u4, u3} R R' (AddMonoid.toAddZeroClass.{u3} R' (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25))))))) (DistribMulAction.toDistribSMul.{u4, u3} R R' (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))) (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)))))) (Module.toDistribMulAction.{u4, u3} R R' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25))))) (Algebra.toModule.{u4, u3} R R' (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_27))))) (SMulZeroClass.toSMul.{u4, u1} R A (AddMonoid.toZero.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))))) (DistribSMul.toSMulZeroClass.{u4, u1} R A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))))) (DistribMulAction.toDistribSMul.{u4, u1} R A (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))) (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33)))) (Module.toDistribMulAction.{u4, u1} R A (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))) (Algebra.toModule.{u4, u1} R A (CommRing.toCommSemiring.{u4} R _inst_3) _inst_33 _inst_34))))) (DistribMulActionHomClass.toSMulHomClass.{max u3 u1, u4, u3, u1} (AlgHom.{u4, u3, u1} R R' A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) R R' A (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))) (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)))))) (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33)))) (Module.toDistribMulAction.{u4, u3} R R' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25))))) (Algebra.toModule.{u4, u3} R R' (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_27)) (Module.toDistribMulAction.{u4, u1} R A (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))) (Algebra.toModule.{u4, u1} R A (CommRing.toCommSemiring.{u4} R _inst_3) _inst_33 _inst_34)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max u3 u1, u4, u3, u1} (AlgHom.{u4, u3, u1} R R' A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) R R' A (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33)) (Module.toDistribMulAction.{u4, u3} R R' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25))))) (Algebra.toModule.{u4, u3} R R' (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_27)) (Module.toDistribMulAction.{u4, u1} R A (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))) (Algebra.toModule.{u4, u1} R A (CommRing.toCommSemiring.{u4} R _inst_3) _inst_33 _inst_34)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u4, u3, u1, max u3 u1} R R' A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34 (AlgHom.{u4, u3, u1} R R' A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) (AlgHom.algHomClass.{u4, u3, u1} R R' A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34))))) g y)) (HMul.hMul.{u1, u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : R') => A) y) ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : S) => A) x) ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : R') => A) y) (instHMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : R') => A) y) (NonUnitalNonAssocSemiring.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : R') => A) y) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : R') => A) y) (Semiring.toNonAssocSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : R') => A) y) _inst_33)))) (FunLike.coe.{max (succ u3) (succ u1), succ u3, succ u1} (AlgHom.{u4, u3, u1} R R' A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) R' (fun (_x : R') => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : R') => A) _x) (SMulHomClass.toFunLike.{max u3 u1, u4, u3, u1} (AlgHom.{u4, u3, u1} R R' A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) R R' A (SMulZeroClass.toSMul.{u4, u3} R R' (AddMonoid.toZero.{u3} R' (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25))))))) (DistribSMul.toSMulZeroClass.{u4, u3} R R' (AddMonoid.toAddZeroClass.{u3} R' (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25))))))) (DistribMulAction.toDistribSMul.{u4, u3} R R' (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))) (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)))))) (Module.toDistribMulAction.{u4, u3} R R' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25))))) (Algebra.toModule.{u4, u3} R R' (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_27))))) (SMulZeroClass.toSMul.{u4, u1} R A (AddMonoid.toZero.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))))) (DistribSMul.toSMulZeroClass.{u4, u1} R A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))))) (DistribMulAction.toDistribSMul.{u4, u1} R A (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))) (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33)))) (Module.toDistribMulAction.{u4, u1} R A (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))) (Algebra.toModule.{u4, u1} R A (CommRing.toCommSemiring.{u4} R _inst_3) _inst_33 _inst_34))))) (DistribMulActionHomClass.toSMulHomClass.{max u3 u1, u4, u3, u1} (AlgHom.{u4, u3, u1} R R' A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) R R' A (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))) (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)))))) (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33)))) (Module.toDistribMulAction.{u4, u3} R R' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25))))) (Algebra.toModule.{u4, u3} R R' (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_27)) (Module.toDistribMulAction.{u4, u1} R A (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))) (Algebra.toModule.{u4, u1} R A (CommRing.toCommSemiring.{u4} R _inst_3) _inst_33 _inst_34)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max u3 u1, u4, u3, u1} (AlgHom.{u4, u3, u1} R R' A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) R R' A (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33)) (Module.toDistribMulAction.{u4, u3} R R' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25))))) (Algebra.toModule.{u4, u3} R R' (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_27)) (Module.toDistribMulAction.{u4, u1} R A (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))) (Algebra.toModule.{u4, u1} R A (CommRing.toCommSemiring.{u4} R _inst_3) _inst_33 _inst_34)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u4, u3, u1, max u3 u1} R R' A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34 (AlgHom.{u4, u3, u1} R R' A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) (AlgHom.algHomClass.{u4, u3, u1} R R' A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34))))) g y) (FunLike.coe.{max (succ u5) (succ u1), succ u5, succ u1} (AlgHom.{u4, u5, u1} R S A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_33 _inst_5 _inst_34) S (fun (_x : S) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : S) => A) _x) (SMulHomClass.toFunLike.{max u5 u1, u4, u5, u1} (AlgHom.{u4, u5, u1} R S A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_33 _inst_5 _inst_34) R S A (SMulZeroClass.toSMul.{u4, u5} R S (AddMonoid.toZero.{u5} S (AddCommMonoid.toAddMonoid.{u5} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} S (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4))))))) (DistribSMul.toSMulZeroClass.{u4, u5} R S (AddMonoid.toAddZeroClass.{u5} S (AddCommMonoid.toAddMonoid.{u5} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} S (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4))))))) (DistribMulAction.toDistribSMul.{u4, u5} R S (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))) (AddCommMonoid.toAddMonoid.{u5} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} S (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)))))) (Module.toDistribMulAction.{u4, u5} R S (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} S (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4))))) (Algebra.toModule.{u4, u5} R S (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_5))))) (SMulZeroClass.toSMul.{u4, u1} R A (AddMonoid.toZero.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))))) (DistribSMul.toSMulZeroClass.{u4, u1} R A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))))) (DistribMulAction.toDistribSMul.{u4, u1} R A (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))) (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33)))) (Module.toDistribMulAction.{u4, u1} R A (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))) (Algebra.toModule.{u4, u1} R A (CommRing.toCommSemiring.{u4} R _inst_3) _inst_33 _inst_34))))) (DistribMulActionHomClass.toSMulHomClass.{max u5 u1, u4, u5, u1} (AlgHom.{u4, u5, u1} R S A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_33 _inst_5 _inst_34) R S A (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))) (AddCommMonoid.toAddMonoid.{u5} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} S (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)))))) (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33)))) (Module.toDistribMulAction.{u4, u5} R S (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} S (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4))))) (Algebra.toModule.{u4, u5} R S (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_5)) (Module.toDistribMulAction.{u4, u1} R A (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))) (Algebra.toModule.{u4, u1} R A (CommRing.toCommSemiring.{u4} R _inst_3) _inst_33 _inst_34)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max u5 u1, u4, u5, u1} (AlgHom.{u4, u5, u1} R S A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_33 _inst_5 _inst_34) R S A (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} S (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33)) (Module.toDistribMulAction.{u4, u5} R S (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} S (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4))))) (Algebra.toModule.{u4, u5} R S (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_5)) (Module.toDistribMulAction.{u4, u1} R A (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))) (Algebra.toModule.{u4, u1} R A (CommRing.toCommSemiring.{u4} R _inst_3) _inst_33 _inst_34)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u4, u5, u1, max u5 u1} R S A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_33 _inst_5 _inst_34 (AlgHom.{u4, u5, u1} R S A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_33 _inst_5 _inst_34) (AlgHom.algHomClass.{u4, u5, u1} R S A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_33 _inst_5 _inst_34))))) f x))) (x : S), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : S') => A) (FunLike.coe.{max (succ u5) (succ u2), succ u5, succ u2} (RingHom.{u5, u2} S S' (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4))) (Semiring.toNonAssocSemiring.{u2} S' (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26)))) S (fun (a : S) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : S) => S') a) (MulHomClass.toFunLike.{max u5 u2, u5, u2} (RingHom.{u5, u2} S S' (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4))) (Semiring.toNonAssocSemiring.{u2} S' (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26)))) S S' (NonUnitalNonAssocSemiring.toMul.{u5} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} S (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4))))) (NonUnitalNonAssocSemiring.toMul.{u2} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S' (Semiring.toNonAssocSemiring.{u2} S' (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26))))) (NonUnitalRingHomClass.toMulHomClass.{max u5 u2, u5, u2} (RingHom.{u5, u2} S S' (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4))) (Semiring.toNonAssocSemiring.{u2} S' (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26)))) S S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} S (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S' (Semiring.toNonAssocSemiring.{u2} S' (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26)))) (RingHomClass.toNonUnitalRingHomClass.{max u5 u2, u5, u2} (RingHom.{u5, u2} S S' (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4))) (Semiring.toNonAssocSemiring.{u2} S' (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26)))) S S' (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4))) (Semiring.toNonAssocSemiring.{u2} S' (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26))) (RingHom.instRingHomClassRingHom.{u5, u2} S S' (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4))) (Semiring.toNonAssocSemiring.{u2} S' (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26))))))) (algebraMap.{u5, u2} S S' (CommRing.toCommSemiring.{u5} S _inst_4) (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26)) _inst_28) x)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (AlgHom.{u4, u2, u1} R S' A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26)) _inst_33 _inst_30 _inst_34) S' (fun (_x : S') => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : S') => A) _x) (SMulHomClass.toFunLike.{max u2 u1, u4, u2, u1} (AlgHom.{u4, u2, u1} R S' A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26)) _inst_33 _inst_30 _inst_34) R S' A (SMulZeroClass.toSMul.{u4, u2} R S' (AddMonoid.toZero.{u2} S' (AddCommMonoid.toAddMonoid.{u2} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S' (Semiring.toNonAssocSemiring.{u2} S' (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26))))))) (DistribSMul.toSMulZeroClass.{u4, u2} R S' (AddMonoid.toAddZeroClass.{u2} S' (AddCommMonoid.toAddMonoid.{u2} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S' (Semiring.toNonAssocSemiring.{u2} S' (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26))))))) (DistribMulAction.toDistribSMul.{u4, u2} R S' (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))) (AddCommMonoid.toAddMonoid.{u2} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S' (Semiring.toNonAssocSemiring.{u2} S' (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26)))))) (Module.toDistribMulAction.{u4, u2} R S' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S' (Semiring.toNonAssocSemiring.{u2} S' (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26))))) (Algebra.toModule.{u4, u2} R S' (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26)) _inst_30))))) (SMulZeroClass.toSMul.{u4, u1} R A (AddMonoid.toZero.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))))) (DistribSMul.toSMulZeroClass.{u4, u1} R A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))))) (DistribMulAction.toDistribSMul.{u4, u1} R A (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))) (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33)))) (Module.toDistribMulAction.{u4, u1} R A (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))) (Algebra.toModule.{u4, u1} R A (CommRing.toCommSemiring.{u4} R _inst_3) _inst_33 _inst_34))))) (DistribMulActionHomClass.toSMulHomClass.{max u2 u1, u4, u2, u1} (AlgHom.{u4, u2, u1} R S' A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26)) _inst_33 _inst_30 _inst_34) R S' A (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))) (AddCommMonoid.toAddMonoid.{u2} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S' (Semiring.toNonAssocSemiring.{u2} S' (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26)))))) (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33)))) (Module.toDistribMulAction.{u4, u2} R S' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S' (Semiring.toNonAssocSemiring.{u2} S' (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26))))) (Algebra.toModule.{u4, u2} R S' (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26)) _inst_30)) (Module.toDistribMulAction.{u4, u1} R A (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))) (Algebra.toModule.{u4, u1} R A (CommRing.toCommSemiring.{u4} R _inst_3) _inst_33 _inst_34)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max u2 u1, u4, u2, u1} (AlgHom.{u4, u2, u1} R S' A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26)) _inst_33 _inst_30 _inst_34) R S' A (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S' (Semiring.toNonAssocSemiring.{u2} S' (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33)) (Module.toDistribMulAction.{u4, u2} R S' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S' (Semiring.toNonAssocSemiring.{u2} S' (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26))))) (Algebra.toModule.{u4, u2} R S' (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26)) _inst_30)) (Module.toDistribMulAction.{u4, u1} R A (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))) (Algebra.toModule.{u4, u1} R A (CommRing.toCommSemiring.{u4} R _inst_3) _inst_33 _inst_34)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u4, u2, u1, max u2 u1} R S' A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26)) _inst_33 _inst_30 _inst_34 (AlgHom.{u4, u2, u1} R S' A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26)) _inst_33 _inst_30 _inst_34) (AlgHom.algHomClass.{u4, u2, u1} R S' A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26)) _inst_33 _inst_30 _inst_34))))) (Algebra.pushoutDesc.{u5, u4, u3, u2, u1} R S _inst_3 _inst_4 _inst_5 R' S' _inst_25 _inst_26 _inst_27 _inst_28 _inst_29 _inst_30 _inst_31 _inst_32 H A _inst_33 _inst_34 f g H_1) (FunLike.coe.{max (succ u5) (succ u2), succ u5, succ u2} (RingHom.{u5, u2} S S' (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4))) (Semiring.toNonAssocSemiring.{u2} S' (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26)))) S (fun (_x : S) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : S) => S') _x) (MulHomClass.toFunLike.{max u5 u2, u5, u2} (RingHom.{u5, u2} S S' (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4))) (Semiring.toNonAssocSemiring.{u2} S' (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26)))) S S' (NonUnitalNonAssocSemiring.toMul.{u5} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} S (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4))))) (NonUnitalNonAssocSemiring.toMul.{u2} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S' (Semiring.toNonAssocSemiring.{u2} S' (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26))))) (NonUnitalRingHomClass.toMulHomClass.{max u5 u2, u5, u2} (RingHom.{u5, u2} S S' (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4))) (Semiring.toNonAssocSemiring.{u2} S' (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26)))) S S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} S (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S' (Semiring.toNonAssocSemiring.{u2} S' (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26)))) (RingHomClass.toNonUnitalRingHomClass.{max u5 u2, u5, u2} (RingHom.{u5, u2} S S' (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4))) (Semiring.toNonAssocSemiring.{u2} S' (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26)))) S S' (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4))) (Semiring.toNonAssocSemiring.{u2} S' (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26))) (RingHom.instRingHomClassRingHom.{u5, u2} S S' (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4))) (Semiring.toNonAssocSemiring.{u2} S' (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26))))))) (algebraMap.{u5, u2} S S' (CommRing.toCommSemiring.{u5} S _inst_4) (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26)) _inst_28) x)) (FunLike.coe.{max (succ u5) (succ u1), succ u5, succ u1} (AlgHom.{u4, u5, u1} R S A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_33 _inst_5 _inst_34) S (fun (_x : S) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : S) => A) _x) (SMulHomClass.toFunLike.{max u5 u1, u4, u5, u1} (AlgHom.{u4, u5, u1} R S A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_33 _inst_5 _inst_34) R S A (SMulZeroClass.toSMul.{u4, u5} R S (AddMonoid.toZero.{u5} S (AddCommMonoid.toAddMonoid.{u5} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} S (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4))))))) (DistribSMul.toSMulZeroClass.{u4, u5} R S (AddMonoid.toAddZeroClass.{u5} S (AddCommMonoid.toAddMonoid.{u5} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} S (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4))))))) (DistribMulAction.toDistribSMul.{u4, u5} R S (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))) (AddCommMonoid.toAddMonoid.{u5} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} S (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)))))) (Module.toDistribMulAction.{u4, u5} R S (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} S (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4))))) (Algebra.toModule.{u4, u5} R S (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_5))))) (SMulZeroClass.toSMul.{u4, u1} R A (AddMonoid.toZero.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))))) (DistribSMul.toSMulZeroClass.{u4, u1} R A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))))) (DistribMulAction.toDistribSMul.{u4, u1} R A (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))) (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33)))) (Module.toDistribMulAction.{u4, u1} R A (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))) (Algebra.toModule.{u4, u1} R A (CommRing.toCommSemiring.{u4} R _inst_3) _inst_33 _inst_34))))) (DistribMulActionHomClass.toSMulHomClass.{max u5 u1, u4, u5, u1} (AlgHom.{u4, u5, u1} R S A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_33 _inst_5 _inst_34) R S A (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))) (AddCommMonoid.toAddMonoid.{u5} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} S (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)))))) (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33)))) (Module.toDistribMulAction.{u4, u5} R S (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} S (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4))))) (Algebra.toModule.{u4, u5} R S (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_5)) (Module.toDistribMulAction.{u4, u1} R A (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))) (Algebra.toModule.{u4, u1} R A (CommRing.toCommSemiring.{u4} R _inst_3) _inst_33 _inst_34)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max u5 u1, u4, u5, u1} (AlgHom.{u4, u5, u1} R S A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_33 _inst_5 _inst_34) R S A (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} S (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33)) (Module.toDistribMulAction.{u4, u5} R S (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} S (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4))))) (Algebra.toModule.{u4, u5} R S (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_5)) (Module.toDistribMulAction.{u4, u1} R A (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))) (Algebra.toModule.{u4, u1} R A (CommRing.toCommSemiring.{u4} R _inst_3) _inst_33 _inst_34)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u4, u5, u1, max u5 u1} R S A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_33 _inst_5 _inst_34 (AlgHom.{u4, u5, u1} R S A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_33 _inst_5 _inst_34) (AlgHom.algHomClass.{u4, u5, u1} R S A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_33 _inst_5 _inst_34))))) f x)
+Case conversion may be inaccurate. Consider using '#align algebra.pushout_desc_left Algebra.pushoutDesc_leftₓ'. -/
 @[simp]
 theorem Algebra.pushoutDesc_left [H : Algebra.IsPushout R S R' S'] {A : Type _} [Semiring A]
     [Algebra R A] (f : S →ₐ[R] A) (g : R' →ₐ[R] A) (H) (x : S) :
@@ -495,12 +655,24 @@ theorem Algebra.pushoutDesc_left [H : Algebra.IsPushout R S R' S'] {A : Type _}
   exact mul_one (f x)
 #align algebra.pushout_desc_left Algebra.pushoutDesc_left
 
+/- warning: algebra.lift_alg_hom_comp_left -> Algebra.lift_algHom_comp_left is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u2}} {S : Type.{u1}} [_inst_3 : CommRing.{u2} R] [_inst_4 : CommRing.{u1} S] [_inst_5 : Algebra.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_4))] {R' : Type.{u3}} (S' : Type.{u4}) [_inst_25 : CommRing.{u3} R'] [_inst_26 : CommRing.{u4} S'] [_inst_27 : Algebra.{u2, u3} R R' (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_25))] [_inst_28 : Algebra.{u1, u4} S S' (CommRing.toCommSemiring.{u1} S _inst_4) (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26))] [_inst_29 : Algebra.{u3, u4} R' S' (CommRing.toCommSemiring.{u3} R' _inst_25) (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26))] [_inst_30 : Algebra.{u2, u4} R S' (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26))] [_inst_31 : IsScalarTower.{u2, u3, u4} R R' S' (SMulZeroClass.toHasSmul.{u2, u3} R R' (AddZeroClass.toHasZero.{u3} R' (AddMonoid.toAddZeroClass.{u3} R' (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_25)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} R R' (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (AddZeroClass.toHasZero.{u3} R' (AddMonoid.toAddZeroClass.{u3} R' (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_25)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} R R' (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddZeroClass.toHasZero.{u3} R' (AddMonoid.toAddZeroClass.{u3} R' (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_25)))))))) (Module.toMulActionWithZero.{u2, u3} R R' (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_25))))) (Algebra.toModule.{u2, u3} R R' (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_25)) _inst_27))))) (SMulZeroClass.toHasSmul.{u3, u4} R' S' (AddZeroClass.toHasZero.{u4} S' (AddMonoid.toAddZeroClass.{u4} S' (AddCommMonoid.toAddMonoid.{u4} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))))))) (SMulWithZero.toSmulZeroClass.{u3, u4} R' S' (MulZeroClass.toHasZero.{u3} R' (MulZeroOneClass.toMulZeroClass.{u3} R' (MonoidWithZero.toMulZeroOneClass.{u3} R' (Semiring.toMonoidWithZero.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)))))) (AddZeroClass.toHasZero.{u4} S' (AddMonoid.toAddZeroClass.{u4} S' (AddCommMonoid.toAddMonoid.{u4} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))))))) (MulActionWithZero.toSMulWithZero.{u3, u4} R' S' (Semiring.toMonoidWithZero.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25))) (AddZeroClass.toHasZero.{u4} S' (AddMonoid.toAddZeroClass.{u4} S' (AddCommMonoid.toAddMonoid.{u4} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))))))) (Module.toMulActionWithZero.{u3, u4} R' S' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26))))) (Algebra.toModule.{u3, u4} R' S' (CommRing.toCommSemiring.{u3} R' _inst_25) (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)) _inst_29))))) (SMulZeroClass.toHasSmul.{u2, u4} R S' (AddZeroClass.toHasZero.{u4} S' (AddMonoid.toAddZeroClass.{u4} S' (AddCommMonoid.toAddMonoid.{u4} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))))))) (SMulWithZero.toSmulZeroClass.{u2, u4} R S' (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (AddZeroClass.toHasZero.{u4} S' (AddMonoid.toAddZeroClass.{u4} S' (AddCommMonoid.toAddMonoid.{u4} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))))))) (MulActionWithZero.toSMulWithZero.{u2, u4} R S' (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddZeroClass.toHasZero.{u4} S' (AddMonoid.toAddZeroClass.{u4} S' (AddCommMonoid.toAddMonoid.{u4} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))))))) (Module.toMulActionWithZero.{u2, u4} R S' (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26))))) (Algebra.toModule.{u2, u4} R S' (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)) _inst_30)))))] [_inst_32 : IsScalarTower.{u2, u1, u4} R S S' (SMulZeroClass.toHasSmul.{u2, u1} R S (AddZeroClass.toHasZero.{u1} S (AddMonoid.toAddZeroClass.{u1} S (AddCommMonoid.toAddMonoid.{u1} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_4)))))))) (SMulWithZero.toSmulZeroClass.{u2, u1} R S (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (AddZeroClass.toHasZero.{u1} S (AddMonoid.toAddZeroClass.{u1} S (AddCommMonoid.toAddMonoid.{u1} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_4)))))))) (MulActionWithZero.toSMulWithZero.{u2, u1} R S (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddZeroClass.toHasZero.{u1} S (AddMonoid.toAddZeroClass.{u1} S (AddCommMonoid.toAddMonoid.{u1} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_4)))))))) (Module.toMulActionWithZero.{u2, u1} R S (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_4))))) (Algebra.toModule.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_4)) _inst_5))))) (SMulZeroClass.toHasSmul.{u1, u4} S S' (AddZeroClass.toHasZero.{u4} S' (AddMonoid.toAddZeroClass.{u4} S' (AddCommMonoid.toAddMonoid.{u4} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))))))) (SMulWithZero.toSmulZeroClass.{u1, u4} S S' (MulZeroClass.toHasZero.{u1} S (MulZeroOneClass.toMulZeroClass.{u1} S (MonoidWithZero.toMulZeroOneClass.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_4)))))) (AddZeroClass.toHasZero.{u4} S' (AddMonoid.toAddZeroClass.{u4} S' (AddCommMonoid.toAddMonoid.{u4} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))))))) (MulActionWithZero.toSMulWithZero.{u1, u4} S S' (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_4))) (AddZeroClass.toHasZero.{u4} S' (AddMonoid.toAddZeroClass.{u4} S' (AddCommMonoid.toAddMonoid.{u4} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))))))) (Module.toMulActionWithZero.{u1, u4} S S' (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_4)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26))))) (Algebra.toModule.{u1, u4} S S' (CommRing.toCommSemiring.{u1} S _inst_4) (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)) _inst_28))))) (SMulZeroClass.toHasSmul.{u2, u4} R S' (AddZeroClass.toHasZero.{u4} S' (AddMonoid.toAddZeroClass.{u4} S' (AddCommMonoid.toAddMonoid.{u4} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))))))) (SMulWithZero.toSmulZeroClass.{u2, u4} R S' (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (AddZeroClass.toHasZero.{u4} S' (AddMonoid.toAddZeroClass.{u4} S' (AddCommMonoid.toAddMonoid.{u4} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))))))) (MulActionWithZero.toSMulWithZero.{u2, u4} R S' (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddZeroClass.toHasZero.{u4} S' (AddMonoid.toAddZeroClass.{u4} S' (AddCommMonoid.toAddMonoid.{u4} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))))))) (Module.toMulActionWithZero.{u2, u4} R S' (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26))))) (Algebra.toModule.{u2, u4} R S' (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)) _inst_30)))))] [H : Algebra.IsPushout.{u1, u2, u3, u4} R S _inst_3 _inst_4 _inst_5 R' S' _inst_25 _inst_26 _inst_27 _inst_28 _inst_29 _inst_30 _inst_31 _inst_32] {A : Type.{u5}} [_inst_33 : Semiring.{u5} A] [_inst_34 : Algebra.{u2, u5} R A (CommRing.toCommSemiring.{u2} R _inst_3) _inst_33] (f : AlgHom.{u2, u1, u5} R S A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_4)) _inst_33 _inst_5 _inst_34) (g : AlgHom.{u2, u3, u5} R R' A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) (H_1 : forall (x : S) (y : R'), Eq.{succ u5} A (HMul.hMul.{u5, u5, u5} A A A (instHMul.{u5} A (Distrib.toHasMul.{u5} A (NonUnitalNonAssocSemiring.toDistrib.{u5} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} A (Semiring.toNonAssocSemiring.{u5} A _inst_33))))) (coeFn.{max (succ u1) (succ u5), max (succ u1) (succ u5)} (AlgHom.{u2, u1, u5} R S A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_4)) _inst_33 _inst_5 _inst_34) (fun (_x : AlgHom.{u2, u1, u5} R S A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_4)) _inst_33 _inst_5 _inst_34) => S -> A) ([anonymous].{u2, u1, u5} R S A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_4)) _inst_33 _inst_5 _inst_34) f x) (coeFn.{max (succ u3) (succ u5), max (succ u3) (succ u5)} (AlgHom.{u2, u3, u5} R R' A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) (fun (_x : AlgHom.{u2, u3, u5} R R' A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) => R' -> A) ([anonymous].{u2, u3, u5} R R' A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) g y)) (HMul.hMul.{u5, u5, u5} A A A (instHMul.{u5} A (Distrib.toHasMul.{u5} A (NonUnitalNonAssocSemiring.toDistrib.{u5} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} A (Semiring.toNonAssocSemiring.{u5} A _inst_33))))) (coeFn.{max (succ u3) (succ u5), max (succ u3) (succ u5)} (AlgHom.{u2, u3, u5} R R' A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) (fun (_x : AlgHom.{u2, u3, u5} R R' A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) => R' -> A) ([anonymous].{u2, u3, u5} R R' A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) g y) (coeFn.{max (succ u1) (succ u5), max (succ u1) (succ u5)} (AlgHom.{u2, u1, u5} R S A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_4)) _inst_33 _inst_5 _inst_34) (fun (_x : AlgHom.{u2, u1, u5} R S A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_4)) _inst_33 _inst_5 _inst_34) => S -> A) ([anonymous].{u2, u1, u5} R S A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_4)) _inst_33 _inst_5 _inst_34) f x))), Eq.{max (succ u1) (succ u5)} (AlgHom.{u2, u1, u5} R S A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_4)) _inst_33 _inst_5 _inst_34) (AlgHom.comp.{u2, u1, u4, u5} R S S' A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_4)) (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)) _inst_33 _inst_5 _inst_30 _inst_34 (Algebra.pushoutDesc.{u1, u2, u3, u4, u5} R S _inst_3 _inst_4 _inst_5 R' S' _inst_25 _inst_26 _inst_27 _inst_28 _inst_29 _inst_30 _inst_31 _inst_32 H A _inst_33 _inst_34 f g H_1) (IsScalarTower.toAlgHom.{u2, u1, u4} R S S' (CommRing.toCommSemiring.{u2} R _inst_3) (CommRing.toCommSemiring.{u1} S _inst_4) (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)) _inst_5 _inst_28 _inst_30 _inst_32)) f
+but is expected to have type
+  forall {R : Type.{u4}} {S : Type.{u5}} [_inst_3 : CommRing.{u4} R] [_inst_4 : CommRing.{u5} S] [_inst_5 : Algebra.{u4, u5} R S (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4))] {R' : Type.{u3}} (S' : Type.{u2}) [_inst_25 : CommRing.{u3} R'] [_inst_26 : CommRing.{u2} S'] [_inst_27 : Algebra.{u4, u3} R R' (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25))] [_inst_28 : Algebra.{u5, u2} S S' (CommRing.toCommSemiring.{u5} S _inst_4) (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26))] [_inst_29 : Algebra.{u3, u2} R' S' (CommRing.toCommSemiring.{u3} R' _inst_25) (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26))] [_inst_30 : Algebra.{u4, u2} R S' (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26))] [_inst_31 : IsScalarTower.{u4, u3, u2} R R' S' (Algebra.toSMul.{u4, u3} R R' (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_27) (Algebra.toSMul.{u3, u2} R' S' (CommRing.toCommSemiring.{u3} R' _inst_25) (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26)) _inst_29) (Algebra.toSMul.{u4, u2} R S' (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26)) _inst_30)] [_inst_32 : IsScalarTower.{u4, u5, u2} R S S' (Algebra.toSMul.{u4, u5} R S (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_5) (Algebra.toSMul.{u5, u2} S S' (CommRing.toCommSemiring.{u5} S _inst_4) (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26)) _inst_28) (Algebra.toSMul.{u4, u2} R S' (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26)) _inst_30)] [H : Algebra.IsPushout.{u5, u4, u3, u2} R S _inst_3 _inst_4 _inst_5 R' S' _inst_25 _inst_26 _inst_27 _inst_28 _inst_29 _inst_30 _inst_31 _inst_32] {A : Type.{u1}} [_inst_33 : Semiring.{u1} A] [_inst_34 : Algebra.{u4, u1} R A (CommRing.toCommSemiring.{u4} R _inst_3) _inst_33] (f : AlgHom.{u4, u5, u1} R S A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_33 _inst_5 _inst_34) (g : AlgHom.{u4, u3, u1} R R' A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) (H_1 : forall (x : S) (y : R'), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : S) => A) x) (HMul.hMul.{u1, u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : S) => A) x) ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : R') => A) y) ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : S) => A) x) (instHMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : S) => A) x) (NonUnitalNonAssocSemiring.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : S) => A) x) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : S) => A) x) (Semiring.toNonAssocSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : S) => A) x) _inst_33)))) (FunLike.coe.{max (succ u5) (succ u1), succ u5, succ u1} (AlgHom.{u4, u5, u1} R S A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_33 _inst_5 _inst_34) S (fun (_x : S) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : S) => A) _x) (SMulHomClass.toFunLike.{max u5 u1, u4, u5, u1} (AlgHom.{u4, u5, u1} R S A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_33 _inst_5 _inst_34) R S A (SMulZeroClass.toSMul.{u4, u5} R S (AddMonoid.toZero.{u5} S (AddCommMonoid.toAddMonoid.{u5} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} S (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4))))))) (DistribSMul.toSMulZeroClass.{u4, u5} R S (AddMonoid.toAddZeroClass.{u5} S (AddCommMonoid.toAddMonoid.{u5} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} S (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4))))))) (DistribMulAction.toDistribSMul.{u4, u5} R S (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))) (AddCommMonoid.toAddMonoid.{u5} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} S (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)))))) (Module.toDistribMulAction.{u4, u5} R S (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} S (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4))))) (Algebra.toModule.{u4, u5} R S (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_5))))) (SMulZeroClass.toSMul.{u4, u1} R A (AddMonoid.toZero.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))))) (DistribSMul.toSMulZeroClass.{u4, u1} R A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))))) (DistribMulAction.toDistribSMul.{u4, u1} R A (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))) (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33)))) (Module.toDistribMulAction.{u4, u1} R A (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))) (Algebra.toModule.{u4, u1} R A (CommRing.toCommSemiring.{u4} R _inst_3) _inst_33 _inst_34))))) (DistribMulActionHomClass.toSMulHomClass.{max u5 u1, u4, u5, u1} (AlgHom.{u4, u5, u1} R S A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_33 _inst_5 _inst_34) R S A (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))) (AddCommMonoid.toAddMonoid.{u5} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} S (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)))))) (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33)))) (Module.toDistribMulAction.{u4, u5} R S (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} S (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4))))) (Algebra.toModule.{u4, u5} R S (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_5)) (Module.toDistribMulAction.{u4, u1} R A (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))) (Algebra.toModule.{u4, u1} R A (CommRing.toCommSemiring.{u4} R _inst_3) _inst_33 _inst_34)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max u5 u1, u4, u5, u1} (AlgHom.{u4, u5, u1} R S A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_33 _inst_5 _inst_34) R S A (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} S (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33)) (Module.toDistribMulAction.{u4, u5} R S (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} S (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4))))) (Algebra.toModule.{u4, u5} R S (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_5)) (Module.toDistribMulAction.{u4, u1} R A (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))) (Algebra.toModule.{u4, u1} R A (CommRing.toCommSemiring.{u4} R _inst_3) _inst_33 _inst_34)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u4, u5, u1, max u5 u1} R S A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_33 _inst_5 _inst_34 (AlgHom.{u4, u5, u1} R S A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_33 _inst_5 _inst_34) (AlgHom.algHomClass.{u4, u5, u1} R S A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_33 _inst_5 _inst_34))))) f x) (FunLike.coe.{max (succ u3) (succ u1), succ u3, succ u1} (AlgHom.{u4, u3, u1} R R' A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) R' (fun (_x : R') => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : R') => A) _x) (SMulHomClass.toFunLike.{max u3 u1, u4, u3, u1} (AlgHom.{u4, u3, u1} R R' A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) R R' A (SMulZeroClass.toSMul.{u4, u3} R R' (AddMonoid.toZero.{u3} R' (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25))))))) (DistribSMul.toSMulZeroClass.{u4, u3} R R' (AddMonoid.toAddZeroClass.{u3} R' (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25))))))) (DistribMulAction.toDistribSMul.{u4, u3} R R' (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))) (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)))))) (Module.toDistribMulAction.{u4, u3} R R' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25))))) (Algebra.toModule.{u4, u3} R R' (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_27))))) (SMulZeroClass.toSMul.{u4, u1} R A (AddMonoid.toZero.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))))) (DistribSMul.toSMulZeroClass.{u4, u1} R A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))))) (DistribMulAction.toDistribSMul.{u4, u1} R A (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))) (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33)))) (Module.toDistribMulAction.{u4, u1} R A (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))) (Algebra.toModule.{u4, u1} R A (CommRing.toCommSemiring.{u4} R _inst_3) _inst_33 _inst_34))))) (DistribMulActionHomClass.toSMulHomClass.{max u3 u1, u4, u3, u1} (AlgHom.{u4, u3, u1} R R' A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) R R' A (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))) (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)))))) (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33)))) (Module.toDistribMulAction.{u4, u3} R R' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25))))) (Algebra.toModule.{u4, u3} R R' (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_27)) (Module.toDistribMulAction.{u4, u1} R A (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))) (Algebra.toModule.{u4, u1} R A (CommRing.toCommSemiring.{u4} R _inst_3) _inst_33 _inst_34)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max u3 u1, u4, u3, u1} (AlgHom.{u4, u3, u1} R R' A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) R R' A (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33)) (Module.toDistribMulAction.{u4, u3} R R' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25))))) (Algebra.toModule.{u4, u3} R R' (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_27)) (Module.toDistribMulAction.{u4, u1} R A (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))) (Algebra.toModule.{u4, u1} R A (CommRing.toCommSemiring.{u4} R _inst_3) _inst_33 _inst_34)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u4, u3, u1, max u3 u1} R R' A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34 (AlgHom.{u4, u3, u1} R R' A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) (AlgHom.algHomClass.{u4, u3, u1} R R' A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34))))) g y)) (HMul.hMul.{u1, u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : R') => A) y) ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : S) => A) x) ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : R') => A) y) (instHMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : R') => A) y) (NonUnitalNonAssocSemiring.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : R') => A) y) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : R') => A) y) (Semiring.toNonAssocSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : R') => A) y) _inst_33)))) (FunLike.coe.{max (succ u3) (succ u1), succ u3, succ u1} (AlgHom.{u4, u3, u1} R R' A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) R' (fun (_x : R') => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : R') => A) _x) (SMulHomClass.toFunLike.{max u3 u1, u4, u3, u1} (AlgHom.{u4, u3, u1} R R' A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) R R' A (SMulZeroClass.toSMul.{u4, u3} R R' (AddMonoid.toZero.{u3} R' (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25))))))) (DistribSMul.toSMulZeroClass.{u4, u3} R R' (AddMonoid.toAddZeroClass.{u3} R' (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25))))))) (DistribMulAction.toDistribSMul.{u4, u3} R R' (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))) (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)))))) (Module.toDistribMulAction.{u4, u3} R R' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25))))) (Algebra.toModule.{u4, u3} R R' (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_27))))) (SMulZeroClass.toSMul.{u4, u1} R A (AddMonoid.toZero.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))))) (DistribSMul.toSMulZeroClass.{u4, u1} R A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))))) (DistribMulAction.toDistribSMul.{u4, u1} R A (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))) (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33)))) (Module.toDistribMulAction.{u4, u1} R A (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))) (Algebra.toModule.{u4, u1} R A (CommRing.toCommSemiring.{u4} R _inst_3) _inst_33 _inst_34))))) (DistribMulActionHomClass.toSMulHomClass.{max u3 u1, u4, u3, u1} (AlgHom.{u4, u3, u1} R R' A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) R R' A (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))) (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)))))) (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33)))) (Module.toDistribMulAction.{u4, u3} R R' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25))))) (Algebra.toModule.{u4, u3} R R' (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_27)) (Module.toDistribMulAction.{u4, u1} R A (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))) (Algebra.toModule.{u4, u1} R A (CommRing.toCommSemiring.{u4} R _inst_3) _inst_33 _inst_34)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max u3 u1, u4, u3, u1} (AlgHom.{u4, u3, u1} R R' A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) R R' A (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33)) (Module.toDistribMulAction.{u4, u3} R R' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25))))) (Algebra.toModule.{u4, u3} R R' (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_27)) (Module.toDistribMulAction.{u4, u1} R A (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))) (Algebra.toModule.{u4, u1} R A (CommRing.toCommSemiring.{u4} R _inst_3) _inst_33 _inst_34)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u4, u3, u1, max u3 u1} R R' A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34 (AlgHom.{u4, u3, u1} R R' A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) (AlgHom.algHomClass.{u4, u3, u1} R R' A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34))))) g y) (FunLike.coe.{max (succ u5) (succ u1), succ u5, succ u1} (AlgHom.{u4, u5, u1} R S A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_33 _inst_5 _inst_34) S (fun (_x : S) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : S) => A) _x) (SMulHomClass.toFunLike.{max u5 u1, u4, u5, u1} (AlgHom.{u4, u5, u1} R S A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_33 _inst_5 _inst_34) R S A (SMulZeroClass.toSMul.{u4, u5} R S (AddMonoid.toZero.{u5} S (AddCommMonoid.toAddMonoid.{u5} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} S (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4))))))) (DistribSMul.toSMulZeroClass.{u4, u5} R S (AddMonoid.toAddZeroClass.{u5} S (AddCommMonoid.toAddMonoid.{u5} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} S (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4))))))) (DistribMulAction.toDistribSMul.{u4, u5} R S (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))) (AddCommMonoid.toAddMonoid.{u5} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} S (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)))))) (Module.toDistribMulAction.{u4, u5} R S (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} S (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4))))) (Algebra.toModule.{u4, u5} R S (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_5))))) (SMulZeroClass.toSMul.{u4, u1} R A (AddMonoid.toZero.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))))) (DistribSMul.toSMulZeroClass.{u4, u1} R A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))))) (DistribMulAction.toDistribSMul.{u4, u1} R A (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))) (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33)))) (Module.toDistribMulAction.{u4, u1} R A (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))) (Algebra.toModule.{u4, u1} R A (CommRing.toCommSemiring.{u4} R _inst_3) _inst_33 _inst_34))))) (DistribMulActionHomClass.toSMulHomClass.{max u5 u1, u4, u5, u1} (AlgHom.{u4, u5, u1} R S A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_33 _inst_5 _inst_34) R S A (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))) (AddCommMonoid.toAddMonoid.{u5} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} S (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)))))) (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33)))) (Module.toDistribMulAction.{u4, u5} R S (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} S (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4))))) (Algebra.toModule.{u4, u5} R S (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_5)) (Module.toDistribMulAction.{u4, u1} R A (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))) (Algebra.toModule.{u4, u1} R A (CommRing.toCommSemiring.{u4} R _inst_3) _inst_33 _inst_34)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max u5 u1, u4, u5, u1} (AlgHom.{u4, u5, u1} R S A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_33 _inst_5 _inst_34) R S A (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} S (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33)) (Module.toDistribMulAction.{u4, u5} R S (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} S (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4))))) (Algebra.toModule.{u4, u5} R S (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_5)) (Module.toDistribMulAction.{u4, u1} R A (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))) (Algebra.toModule.{u4, u1} R A (CommRing.toCommSemiring.{u4} R _inst_3) _inst_33 _inst_34)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u4, u5, u1, max u5 u1} R S A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_33 _inst_5 _inst_34 (AlgHom.{u4, u5, u1} R S A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_33 _inst_5 _inst_34) (AlgHom.algHomClass.{u4, u5, u1} R S A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_33 _inst_5 _inst_34))))) f x))), Eq.{max (succ u5) (succ u1)} (AlgHom.{u4, u5, u1} R S A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_33 _inst_5 _inst_34) (AlgHom.comp.{u4, u5, u2, u1} R S S' A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26)) _inst_33 _inst_5 _inst_30 _inst_34 (Algebra.pushoutDesc.{u5, u4, u3, u2, u1} R S _inst_3 _inst_4 _inst_5 R' S' _inst_25 _inst_26 _inst_27 _inst_28 _inst_29 _inst_30 _inst_31 _inst_32 H A _inst_33 _inst_34 f g H_1) (IsScalarTower.toAlgHom.{u4, u5, u2} R S S' (CommRing.toCommSemiring.{u4} R _inst_3) (CommRing.toCommSemiring.{u5} S _inst_4) (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26)) _inst_5 _inst_28 _inst_30 _inst_32)) f
+Case conversion may be inaccurate. Consider using '#align algebra.lift_alg_hom_comp_left Algebra.lift_algHom_comp_leftₓ'. -/
 theorem Algebra.lift_algHom_comp_left [H : Algebra.IsPushout R S R' S'] {A : Type _} [Semiring A]
     [Algebra R A] (f : S →ₐ[R] A) (g : R' →ₐ[R] A) (H) :
     (Algebra.pushoutDesc S' f g H).comp (toAlgHom R S S') = f :=
   AlgHom.ext fun x => (Algebra.pushoutDesc_left S' f g H x : _)
 #align algebra.lift_alg_hom_comp_left Algebra.lift_algHom_comp_left
 
+/- warning: algebra.pushout_desc_right -> Algebra.pushoutDesc_right is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u2}} {S : Type.{u1}} [_inst_3 : CommRing.{u2} R] [_inst_4 : CommRing.{u1} S] [_inst_5 : Algebra.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_4))] {R' : Type.{u3}} (S' : Type.{u4}) [_inst_25 : CommRing.{u3} R'] [_inst_26 : CommRing.{u4} S'] [_inst_27 : Algebra.{u2, u3} R R' (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_25))] [_inst_28 : Algebra.{u1, u4} S S' (CommRing.toCommSemiring.{u1} S _inst_4) (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26))] [_inst_29 : Algebra.{u3, u4} R' S' (CommRing.toCommSemiring.{u3} R' _inst_25) (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26))] [_inst_30 : Algebra.{u2, u4} R S' (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26))] [_inst_31 : IsScalarTower.{u2, u3, u4} R R' S' (SMulZeroClass.toHasSmul.{u2, u3} R R' (AddZeroClass.toHasZero.{u3} R' (AddMonoid.toAddZeroClass.{u3} R' (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_25)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} R R' (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (AddZeroClass.toHasZero.{u3} R' (AddMonoid.toAddZeroClass.{u3} R' (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_25)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} R R' (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddZeroClass.toHasZero.{u3} R' (AddMonoid.toAddZeroClass.{u3} R' (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_25)))))))) (Module.toMulActionWithZero.{u2, u3} R R' (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_25))))) (Algebra.toModule.{u2, u3} R R' (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_25)) _inst_27))))) (SMulZeroClass.toHasSmul.{u3, u4} R' S' (AddZeroClass.toHasZero.{u4} S' (AddMonoid.toAddZeroClass.{u4} S' (AddCommMonoid.toAddMonoid.{u4} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))))))) (SMulWithZero.toSmulZeroClass.{u3, u4} R' S' (MulZeroClass.toHasZero.{u3} R' (MulZeroOneClass.toMulZeroClass.{u3} R' (MonoidWithZero.toMulZeroOneClass.{u3} R' (Semiring.toMonoidWithZero.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)))))) (AddZeroClass.toHasZero.{u4} S' (AddMonoid.toAddZeroClass.{u4} S' (AddCommMonoid.toAddMonoid.{u4} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))))))) (MulActionWithZero.toSMulWithZero.{u3, u4} R' S' (Semiring.toMonoidWithZero.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25))) (AddZeroClass.toHasZero.{u4} S' (AddMonoid.toAddZeroClass.{u4} S' (AddCommMonoid.toAddMonoid.{u4} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))))))) (Module.toMulActionWithZero.{u3, u4} R' S' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26))))) (Algebra.toModule.{u3, u4} R' S' (CommRing.toCommSemiring.{u3} R' _inst_25) (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)) _inst_29))))) (SMulZeroClass.toHasSmul.{u2, u4} R S' (AddZeroClass.toHasZero.{u4} S' (AddMonoid.toAddZeroClass.{u4} S' (AddCommMonoid.toAddMonoid.{u4} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))))))) (SMulWithZero.toSmulZeroClass.{u2, u4} R S' (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (AddZeroClass.toHasZero.{u4} S' (AddMonoid.toAddZeroClass.{u4} S' (AddCommMonoid.toAddMonoid.{u4} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))))))) (MulActionWithZero.toSMulWithZero.{u2, u4} R S' (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddZeroClass.toHasZero.{u4} S' (AddMonoid.toAddZeroClass.{u4} S' (AddCommMonoid.toAddMonoid.{u4} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))))))) (Module.toMulActionWithZero.{u2, u4} R S' (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26))))) (Algebra.toModule.{u2, u4} R S' (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)) _inst_30)))))] [_inst_32 : IsScalarTower.{u2, u1, u4} R S S' (SMulZeroClass.toHasSmul.{u2, u1} R S (AddZeroClass.toHasZero.{u1} S (AddMonoid.toAddZeroClass.{u1} S (AddCommMonoid.toAddMonoid.{u1} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_4)))))))) (SMulWithZero.toSmulZeroClass.{u2, u1} R S (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (AddZeroClass.toHasZero.{u1} S (AddMonoid.toAddZeroClass.{u1} S (AddCommMonoid.toAddMonoid.{u1} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_4)))))))) (MulActionWithZero.toSMulWithZero.{u2, u1} R S (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddZeroClass.toHasZero.{u1} S (AddMonoid.toAddZeroClass.{u1} S (AddCommMonoid.toAddMonoid.{u1} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_4)))))))) (Module.toMulActionWithZero.{u2, u1} R S (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_4))))) (Algebra.toModule.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_4)) _inst_5))))) (SMulZeroClass.toHasSmul.{u1, u4} S S' (AddZeroClass.toHasZero.{u4} S' (AddMonoid.toAddZeroClass.{u4} S' (AddCommMonoid.toAddMonoid.{u4} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))))))) (SMulWithZero.toSmulZeroClass.{u1, u4} S S' (MulZeroClass.toHasZero.{u1} S (MulZeroOneClass.toMulZeroClass.{u1} S (MonoidWithZero.toMulZeroOneClass.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_4)))))) (AddZeroClass.toHasZero.{u4} S' (AddMonoid.toAddZeroClass.{u4} S' (AddCommMonoid.toAddMonoid.{u4} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))))))) (MulActionWithZero.toSMulWithZero.{u1, u4} S S' (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_4))) (AddZeroClass.toHasZero.{u4} S' (AddMonoid.toAddZeroClass.{u4} S' (AddCommMonoid.toAddMonoid.{u4} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))))))) (Module.toMulActionWithZero.{u1, u4} S S' (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_4)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26))))) (Algebra.toModule.{u1, u4} S S' (CommRing.toCommSemiring.{u1} S _inst_4) (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)) _inst_28))))) (SMulZeroClass.toHasSmul.{u2, u4} R S' (AddZeroClass.toHasZero.{u4} S' (AddMonoid.toAddZeroClass.{u4} S' (AddCommMonoid.toAddMonoid.{u4} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))))))) (SMulWithZero.toSmulZeroClass.{u2, u4} R S' (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (AddZeroClass.toHasZero.{u4} S' (AddMonoid.toAddZeroClass.{u4} S' (AddCommMonoid.toAddMonoid.{u4} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))))))) (MulActionWithZero.toSMulWithZero.{u2, u4} R S' (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddZeroClass.toHasZero.{u4} S' (AddMonoid.toAddZeroClass.{u4} S' (AddCommMonoid.toAddMonoid.{u4} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))))))) (Module.toMulActionWithZero.{u2, u4} R S' (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26))))) (Algebra.toModule.{u2, u4} R S' (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)) _inst_30)))))] [H : Algebra.IsPushout.{u1, u2, u3, u4} R S _inst_3 _inst_4 _inst_5 R' S' _inst_25 _inst_26 _inst_27 _inst_28 _inst_29 _inst_30 _inst_31 _inst_32] {A : Type.{u5}} [_inst_33 : Semiring.{u5} A] [_inst_34 : Algebra.{u2, u5} R A (CommRing.toCommSemiring.{u2} R _inst_3) _inst_33] (f : AlgHom.{u2, u1, u5} R S A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_4)) _inst_33 _inst_5 _inst_34) (g : AlgHom.{u2, u3, u5} R R' A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) (H_1 : forall (x : S) (y : R'), Eq.{succ u5} A (HMul.hMul.{u5, u5, u5} A A A (instHMul.{u5} A (Distrib.toHasMul.{u5} A (NonUnitalNonAssocSemiring.toDistrib.{u5} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} A (Semiring.toNonAssocSemiring.{u5} A _inst_33))))) (coeFn.{max (succ u1) (succ u5), max (succ u1) (succ u5)} (AlgHom.{u2, u1, u5} R S A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_4)) _inst_33 _inst_5 _inst_34) (fun (_x : AlgHom.{u2, u1, u5} R S A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_4)) _inst_33 _inst_5 _inst_34) => S -> A) ([anonymous].{u2, u1, u5} R S A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_4)) _inst_33 _inst_5 _inst_34) f x) (coeFn.{max (succ u3) (succ u5), max (succ u3) (succ u5)} (AlgHom.{u2, u3, u5} R R' A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) (fun (_x : AlgHom.{u2, u3, u5} R R' A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) => R' -> A) ([anonymous].{u2, u3, u5} R R' A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) g y)) (HMul.hMul.{u5, u5, u5} A A A (instHMul.{u5} A (Distrib.toHasMul.{u5} A (NonUnitalNonAssocSemiring.toDistrib.{u5} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} A (Semiring.toNonAssocSemiring.{u5} A _inst_33))))) (coeFn.{max (succ u3) (succ u5), max (succ u3) (succ u5)} (AlgHom.{u2, u3, u5} R R' A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) (fun (_x : AlgHom.{u2, u3, u5} R R' A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) => R' -> A) ([anonymous].{u2, u3, u5} R R' A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) g y) (coeFn.{max (succ u1) (succ u5), max (succ u1) (succ u5)} (AlgHom.{u2, u1, u5} R S A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_4)) _inst_33 _inst_5 _inst_34) (fun (_x : AlgHom.{u2, u1, u5} R S A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_4)) _inst_33 _inst_5 _inst_34) => S -> A) ([anonymous].{u2, u1, u5} R S A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_4)) _inst_33 _inst_5 _inst_34) f x))) (x : R'), Eq.{succ u5} A (coeFn.{max (succ u4) (succ u5), max (succ u4) (succ u5)} (AlgHom.{u2, u4, u5} R S' A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)) _inst_33 _inst_30 _inst_34) (fun (_x : AlgHom.{u2, u4, u5} R S' A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)) _inst_33 _inst_30 _inst_34) => S' -> A) ([anonymous].{u2, u4, u5} R S' A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)) _inst_33 _inst_30 _inst_34) (Algebra.pushoutDesc.{u1, u2, u3, u4, u5} R S _inst_3 _inst_4 _inst_5 R' S' _inst_25 _inst_26 _inst_27 _inst_28 _inst_29 _inst_30 _inst_31 _inst_32 H A _inst_33 _inst_34 f g H_1) (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (RingHom.{u3, u4} R' S' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25))) (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))) (fun (_x : RingHom.{u3, u4} R' S' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25))) (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))) => R' -> S') (RingHom.hasCoeToFun.{u3, u4} R' S' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25))) (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))) (algebraMap.{u3, u4} R' S' (CommRing.toCommSemiring.{u3} R' _inst_25) (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)) _inst_29) x)) (coeFn.{max (succ u3) (succ u5), max (succ u3) (succ u5)} (AlgHom.{u2, u3, u5} R R' A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) (fun (_x : AlgHom.{u2, u3, u5} R R' A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) => R' -> A) ([anonymous].{u2, u3, u5} R R' A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) g x)
+but is expected to have type
+  forall {R : Type.{u4}} {S : Type.{u5}} [_inst_3 : CommRing.{u4} R] [_inst_4 : CommRing.{u5} S] [_inst_5 : Algebra.{u4, u5} R S (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4))] {R' : Type.{u3}} (S' : Type.{u2}) [_inst_25 : CommRing.{u3} R'] [_inst_26 : CommRing.{u2} S'] [_inst_27 : Algebra.{u4, u3} R R' (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25))] [_inst_28 : Algebra.{u5, u2} S S' (CommRing.toCommSemiring.{u5} S _inst_4) (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26))] [_inst_29 : Algebra.{u3, u2} R' S' (CommRing.toCommSemiring.{u3} R' _inst_25) (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26))] [_inst_30 : Algebra.{u4, u2} R S' (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26))] [_inst_31 : IsScalarTower.{u4, u3, u2} R R' S' (Algebra.toSMul.{u4, u3} R R' (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_27) (Algebra.toSMul.{u3, u2} R' S' (CommRing.toCommSemiring.{u3} R' _inst_25) (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26)) _inst_29) (Algebra.toSMul.{u4, u2} R S' (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26)) _inst_30)] [_inst_32 : IsScalarTower.{u4, u5, u2} R S S' (Algebra.toSMul.{u4, u5} R S (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_5) (Algebra.toSMul.{u5, u2} S S' (CommRing.toCommSemiring.{u5} S _inst_4) (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26)) _inst_28) (Algebra.toSMul.{u4, u2} R S' (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26)) _inst_30)] [H : Algebra.IsPushout.{u5, u4, u3, u2} R S _inst_3 _inst_4 _inst_5 R' S' _inst_25 _inst_26 _inst_27 _inst_28 _inst_29 _inst_30 _inst_31 _inst_32] {A : Type.{u1}} [_inst_33 : Semiring.{u1} A] [_inst_34 : Algebra.{u4, u1} R A (CommRing.toCommSemiring.{u4} R _inst_3) _inst_33] (f : AlgHom.{u4, u5, u1} R S A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_33 _inst_5 _inst_34) (g : AlgHom.{u4, u3, u1} R R' A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) (H_1 : forall (x : S) (y : R'), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : S) => A) x) (HMul.hMul.{u1, u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : S) => A) x) ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : R') => A) y) ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : S) => A) x) (instHMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : S) => A) x) (NonUnitalNonAssocSemiring.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : S) => A) x) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : S) => A) x) (Semiring.toNonAssocSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : S) => A) x) _inst_33)))) (FunLike.coe.{max (succ u5) (succ u1), succ u5, succ u1} (AlgHom.{u4, u5, u1} R S A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_33 _inst_5 _inst_34) S (fun (_x : S) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : S) => A) _x) (SMulHomClass.toFunLike.{max u5 u1, u4, u5, u1} (AlgHom.{u4, u5, u1} R S A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_33 _inst_5 _inst_34) R S A (SMulZeroClass.toSMul.{u4, u5} R S (AddMonoid.toZero.{u5} S (AddCommMonoid.toAddMonoid.{u5} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} S (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4))))))) (DistribSMul.toSMulZeroClass.{u4, u5} R S (AddMonoid.toAddZeroClass.{u5} S (AddCommMonoid.toAddMonoid.{u5} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} S (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4))))))) (DistribMulAction.toDistribSMul.{u4, u5} R S (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))) (AddCommMonoid.toAddMonoid.{u5} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} S (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)))))) (Module.toDistribMulAction.{u4, u5} R S (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} S (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4))))) (Algebra.toModule.{u4, u5} R S (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_5))))) (SMulZeroClass.toSMul.{u4, u1} R A (AddMonoid.toZero.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))))) (DistribSMul.toSMulZeroClass.{u4, u1} R A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))))) (DistribMulAction.toDistribSMul.{u4, u1} R A (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))) (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33)))) (Module.toDistribMulAction.{u4, u1} R A (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))) (Algebra.toModule.{u4, u1} R A (CommRing.toCommSemiring.{u4} R _inst_3) _inst_33 _inst_34))))) (DistribMulActionHomClass.toSMulHomClass.{max u5 u1, u4, u5, u1} (AlgHom.{u4, u5, u1} R S A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_33 _inst_5 _inst_34) R S A (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))) (AddCommMonoid.toAddMonoid.{u5} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} S (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)))))) (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33)))) (Module.toDistribMulAction.{u4, u5} R S (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} S (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4))))) (Algebra.toModule.{u4, u5} R S (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_5)) (Module.toDistribMulAction.{u4, u1} R A (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))) (Algebra.toModule.{u4, u1} R A (CommRing.toCommSemiring.{u4} R _inst_3) _inst_33 _inst_34)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max u5 u1, u4, u5, u1} (AlgHom.{u4, u5, u1} R S A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_33 _inst_5 _inst_34) R S A (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} S (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33)) (Module.toDistribMulAction.{u4, u5} R S (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} S (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4))))) (Algebra.toModule.{u4, u5} R S (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_5)) (Module.toDistribMulAction.{u4, u1} R A (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))) (Algebra.toModule.{u4, u1} R A (CommRing.toCommSemiring.{u4} R _inst_3) _inst_33 _inst_34)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u4, u5, u1, max u5 u1} R S A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_33 _inst_5 _inst_34 (AlgHom.{u4, u5, u1} R S A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_33 _inst_5 _inst_34) (AlgHom.algHomClass.{u4, u5, u1} R S A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_33 _inst_5 _inst_34))))) f x) (FunLike.coe.{max (succ u3) (succ u1), succ u3, succ u1} (AlgHom.{u4, u3, u1} R R' A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) R' (fun (_x : R') => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : R') => A) _x) (SMulHomClass.toFunLike.{max u3 u1, u4, u3, u1} (AlgHom.{u4, u3, u1} R R' A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) R R' A (SMulZeroClass.toSMul.{u4, u3} R R' (AddMonoid.toZero.{u3} R' (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25))))))) (DistribSMul.toSMulZeroClass.{u4, u3} R R' (AddMonoid.toAddZeroClass.{u3} R' (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25))))))) (DistribMulAction.toDistribSMul.{u4, u3} R R' (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))) (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)))))) (Module.toDistribMulAction.{u4, u3} R R' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25))))) (Algebra.toModule.{u4, u3} R R' (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_27))))) (SMulZeroClass.toSMul.{u4, u1} R A (AddMonoid.toZero.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))))) (DistribSMul.toSMulZeroClass.{u4, u1} R A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))))) (DistribMulAction.toDistribSMul.{u4, u1} R A (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))) (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33)))) (Module.toDistribMulAction.{u4, u1} R A (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))) (Algebra.toModule.{u4, u1} R A (CommRing.toCommSemiring.{u4} R _inst_3) _inst_33 _inst_34))))) (DistribMulActionHomClass.toSMulHomClass.{max u3 u1, u4, u3, u1} (AlgHom.{u4, u3, u1} R R' A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) R R' A (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))) (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)))))) (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33)))) (Module.toDistribMulAction.{u4, u3} R R' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25))))) (Algebra.toModule.{u4, u3} R R' (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_27)) (Module.toDistribMulAction.{u4, u1} R A (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))) (Algebra.toModule.{u4, u1} R A (CommRing.toCommSemiring.{u4} R _inst_3) _inst_33 _inst_34)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max u3 u1, u4, u3, u1} (AlgHom.{u4, u3, u1} R R' A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) R R' A (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33)) (Module.toDistribMulAction.{u4, u3} R R' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25))))) (Algebra.toModule.{u4, u3} R R' (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_27)) (Module.toDistribMulAction.{u4, u1} R A (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))) (Algebra.toModule.{u4, u1} R A (CommRing.toCommSemiring.{u4} R _inst_3) _inst_33 _inst_34)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u4, u3, u1, max u3 u1} R R' A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34 (AlgHom.{u4, u3, u1} R R' A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) (AlgHom.algHomClass.{u4, u3, u1} R R' A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34))))) g y)) (HMul.hMul.{u1, u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : R') => A) y) ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : S) => A) x) ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : R') => A) y) (instHMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : R') => A) y) (NonUnitalNonAssocSemiring.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : R') => A) y) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : R') => A) y) (Semiring.toNonAssocSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : R') => A) y) _inst_33)))) (FunLike.coe.{max (succ u3) (succ u1), succ u3, succ u1} (AlgHom.{u4, u3, u1} R R' A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) R' (fun (_x : R') => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : R') => A) _x) (SMulHomClass.toFunLike.{max u3 u1, u4, u3, u1} (AlgHom.{u4, u3, u1} R R' A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) R R' A (SMulZeroClass.toSMul.{u4, u3} R R' (AddMonoid.toZero.{u3} R' (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25))))))) (DistribSMul.toSMulZeroClass.{u4, u3} R R' (AddMonoid.toAddZeroClass.{u3} R' (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25))))))) (DistribMulAction.toDistribSMul.{u4, u3} R R' (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))) (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)))))) (Module.toDistribMulAction.{u4, u3} R R' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25))))) (Algebra.toModule.{u4, u3} R R' (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_27))))) (SMulZeroClass.toSMul.{u4, u1} R A (AddMonoid.toZero.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))))) (DistribSMul.toSMulZeroClass.{u4, u1} R A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))))) (DistribMulAction.toDistribSMul.{u4, u1} R A (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))) (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33)))) (Module.toDistribMulAction.{u4, u1} R A (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))) (Algebra.toModule.{u4, u1} R A (CommRing.toCommSemiring.{u4} R _inst_3) _inst_33 _inst_34))))) (DistribMulActionHomClass.toSMulHomClass.{max u3 u1, u4, u3, u1} (AlgHom.{u4, u3, u1} R R' A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) R R' A (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))) (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)))))) (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33)))) (Module.toDistribMulAction.{u4, u3} R R' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25))))) (Algebra.toModule.{u4, u3} R R' (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_27)) (Module.toDistribMulAction.{u4, u1} R A (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))) (Algebra.toModule.{u4, u1} R A (CommRing.toCommSemiring.{u4} R _inst_3) _inst_33 _inst_34)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max u3 u1, u4, u3, u1} (AlgHom.{u4, u3, u1} R R' A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) R R' A (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33)) (Module.toDistribMulAction.{u4, u3} R R' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25))))) (Algebra.toModule.{u4, u3} R R' (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_27)) (Module.toDistribMulAction.{u4, u1} R A (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))) (Algebra.toModule.{u4, u1} R A (CommRing.toCommSemiring.{u4} R _inst_3) _inst_33 _inst_34)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u4, u3, u1, max u3 u1} R R' A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34 (AlgHom.{u4, u3, u1} R R' A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) (AlgHom.algHomClass.{u4, u3, u1} R R' A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34))))) g y) (FunLike.coe.{max (succ u5) (succ u1), succ u5, succ u1} (AlgHom.{u4, u5, u1} R S A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_33 _inst_5 _inst_34) S (fun (_x : S) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : S) => A) _x) (SMulHomClass.toFunLike.{max u5 u1, u4, u5, u1} (AlgHom.{u4, u5, u1} R S A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_33 _inst_5 _inst_34) R S A (SMulZeroClass.toSMul.{u4, u5} R S (AddMonoid.toZero.{u5} S (AddCommMonoid.toAddMonoid.{u5} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} S (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4))))))) (DistribSMul.toSMulZeroClass.{u4, u5} R S (AddMonoid.toAddZeroClass.{u5} S (AddCommMonoid.toAddMonoid.{u5} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} S (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4))))))) (DistribMulAction.toDistribSMul.{u4, u5} R S (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))) (AddCommMonoid.toAddMonoid.{u5} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} S (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)))))) (Module.toDistribMulAction.{u4, u5} R S (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} S (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4))))) (Algebra.toModule.{u4, u5} R S (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_5))))) (SMulZeroClass.toSMul.{u4, u1} R A (AddMonoid.toZero.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))))) (DistribSMul.toSMulZeroClass.{u4, u1} R A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))))) (DistribMulAction.toDistribSMul.{u4, u1} R A (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))) (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33)))) (Module.toDistribMulAction.{u4, u1} R A (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))) (Algebra.toModule.{u4, u1} R A (CommRing.toCommSemiring.{u4} R _inst_3) _inst_33 _inst_34))))) (DistribMulActionHomClass.toSMulHomClass.{max u5 u1, u4, u5, u1} (AlgHom.{u4, u5, u1} R S A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_33 _inst_5 _inst_34) R S A (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))) (AddCommMonoid.toAddMonoid.{u5} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} S (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)))))) (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33)))) (Module.toDistribMulAction.{u4, u5} R S (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} S (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4))))) (Algebra.toModule.{u4, u5} R S (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_5)) (Module.toDistribMulAction.{u4, u1} R A (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))) (Algebra.toModule.{u4, u1} R A (CommRing.toCommSemiring.{u4} R _inst_3) _inst_33 _inst_34)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max u5 u1, u4, u5, u1} (AlgHom.{u4, u5, u1} R S A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_33 _inst_5 _inst_34) R S A (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} S (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33)) (Module.toDistribMulAction.{u4, u5} R S (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} S (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4))))) (Algebra.toModule.{u4, u5} R S (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_5)) (Module.toDistribMulAction.{u4, u1} R A (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))) (Algebra.toModule.{u4, u1} R A (CommRing.toCommSemiring.{u4} R _inst_3) _inst_33 _inst_34)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u4, u5, u1, max u5 u1} R S A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_33 _inst_5 _inst_34 (AlgHom.{u4, u5, u1} R S A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_33 _inst_5 _inst_34) (AlgHom.algHomClass.{u4, u5, u1} R S A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_33 _inst_5 _inst_34))))) f x))) (x : R'), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : S') => A) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (RingHom.{u3, u2} R' S' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25))) (Semiring.toNonAssocSemiring.{u2} S' (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26)))) R' (fun (a : R') => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R') => S') a) (MulHomClass.toFunLike.{max u3 u2, u3, u2} (RingHom.{u3, u2} R' S' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25))) (Semiring.toNonAssocSemiring.{u2} S' (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26)))) R' S' (NonUnitalNonAssocSemiring.toMul.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25))))) (NonUnitalNonAssocSemiring.toMul.{u2} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S' (Semiring.toNonAssocSemiring.{u2} S' (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26))))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u2, u3, u2} (RingHom.{u3, u2} R' S' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25))) (Semiring.toNonAssocSemiring.{u2} S' (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26)))) R' S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S' (Semiring.toNonAssocSemiring.{u2} S' (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26)))) (RingHomClass.toNonUnitalRingHomClass.{max u3 u2, u3, u2} (RingHom.{u3, u2} R' S' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25))) (Semiring.toNonAssocSemiring.{u2} S' (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26)))) R' S' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25))) (Semiring.toNonAssocSemiring.{u2} S' (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26))) (RingHom.instRingHomClassRingHom.{u3, u2} R' S' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25))) (Semiring.toNonAssocSemiring.{u2} S' (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26))))))) (algebraMap.{u3, u2} R' S' (CommRing.toCommSemiring.{u3} R' _inst_25) (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26)) _inst_29) x)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (AlgHom.{u4, u2, u1} R S' A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26)) _inst_33 _inst_30 _inst_34) S' (fun (_x : S') => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : S') => A) _x) (SMulHomClass.toFunLike.{max u2 u1, u4, u2, u1} (AlgHom.{u4, u2, u1} R S' A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26)) _inst_33 _inst_30 _inst_34) R S' A (SMulZeroClass.toSMul.{u4, u2} R S' (AddMonoid.toZero.{u2} S' (AddCommMonoid.toAddMonoid.{u2} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S' (Semiring.toNonAssocSemiring.{u2} S' (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26))))))) (DistribSMul.toSMulZeroClass.{u4, u2} R S' (AddMonoid.toAddZeroClass.{u2} S' (AddCommMonoid.toAddMonoid.{u2} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S' (Semiring.toNonAssocSemiring.{u2} S' (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26))))))) (DistribMulAction.toDistribSMul.{u4, u2} R S' (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))) (AddCommMonoid.toAddMonoid.{u2} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S' (Semiring.toNonAssocSemiring.{u2} S' (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26)))))) (Module.toDistribMulAction.{u4, u2} R S' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S' (Semiring.toNonAssocSemiring.{u2} S' (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26))))) (Algebra.toModule.{u4, u2} R S' (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26)) _inst_30))))) (SMulZeroClass.toSMul.{u4, u1} R A (AddMonoid.toZero.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))))) (DistribSMul.toSMulZeroClass.{u4, u1} R A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))))) (DistribMulAction.toDistribSMul.{u4, u1} R A (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))) (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33)))) (Module.toDistribMulAction.{u4, u1} R A (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))) (Algebra.toModule.{u4, u1} R A (CommRing.toCommSemiring.{u4} R _inst_3) _inst_33 _inst_34))))) (DistribMulActionHomClass.toSMulHomClass.{max u2 u1, u4, u2, u1} (AlgHom.{u4, u2, u1} R S' A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26)) _inst_33 _inst_30 _inst_34) R S' A (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))) (AddCommMonoid.toAddMonoid.{u2} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S' (Semiring.toNonAssocSemiring.{u2} S' (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26)))))) (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33)))) (Module.toDistribMulAction.{u4, u2} R S' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S' (Semiring.toNonAssocSemiring.{u2} S' (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26))))) (Algebra.toModule.{u4, u2} R S' (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26)) _inst_30)) (Module.toDistribMulAction.{u4, u1} R A (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))) (Algebra.toModule.{u4, u1} R A (CommRing.toCommSemiring.{u4} R _inst_3) _inst_33 _inst_34)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max u2 u1, u4, u2, u1} (AlgHom.{u4, u2, u1} R S' A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26)) _inst_33 _inst_30 _inst_34) R S' A (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S' (Semiring.toNonAssocSemiring.{u2} S' (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33)) (Module.toDistribMulAction.{u4, u2} R S' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S' (Semiring.toNonAssocSemiring.{u2} S' (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26))))) (Algebra.toModule.{u4, u2} R S' (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26)) _inst_30)) (Module.toDistribMulAction.{u4, u1} R A (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))) (Algebra.toModule.{u4, u1} R A (CommRing.toCommSemiring.{u4} R _inst_3) _inst_33 _inst_34)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u4, u2, u1, max u2 u1} R S' A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26)) _inst_33 _inst_30 _inst_34 (AlgHom.{u4, u2, u1} R S' A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26)) _inst_33 _inst_30 _inst_34) (AlgHom.algHomClass.{u4, u2, u1} R S' A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26)) _inst_33 _inst_30 _inst_34))))) (Algebra.pushoutDesc.{u5, u4, u3, u2, u1} R S _inst_3 _inst_4 _inst_5 R' S' _inst_25 _inst_26 _inst_27 _inst_28 _inst_29 _inst_30 _inst_31 _inst_32 H A _inst_33 _inst_34 f g H_1) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (RingHom.{u3, u2} R' S' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25))) (Semiring.toNonAssocSemiring.{u2} S' (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26)))) R' (fun (_x : R') => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R') => S') _x) (MulHomClass.toFunLike.{max u3 u2, u3, u2} (RingHom.{u3, u2} R' S' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25))) (Semiring.toNonAssocSemiring.{u2} S' (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26)))) R' S' (NonUnitalNonAssocSemiring.toMul.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25))))) (NonUnitalNonAssocSemiring.toMul.{u2} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S' (Semiring.toNonAssocSemiring.{u2} S' (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26))))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u2, u3, u2} (RingHom.{u3, u2} R' S' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25))) (Semiring.toNonAssocSemiring.{u2} S' (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26)))) R' S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S' (Semiring.toNonAssocSemiring.{u2} S' (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26)))) (RingHomClass.toNonUnitalRingHomClass.{max u3 u2, u3, u2} (RingHom.{u3, u2} R' S' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25))) (Semiring.toNonAssocSemiring.{u2} S' (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26)))) R' S' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25))) (Semiring.toNonAssocSemiring.{u2} S' (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26))) (RingHom.instRingHomClassRingHom.{u3, u2} R' S' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25))) (Semiring.toNonAssocSemiring.{u2} S' (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26))))))) (algebraMap.{u3, u2} R' S' (CommRing.toCommSemiring.{u3} R' _inst_25) (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26)) _inst_29) x)) (FunLike.coe.{max (succ u3) (succ u1), succ u3, succ u1} (AlgHom.{u4, u3, u1} R R' A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) R' (fun (_x : R') => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : R') => A) _x) (SMulHomClass.toFunLike.{max u3 u1, u4, u3, u1} (AlgHom.{u4, u3, u1} R R' A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) R R' A (SMulZeroClass.toSMul.{u4, u3} R R' (AddMonoid.toZero.{u3} R' (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25))))))) (DistribSMul.toSMulZeroClass.{u4, u3} R R' (AddMonoid.toAddZeroClass.{u3} R' (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25))))))) (DistribMulAction.toDistribSMul.{u4, u3} R R' (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))) (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)))))) (Module.toDistribMulAction.{u4, u3} R R' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25))))) (Algebra.toModule.{u4, u3} R R' (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_27))))) (SMulZeroClass.toSMul.{u4, u1} R A (AddMonoid.toZero.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))))) (DistribSMul.toSMulZeroClass.{u4, u1} R A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))))) (DistribMulAction.toDistribSMul.{u4, u1} R A (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))) (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33)))) (Module.toDistribMulAction.{u4, u1} R A (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))) (Algebra.toModule.{u4, u1} R A (CommRing.toCommSemiring.{u4} R _inst_3) _inst_33 _inst_34))))) (DistribMulActionHomClass.toSMulHomClass.{max u3 u1, u4, u3, u1} (AlgHom.{u4, u3, u1} R R' A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) R R' A (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))) (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)))))) (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33)))) (Module.toDistribMulAction.{u4, u3} R R' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25))))) (Algebra.toModule.{u4, u3} R R' (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_27)) (Module.toDistribMulAction.{u4, u1} R A (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))) (Algebra.toModule.{u4, u1} R A (CommRing.toCommSemiring.{u4} R _inst_3) _inst_33 _inst_34)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max u3 u1, u4, u3, u1} (AlgHom.{u4, u3, u1} R R' A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) R R' A (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33)) (Module.toDistribMulAction.{u4, u3} R R' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25))))) (Algebra.toModule.{u4, u3} R R' (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_27)) (Module.toDistribMulAction.{u4, u1} R A (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))) (Algebra.toModule.{u4, u1} R A (CommRing.toCommSemiring.{u4} R _inst_3) _inst_33 _inst_34)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u4, u3, u1, max u3 u1} R R' A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34 (AlgHom.{u4, u3, u1} R R' A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) (AlgHom.algHomClass.{u4, u3, u1} R R' A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34))))) g x)
+Case conversion may be inaccurate. Consider using '#align algebra.pushout_desc_right Algebra.pushoutDesc_rightₓ'. -/
 @[simp]
 theorem Algebra.pushoutDesc_right [H : Algebra.IsPushout R S R' S'] {A : Type _} [Semiring A]
     [Algebra R A] (f : S →ₐ[R] A) (g : R' →ₐ[R] A) (H) (x : R') :
@@ -508,12 +680,24 @@ theorem Algebra.pushoutDesc_right [H : Algebra.IsPushout R S R' S'] {A : Type _}
   apply (config := { instances := false }) @IsBaseChange.lift_eq
 #align algebra.pushout_desc_right Algebra.pushoutDesc_right
 
+/- warning: algebra.lift_alg_hom_comp_right -> Algebra.lift_algHom_comp_right is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u2}} {S : Type.{u1}} [_inst_3 : CommRing.{u2} R] [_inst_4 : CommRing.{u1} S] [_inst_5 : Algebra.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_4))] {R' : Type.{u3}} (S' : Type.{u4}) [_inst_25 : CommRing.{u3} R'] [_inst_26 : CommRing.{u4} S'] [_inst_27 : Algebra.{u2, u3} R R' (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_25))] [_inst_28 : Algebra.{u1, u4} S S' (CommRing.toCommSemiring.{u1} S _inst_4) (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26))] [_inst_29 : Algebra.{u3, u4} R' S' (CommRing.toCommSemiring.{u3} R' _inst_25) (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26))] [_inst_30 : Algebra.{u2, u4} R S' (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26))] [_inst_31 : IsScalarTower.{u2, u3, u4} R R' S' (SMulZeroClass.toHasSmul.{u2, u3} R R' (AddZeroClass.toHasZero.{u3} R' (AddMonoid.toAddZeroClass.{u3} R' (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_25)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} R R' (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (AddZeroClass.toHasZero.{u3} R' (AddMonoid.toAddZeroClass.{u3} R' (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_25)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} R R' (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddZeroClass.toHasZero.{u3} R' (AddMonoid.toAddZeroClass.{u3} R' (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_25)))))))) (Module.toMulActionWithZero.{u2, u3} R R' (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_25))))) (Algebra.toModule.{u2, u3} R R' (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_25)) _inst_27))))) (SMulZeroClass.toHasSmul.{u3, u4} R' S' (AddZeroClass.toHasZero.{u4} S' (AddMonoid.toAddZeroClass.{u4} S' (AddCommMonoid.toAddMonoid.{u4} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))))))) (SMulWithZero.toSmulZeroClass.{u3, u4} R' S' (MulZeroClass.toHasZero.{u3} R' (MulZeroOneClass.toMulZeroClass.{u3} R' (MonoidWithZero.toMulZeroOneClass.{u3} R' (Semiring.toMonoidWithZero.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)))))) (AddZeroClass.toHasZero.{u4} S' (AddMonoid.toAddZeroClass.{u4} S' (AddCommMonoid.toAddMonoid.{u4} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))))))) (MulActionWithZero.toSMulWithZero.{u3, u4} R' S' (Semiring.toMonoidWithZero.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25))) (AddZeroClass.toHasZero.{u4} S' (AddMonoid.toAddZeroClass.{u4} S' (AddCommMonoid.toAddMonoid.{u4} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))))))) (Module.toMulActionWithZero.{u3, u4} R' S' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26))))) (Algebra.toModule.{u3, u4} R' S' (CommRing.toCommSemiring.{u3} R' _inst_25) (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)) _inst_29))))) (SMulZeroClass.toHasSmul.{u2, u4} R S' (AddZeroClass.toHasZero.{u4} S' (AddMonoid.toAddZeroClass.{u4} S' (AddCommMonoid.toAddMonoid.{u4} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))))))) (SMulWithZero.toSmulZeroClass.{u2, u4} R S' (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (AddZeroClass.toHasZero.{u4} S' (AddMonoid.toAddZeroClass.{u4} S' (AddCommMonoid.toAddMonoid.{u4} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))))))) (MulActionWithZero.toSMulWithZero.{u2, u4} R S' (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddZeroClass.toHasZero.{u4} S' (AddMonoid.toAddZeroClass.{u4} S' (AddCommMonoid.toAddMonoid.{u4} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))))))) (Module.toMulActionWithZero.{u2, u4} R S' (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26))))) (Algebra.toModule.{u2, u4} R S' (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)) _inst_30)))))] [_inst_32 : IsScalarTower.{u2, u1, u4} R S S' (SMulZeroClass.toHasSmul.{u2, u1} R S (AddZeroClass.toHasZero.{u1} S (AddMonoid.toAddZeroClass.{u1} S (AddCommMonoid.toAddMonoid.{u1} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_4)))))))) (SMulWithZero.toSmulZeroClass.{u2, u1} R S (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (AddZeroClass.toHasZero.{u1} S (AddMonoid.toAddZeroClass.{u1} S (AddCommMonoid.toAddMonoid.{u1} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_4)))))))) (MulActionWithZero.toSMulWithZero.{u2, u1} R S (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddZeroClass.toHasZero.{u1} S (AddMonoid.toAddZeroClass.{u1} S (AddCommMonoid.toAddMonoid.{u1} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_4)))))))) (Module.toMulActionWithZero.{u2, u1} R S (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_4))))) (Algebra.toModule.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_4)) _inst_5))))) (SMulZeroClass.toHasSmul.{u1, u4} S S' (AddZeroClass.toHasZero.{u4} S' (AddMonoid.toAddZeroClass.{u4} S' (AddCommMonoid.toAddMonoid.{u4} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))))))) (SMulWithZero.toSmulZeroClass.{u1, u4} S S' (MulZeroClass.toHasZero.{u1} S (MulZeroOneClass.toMulZeroClass.{u1} S (MonoidWithZero.toMulZeroOneClass.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_4)))))) (AddZeroClass.toHasZero.{u4} S' (AddMonoid.toAddZeroClass.{u4} S' (AddCommMonoid.toAddMonoid.{u4} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))))))) (MulActionWithZero.toSMulWithZero.{u1, u4} S S' (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_4))) (AddZeroClass.toHasZero.{u4} S' (AddMonoid.toAddZeroClass.{u4} S' (AddCommMonoid.toAddMonoid.{u4} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))))))) (Module.toMulActionWithZero.{u1, u4} S S' (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_4)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26))))) (Algebra.toModule.{u1, u4} S S' (CommRing.toCommSemiring.{u1} S _inst_4) (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)) _inst_28))))) (SMulZeroClass.toHasSmul.{u2, u4} R S' (AddZeroClass.toHasZero.{u4} S' (AddMonoid.toAddZeroClass.{u4} S' (AddCommMonoid.toAddMonoid.{u4} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))))))) (SMulWithZero.toSmulZeroClass.{u2, u4} R S' (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (AddZeroClass.toHasZero.{u4} S' (AddMonoid.toAddZeroClass.{u4} S' (AddCommMonoid.toAddMonoid.{u4} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))))))) (MulActionWithZero.toSMulWithZero.{u2, u4} R S' (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddZeroClass.toHasZero.{u4} S' (AddMonoid.toAddZeroClass.{u4} S' (AddCommMonoid.toAddMonoid.{u4} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))))))) (Module.toMulActionWithZero.{u2, u4} R S' (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26))))) (Algebra.toModule.{u2, u4} R S' (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)) _inst_30)))))] [H : Algebra.IsPushout.{u1, u2, u3, u4} R S _inst_3 _inst_4 _inst_5 R' S' _inst_25 _inst_26 _inst_27 _inst_28 _inst_29 _inst_30 _inst_31 _inst_32] {A : Type.{u5}} [_inst_33 : Semiring.{u5} A] [_inst_34 : Algebra.{u2, u5} R A (CommRing.toCommSemiring.{u2} R _inst_3) _inst_33] (f : AlgHom.{u2, u1, u5} R S A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_4)) _inst_33 _inst_5 _inst_34) (g : AlgHom.{u2, u3, u5} R R' A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) (H_1 : forall (x : S) (y : R'), Eq.{succ u5} A (HMul.hMul.{u5, u5, u5} A A A (instHMul.{u5} A (Distrib.toHasMul.{u5} A (NonUnitalNonAssocSemiring.toDistrib.{u5} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} A (Semiring.toNonAssocSemiring.{u5} A _inst_33))))) (coeFn.{max (succ u1) (succ u5), max (succ u1) (succ u5)} (AlgHom.{u2, u1, u5} R S A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_4)) _inst_33 _inst_5 _inst_34) (fun (_x : AlgHom.{u2, u1, u5} R S A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_4)) _inst_33 _inst_5 _inst_34) => S -> A) ([anonymous].{u2, u1, u5} R S A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_4)) _inst_33 _inst_5 _inst_34) f x) (coeFn.{max (succ u3) (succ u5), max (succ u3) (succ u5)} (AlgHom.{u2, u3, u5} R R' A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) (fun (_x : AlgHom.{u2, u3, u5} R R' A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) => R' -> A) ([anonymous].{u2, u3, u5} R R' A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) g y)) (HMul.hMul.{u5, u5, u5} A A A (instHMul.{u5} A (Distrib.toHasMul.{u5} A (NonUnitalNonAssocSemiring.toDistrib.{u5} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} A (Semiring.toNonAssocSemiring.{u5} A _inst_33))))) (coeFn.{max (succ u3) (succ u5), max (succ u3) (succ u5)} (AlgHom.{u2, u3, u5} R R' A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) (fun (_x : AlgHom.{u2, u3, u5} R R' A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) => R' -> A) ([anonymous].{u2, u3, u5} R R' A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) g y) (coeFn.{max (succ u1) (succ u5), max (succ u1) (succ u5)} (AlgHom.{u2, u1, u5} R S A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_4)) _inst_33 _inst_5 _inst_34) (fun (_x : AlgHom.{u2, u1, u5} R S A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_4)) _inst_33 _inst_5 _inst_34) => S -> A) ([anonymous].{u2, u1, u5} R S A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_4)) _inst_33 _inst_5 _inst_34) f x))), Eq.{max (succ u3) (succ u5)} (AlgHom.{u2, u3, u5} R R' A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) (AlgHom.comp.{u2, u3, u4, u5} R R' S' A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)) _inst_33 _inst_27 _inst_30 _inst_34 (Algebra.pushoutDesc.{u1, u2, u3, u4, u5} R S _inst_3 _inst_4 _inst_5 R' S' _inst_25 _inst_26 _inst_27 _inst_28 _inst_29 _inst_30 _inst_31 _inst_32 H A _inst_33 _inst_34 f g H_1) (IsScalarTower.toAlgHom.{u2, u3, u4} R R' S' (CommRing.toCommSemiring.{u2} R _inst_3) (CommRing.toCommSemiring.{u3} R' _inst_25) (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)) _inst_27 _inst_29 _inst_30 _inst_31)) g
+but is expected to have type
+  forall {R : Type.{u4}} {S : Type.{u5}} [_inst_3 : CommRing.{u4} R] [_inst_4 : CommRing.{u5} S] [_inst_5 : Algebra.{u4, u5} R S (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4))] {R' : Type.{u3}} (S' : Type.{u2}) [_inst_25 : CommRing.{u3} R'] [_inst_26 : CommRing.{u2} S'] [_inst_27 : Algebra.{u4, u3} R R' (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25))] [_inst_28 : Algebra.{u5, u2} S S' (CommRing.toCommSemiring.{u5} S _inst_4) (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26))] [_inst_29 : Algebra.{u3, u2} R' S' (CommRing.toCommSemiring.{u3} R' _inst_25) (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26))] [_inst_30 : Algebra.{u4, u2} R S' (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26))] [_inst_31 : IsScalarTower.{u4, u3, u2} R R' S' (Algebra.toSMul.{u4, u3} R R' (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_27) (Algebra.toSMul.{u3, u2} R' S' (CommRing.toCommSemiring.{u3} R' _inst_25) (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26)) _inst_29) (Algebra.toSMul.{u4, u2} R S' (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26)) _inst_30)] [_inst_32 : IsScalarTower.{u4, u5, u2} R S S' (Algebra.toSMul.{u4, u5} R S (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_5) (Algebra.toSMul.{u5, u2} S S' (CommRing.toCommSemiring.{u5} S _inst_4) (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26)) _inst_28) (Algebra.toSMul.{u4, u2} R S' (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26)) _inst_30)] [H : Algebra.IsPushout.{u5, u4, u3, u2} R S _inst_3 _inst_4 _inst_5 R' S' _inst_25 _inst_26 _inst_27 _inst_28 _inst_29 _inst_30 _inst_31 _inst_32] {A : Type.{u1}} [_inst_33 : Semiring.{u1} A] [_inst_34 : Algebra.{u4, u1} R A (CommRing.toCommSemiring.{u4} R _inst_3) _inst_33] (f : AlgHom.{u4, u5, u1} R S A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_33 _inst_5 _inst_34) (g : AlgHom.{u4, u3, u1} R R' A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) (H_1 : forall (x : S) (y : R'), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : S) => A) x) (HMul.hMul.{u1, u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : S) => A) x) ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : R') => A) y) ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : S) => A) x) (instHMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : S) => A) x) (NonUnitalNonAssocSemiring.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : S) => A) x) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : S) => A) x) (Semiring.toNonAssocSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : S) => A) x) _inst_33)))) (FunLike.coe.{max (succ u5) (succ u1), succ u5, succ u1} (AlgHom.{u4, u5, u1} R S A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_33 _inst_5 _inst_34) S (fun (_x : S) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : S) => A) _x) (SMulHomClass.toFunLike.{max u5 u1, u4, u5, u1} (AlgHom.{u4, u5, u1} R S A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_33 _inst_5 _inst_34) R S A (SMulZeroClass.toSMul.{u4, u5} R S (AddMonoid.toZero.{u5} S (AddCommMonoid.toAddMonoid.{u5} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} S (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4))))))) (DistribSMul.toSMulZeroClass.{u4, u5} R S (AddMonoid.toAddZeroClass.{u5} S (AddCommMonoid.toAddMonoid.{u5} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} S (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4))))))) (DistribMulAction.toDistribSMul.{u4, u5} R S (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))) (AddCommMonoid.toAddMonoid.{u5} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} S (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)))))) (Module.toDistribMulAction.{u4, u5} R S (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} S (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4))))) (Algebra.toModule.{u4, u5} R S (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_5))))) (SMulZeroClass.toSMul.{u4, u1} R A (AddMonoid.toZero.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))))) (DistribSMul.toSMulZeroClass.{u4, u1} R A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))))) (DistribMulAction.toDistribSMul.{u4, u1} R A (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))) (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33)))) (Module.toDistribMulAction.{u4, u1} R A (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))) (Algebra.toModule.{u4, u1} R A (CommRing.toCommSemiring.{u4} R _inst_3) _inst_33 _inst_34))))) (DistribMulActionHomClass.toSMulHomClass.{max u5 u1, u4, u5, u1} (AlgHom.{u4, u5, u1} R S A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_33 _inst_5 _inst_34) R S A (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))) (AddCommMonoid.toAddMonoid.{u5} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} S (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)))))) (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33)))) (Module.toDistribMulAction.{u4, u5} R S (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} S (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4))))) (Algebra.toModule.{u4, u5} R S (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_5)) (Module.toDistribMulAction.{u4, u1} R A (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))) (Algebra.toModule.{u4, u1} R A (CommRing.toCommSemiring.{u4} R _inst_3) _inst_33 _inst_34)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max u5 u1, u4, u5, u1} (AlgHom.{u4, u5, u1} R S A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_33 _inst_5 _inst_34) R S A (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} S (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33)) (Module.toDistribMulAction.{u4, u5} R S (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} S (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4))))) (Algebra.toModule.{u4, u5} R S (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_5)) (Module.toDistribMulAction.{u4, u1} R A (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))) (Algebra.toModule.{u4, u1} R A (CommRing.toCommSemiring.{u4} R _inst_3) _inst_33 _inst_34)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u4, u5, u1, max u5 u1} R S A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_33 _inst_5 _inst_34 (AlgHom.{u4, u5, u1} R S A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_33 _inst_5 _inst_34) (AlgHom.algHomClass.{u4, u5, u1} R S A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_33 _inst_5 _inst_34))))) f x) (FunLike.coe.{max (succ u3) (succ u1), succ u3, succ u1} (AlgHom.{u4, u3, u1} R R' A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) R' (fun (_x : R') => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : R') => A) _x) (SMulHomClass.toFunLike.{max u3 u1, u4, u3, u1} (AlgHom.{u4, u3, u1} R R' A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) R R' A (SMulZeroClass.toSMul.{u4, u3} R R' (AddMonoid.toZero.{u3} R' (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25))))))) (DistribSMul.toSMulZeroClass.{u4, u3} R R' (AddMonoid.toAddZeroClass.{u3} R' (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25))))))) (DistribMulAction.toDistribSMul.{u4, u3} R R' (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))) (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)))))) (Module.toDistribMulAction.{u4, u3} R R' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25))))) (Algebra.toModule.{u4, u3} R R' (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_27))))) (SMulZeroClass.toSMul.{u4, u1} R A (AddMonoid.toZero.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))))) (DistribSMul.toSMulZeroClass.{u4, u1} R A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))))) (DistribMulAction.toDistribSMul.{u4, u1} R A (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))) (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33)))) (Module.toDistribMulAction.{u4, u1} R A (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))) (Algebra.toModule.{u4, u1} R A (CommRing.toCommSemiring.{u4} R _inst_3) _inst_33 _inst_34))))) (DistribMulActionHomClass.toSMulHomClass.{max u3 u1, u4, u3, u1} (AlgHom.{u4, u3, u1} R R' A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) R R' A (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))) (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)))))) (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33)))) (Module.toDistribMulAction.{u4, u3} R R' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25))))) (Algebra.toModule.{u4, u3} R R' (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_27)) (Module.toDistribMulAction.{u4, u1} R A (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))) (Algebra.toModule.{u4, u1} R A (CommRing.toCommSemiring.{u4} R _inst_3) _inst_33 _inst_34)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max u3 u1, u4, u3, u1} (AlgHom.{u4, u3, u1} R R' A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) R R' A (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33)) (Module.toDistribMulAction.{u4, u3} R R' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25))))) (Algebra.toModule.{u4, u3} R R' (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_27)) (Module.toDistribMulAction.{u4, u1} R A (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))) (Algebra.toModule.{u4, u1} R A (CommRing.toCommSemiring.{u4} R _inst_3) _inst_33 _inst_34)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u4, u3, u1, max u3 u1} R R' A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34 (AlgHom.{u4, u3, u1} R R' A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) (AlgHom.algHomClass.{u4, u3, u1} R R' A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34))))) g y)) (HMul.hMul.{u1, u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : R') => A) y) ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : S) => A) x) ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : R') => A) y) (instHMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : R') => A) y) (NonUnitalNonAssocSemiring.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : R') => A) y) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : R') => A) y) (Semiring.toNonAssocSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : R') => A) y) _inst_33)))) (FunLike.coe.{max (succ u3) (succ u1), succ u3, succ u1} (AlgHom.{u4, u3, u1} R R' A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) R' (fun (_x : R') => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : R') => A) _x) (SMulHomClass.toFunLike.{max u3 u1, u4, u3, u1} (AlgHom.{u4, u3, u1} R R' A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) R R' A (SMulZeroClass.toSMul.{u4, u3} R R' (AddMonoid.toZero.{u3} R' (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25))))))) (DistribSMul.toSMulZeroClass.{u4, u3} R R' (AddMonoid.toAddZeroClass.{u3} R' (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25))))))) (DistribMulAction.toDistribSMul.{u4, u3} R R' (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))) (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)))))) (Module.toDistribMulAction.{u4, u3} R R' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25))))) (Algebra.toModule.{u4, u3} R R' (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_27))))) (SMulZeroClass.toSMul.{u4, u1} R A (AddMonoid.toZero.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))))) (DistribSMul.toSMulZeroClass.{u4, u1} R A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))))) (DistribMulAction.toDistribSMul.{u4, u1} R A (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))) (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33)))) (Module.toDistribMulAction.{u4, u1} R A (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))) (Algebra.toModule.{u4, u1} R A (CommRing.toCommSemiring.{u4} R _inst_3) _inst_33 _inst_34))))) (DistribMulActionHomClass.toSMulHomClass.{max u3 u1, u4, u3, u1} (AlgHom.{u4, u3, u1} R R' A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) R R' A (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))) (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)))))) (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33)))) (Module.toDistribMulAction.{u4, u3} R R' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25))))) (Algebra.toModule.{u4, u3} R R' (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_27)) (Module.toDistribMulAction.{u4, u1} R A (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))) (Algebra.toModule.{u4, u1} R A (CommRing.toCommSemiring.{u4} R _inst_3) _inst_33 _inst_34)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max u3 u1, u4, u3, u1} (AlgHom.{u4, u3, u1} R R' A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) R R' A (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33)) (Module.toDistribMulAction.{u4, u3} R R' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25))))) (Algebra.toModule.{u4, u3} R R' (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_27)) (Module.toDistribMulAction.{u4, u1} R A (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))) (Algebra.toModule.{u4, u1} R A (CommRing.toCommSemiring.{u4} R _inst_3) _inst_33 _inst_34)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u4, u3, u1, max u3 u1} R R' A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34 (AlgHom.{u4, u3, u1} R R' A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) (AlgHom.algHomClass.{u4, u3, u1} R R' A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34))))) g y) (FunLike.coe.{max (succ u5) (succ u1), succ u5, succ u1} (AlgHom.{u4, u5, u1} R S A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_33 _inst_5 _inst_34) S (fun (_x : S) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : S) => A) _x) (SMulHomClass.toFunLike.{max u5 u1, u4, u5, u1} (AlgHom.{u4, u5, u1} R S A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_33 _inst_5 _inst_34) R S A (SMulZeroClass.toSMul.{u4, u5} R S (AddMonoid.toZero.{u5} S (AddCommMonoid.toAddMonoid.{u5} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} S (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4))))))) (DistribSMul.toSMulZeroClass.{u4, u5} R S (AddMonoid.toAddZeroClass.{u5} S (AddCommMonoid.toAddMonoid.{u5} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} S (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4))))))) (DistribMulAction.toDistribSMul.{u4, u5} R S (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))) (AddCommMonoid.toAddMonoid.{u5} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} S (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)))))) (Module.toDistribMulAction.{u4, u5} R S (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} S (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4))))) (Algebra.toModule.{u4, u5} R S (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_5))))) (SMulZeroClass.toSMul.{u4, u1} R A (AddMonoid.toZero.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))))) (DistribSMul.toSMulZeroClass.{u4, u1} R A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))))) (DistribMulAction.toDistribSMul.{u4, u1} R A (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))) (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33)))) (Module.toDistribMulAction.{u4, u1} R A (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))) (Algebra.toModule.{u4, u1} R A (CommRing.toCommSemiring.{u4} R _inst_3) _inst_33 _inst_34))))) (DistribMulActionHomClass.toSMulHomClass.{max u5 u1, u4, u5, u1} (AlgHom.{u4, u5, u1} R S A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_33 _inst_5 _inst_34) R S A (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))) (AddCommMonoid.toAddMonoid.{u5} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} S (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)))))) (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33)))) (Module.toDistribMulAction.{u4, u5} R S (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} S (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4))))) (Algebra.toModule.{u4, u5} R S (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_5)) (Module.toDistribMulAction.{u4, u1} R A (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))) (Algebra.toModule.{u4, u1} R A (CommRing.toCommSemiring.{u4} R _inst_3) _inst_33 _inst_34)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max u5 u1, u4, u5, u1} (AlgHom.{u4, u5, u1} R S A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_33 _inst_5 _inst_34) R S A (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} S (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33)) (Module.toDistribMulAction.{u4, u5} R S (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} S (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4))))) (Algebra.toModule.{u4, u5} R S (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_5)) (Module.toDistribMulAction.{u4, u1} R A (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_33))) (Algebra.toModule.{u4, u1} R A (CommRing.toCommSemiring.{u4} R _inst_3) _inst_33 _inst_34)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u4, u5, u1, max u5 u1} R S A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_33 _inst_5 _inst_34 (AlgHom.{u4, u5, u1} R S A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_33 _inst_5 _inst_34) (AlgHom.algHomClass.{u4, u5, u1} R S A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_33 _inst_5 _inst_34))))) f x))), Eq.{max (succ u3) (succ u1)} (AlgHom.{u4, u3, u1} R R' A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) (AlgHom.comp.{u4, u3, u2, u1} R R' S' A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26)) _inst_33 _inst_27 _inst_30 _inst_34 (Algebra.pushoutDesc.{u5, u4, u3, u2, u1} R S _inst_3 _inst_4 _inst_5 R' S' _inst_25 _inst_26 _inst_27 _inst_28 _inst_29 _inst_30 _inst_31 _inst_32 H A _inst_33 _inst_34 f g H_1) (IsScalarTower.toAlgHom.{u4, u3, u2} R R' S' (CommRing.toCommSemiring.{u4} R _inst_3) (CommRing.toCommSemiring.{u3} R' _inst_25) (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26)) _inst_27 _inst_29 _inst_30 _inst_31)) g
+Case conversion may be inaccurate. Consider using '#align algebra.lift_alg_hom_comp_right Algebra.lift_algHom_comp_rightₓ'. -/
 theorem Algebra.lift_algHom_comp_right [H : Algebra.IsPushout R S R' S'] {A : Type _} [Semiring A]
     [Algebra R A] (f : S →ₐ[R] A) (g : R' →ₐ[R] A) (H) :
     (Algebra.pushoutDesc S' f g H).comp (toAlgHom R R' S') = g :=
   AlgHom.ext fun x => (Algebra.pushoutDesc_right S' f g H x : _)
 #align algebra.lift_alg_hom_comp_right Algebra.lift_algHom_comp_right
 
+/- warning: algebra.is_pushout.alg_hom_ext -> Algebra.IsPushout.algHom_ext is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u2}} {S : Type.{u1}} [_inst_3 : CommRing.{u2} R] [_inst_4 : CommRing.{u1} S] [_inst_5 : Algebra.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_4))] {R' : Type.{u3}} (S' : Type.{u4}) [_inst_25 : CommRing.{u3} R'] [_inst_26 : CommRing.{u4} S'] [_inst_27 : Algebra.{u2, u3} R R' (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_25))] [_inst_28 : Algebra.{u1, u4} S S' (CommRing.toCommSemiring.{u1} S _inst_4) (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26))] [_inst_29 : Algebra.{u3, u4} R' S' (CommRing.toCommSemiring.{u3} R' _inst_25) (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26))] [_inst_30 : Algebra.{u2, u4} R S' (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26))] [_inst_31 : IsScalarTower.{u2, u3, u4} R R' S' (SMulZeroClass.toHasSmul.{u2, u3} R R' (AddZeroClass.toHasZero.{u3} R' (AddMonoid.toAddZeroClass.{u3} R' (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_25)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} R R' (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (AddZeroClass.toHasZero.{u3} R' (AddMonoid.toAddZeroClass.{u3} R' (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_25)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} R R' (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddZeroClass.toHasZero.{u3} R' (AddMonoid.toAddZeroClass.{u3} R' (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_25)))))))) (Module.toMulActionWithZero.{u2, u3} R R' (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_25))))) (Algebra.toModule.{u2, u3} R R' (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_25)) _inst_27))))) (SMulZeroClass.toHasSmul.{u3, u4} R' S' (AddZeroClass.toHasZero.{u4} S' (AddMonoid.toAddZeroClass.{u4} S' (AddCommMonoid.toAddMonoid.{u4} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))))))) (SMulWithZero.toSmulZeroClass.{u3, u4} R' S' (MulZeroClass.toHasZero.{u3} R' (MulZeroOneClass.toMulZeroClass.{u3} R' (MonoidWithZero.toMulZeroOneClass.{u3} R' (Semiring.toMonoidWithZero.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)))))) (AddZeroClass.toHasZero.{u4} S' (AddMonoid.toAddZeroClass.{u4} S' (AddCommMonoid.toAddMonoid.{u4} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))))))) (MulActionWithZero.toSMulWithZero.{u3, u4} R' S' (Semiring.toMonoidWithZero.{u3} R' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25))) (AddZeroClass.toHasZero.{u4} S' (AddMonoid.toAddZeroClass.{u4} S' (AddCommMonoid.toAddMonoid.{u4} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))))))) (Module.toMulActionWithZero.{u3, u4} R' S' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26))))) (Algebra.toModule.{u3, u4} R' S' (CommRing.toCommSemiring.{u3} R' _inst_25) (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)) _inst_29))))) (SMulZeroClass.toHasSmul.{u2, u4} R S' (AddZeroClass.toHasZero.{u4} S' (AddMonoid.toAddZeroClass.{u4} S' (AddCommMonoid.toAddMonoid.{u4} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))))))) (SMulWithZero.toSmulZeroClass.{u2, u4} R S' (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (AddZeroClass.toHasZero.{u4} S' (AddMonoid.toAddZeroClass.{u4} S' (AddCommMonoid.toAddMonoid.{u4} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))))))) (MulActionWithZero.toSMulWithZero.{u2, u4} R S' (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddZeroClass.toHasZero.{u4} S' (AddMonoid.toAddZeroClass.{u4} S' (AddCommMonoid.toAddMonoid.{u4} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))))))) (Module.toMulActionWithZero.{u2, u4} R S' (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26))))) (Algebra.toModule.{u2, u4} R S' (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)) _inst_30)))))] [_inst_32 : IsScalarTower.{u2, u1, u4} R S S' (SMulZeroClass.toHasSmul.{u2, u1} R S (AddZeroClass.toHasZero.{u1} S (AddMonoid.toAddZeroClass.{u1} S (AddCommMonoid.toAddMonoid.{u1} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_4)))))))) (SMulWithZero.toSmulZeroClass.{u2, u1} R S (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (AddZeroClass.toHasZero.{u1} S (AddMonoid.toAddZeroClass.{u1} S (AddCommMonoid.toAddMonoid.{u1} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_4)))))))) (MulActionWithZero.toSMulWithZero.{u2, u1} R S (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddZeroClass.toHasZero.{u1} S (AddMonoid.toAddZeroClass.{u1} S (AddCommMonoid.toAddMonoid.{u1} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_4)))))))) (Module.toMulActionWithZero.{u2, u1} R S (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_4))))) (Algebra.toModule.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_4)) _inst_5))))) (SMulZeroClass.toHasSmul.{u1, u4} S S' (AddZeroClass.toHasZero.{u4} S' (AddMonoid.toAddZeroClass.{u4} S' (AddCommMonoid.toAddMonoid.{u4} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))))))) (SMulWithZero.toSmulZeroClass.{u1, u4} S S' (MulZeroClass.toHasZero.{u1} S (MulZeroOneClass.toMulZeroClass.{u1} S (MonoidWithZero.toMulZeroOneClass.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_4)))))) (AddZeroClass.toHasZero.{u4} S' (AddMonoid.toAddZeroClass.{u4} S' (AddCommMonoid.toAddMonoid.{u4} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))))))) (MulActionWithZero.toSMulWithZero.{u1, u4} S S' (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_4))) (AddZeroClass.toHasZero.{u4} S' (AddMonoid.toAddZeroClass.{u4} S' (AddCommMonoid.toAddMonoid.{u4} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))))))) (Module.toMulActionWithZero.{u1, u4} S S' (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_4)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26))))) (Algebra.toModule.{u1, u4} S S' (CommRing.toCommSemiring.{u1} S _inst_4) (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)) _inst_28))))) (SMulZeroClass.toHasSmul.{u2, u4} R S' (AddZeroClass.toHasZero.{u4} S' (AddMonoid.toAddZeroClass.{u4} S' (AddCommMonoid.toAddMonoid.{u4} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))))))) (SMulWithZero.toSmulZeroClass.{u2, u4} R S' (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (AddZeroClass.toHasZero.{u4} S' (AddMonoid.toAddZeroClass.{u4} S' (AddCommMonoid.toAddMonoid.{u4} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))))))) (MulActionWithZero.toSMulWithZero.{u2, u4} R S' (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddZeroClass.toHasZero.{u4} S' (AddMonoid.toAddZeroClass.{u4} S' (AddCommMonoid.toAddMonoid.{u4} S' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)))))))) (Module.toMulActionWithZero.{u2, u4} R S' (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S' (Semiring.toNonAssocSemiring.{u4} S' (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26))))) (Algebra.toModule.{u2, u4} R S' (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)) _inst_30)))))] [H : Algebra.IsPushout.{u1, u2, u3, u4} R S _inst_3 _inst_4 _inst_5 R' S' _inst_25 _inst_26 _inst_27 _inst_28 _inst_29 _inst_30 _inst_31 _inst_32] {A : Type.{u5}} [_inst_33 : Semiring.{u5} A] [_inst_34 : Algebra.{u2, u5} R A (CommRing.toCommSemiring.{u2} R _inst_3) _inst_33] {f : AlgHom.{u2, u4, u5} R S' A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)) _inst_33 _inst_30 _inst_34} {g : AlgHom.{u2, u4, u5} R S' A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)) _inst_33 _inst_30 _inst_34}, (Eq.{max (succ u3) (succ u5)} (AlgHom.{u2, u3, u5} R R' A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) (AlgHom.comp.{u2, u3, u4, u5} R R' S' A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)) _inst_33 _inst_27 _inst_30 _inst_34 f (IsScalarTower.toAlgHom.{u2, u3, u4} R R' S' (CommRing.toCommSemiring.{u2} R _inst_3) (CommRing.toCommSemiring.{u3} R' _inst_25) (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)) _inst_27 _inst_29 _inst_30 _inst_31)) (AlgHom.comp.{u2, u3, u4, u5} R R' S' A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)) _inst_33 _inst_27 _inst_30 _inst_34 g (IsScalarTower.toAlgHom.{u2, u3, u4} R R' S' (CommRing.toCommSemiring.{u2} R _inst_3) (CommRing.toCommSemiring.{u3} R' _inst_25) (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)) _inst_27 _inst_29 _inst_30 _inst_31))) -> (Eq.{max (succ u1) (succ u5)} (AlgHom.{u2, u1, u5} R S A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_4)) _inst_33 _inst_5 _inst_34) (AlgHom.comp.{u2, u1, u4, u5} R S S' A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_4)) (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)) _inst_33 _inst_5 _inst_30 _inst_34 f (IsScalarTower.toAlgHom.{u2, u1, u4} R S S' (CommRing.toCommSemiring.{u2} R _inst_3) (CommRing.toCommSemiring.{u1} S _inst_4) (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)) _inst_5 _inst_28 _inst_30 _inst_32)) (AlgHom.comp.{u2, u1, u4, u5} R S S' A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_4)) (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)) _inst_33 _inst_5 _inst_30 _inst_34 g (IsScalarTower.toAlgHom.{u2, u1, u4} R S S' (CommRing.toCommSemiring.{u2} R _inst_3) (CommRing.toCommSemiring.{u1} S _inst_4) (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)) _inst_5 _inst_28 _inst_30 _inst_32))) -> (Eq.{max (succ u4) (succ u5)} (AlgHom.{u2, u4, u5} R S' A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u4} S' (CommRing.toRing.{u4} S' _inst_26)) _inst_33 _inst_30 _inst_34) f g)
+but is expected to have type
+  forall {R : Type.{u4}} {S : Type.{u5}} [_inst_3 : CommRing.{u4} R] [_inst_4 : CommRing.{u5} S] [_inst_5 : Algebra.{u4, u5} R S (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4))] {R' : Type.{u3}} (S' : Type.{u2}) [_inst_25 : CommRing.{u3} R'] [_inst_26 : CommRing.{u2} S'] [_inst_27 : Algebra.{u4, u3} R R' (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25))] [_inst_28 : Algebra.{u5, u2} S S' (CommRing.toCommSemiring.{u5} S _inst_4) (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26))] [_inst_29 : Algebra.{u3, u2} R' S' (CommRing.toCommSemiring.{u3} R' _inst_25) (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26))] [_inst_30 : Algebra.{u4, u2} R S' (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26))] [_inst_31 : IsScalarTower.{u4, u3, u2} R R' S' (Algebra.toSMul.{u4, u3} R R' (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_27) (Algebra.toSMul.{u3, u2} R' S' (CommRing.toCommSemiring.{u3} R' _inst_25) (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26)) _inst_29) (Algebra.toSMul.{u4, u2} R S' (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26)) _inst_30)] [_inst_32 : IsScalarTower.{u4, u5, u2} R S S' (Algebra.toSMul.{u4, u5} R S (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_5) (Algebra.toSMul.{u5, u2} S S' (CommRing.toCommSemiring.{u5} S _inst_4) (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26)) _inst_28) (Algebra.toSMul.{u4, u2} R S' (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26)) _inst_30)] [H : Algebra.IsPushout.{u5, u4, u3, u2} R S _inst_3 _inst_4 _inst_5 R' S' _inst_25 _inst_26 _inst_27 _inst_28 _inst_29 _inst_30 _inst_31 _inst_32] {A : Type.{u1}} [_inst_33 : Semiring.{u1} A] [_inst_34 : Algebra.{u4, u1} R A (CommRing.toCommSemiring.{u4} R _inst_3) _inst_33] {f : AlgHom.{u4, u2, u1} R S' A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26)) _inst_33 _inst_30 _inst_34} {g : AlgHom.{u4, u2, u1} R S' A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26)) _inst_33 _inst_30 _inst_34}, (Eq.{max (succ u3) (succ u1)} (AlgHom.{u4, u3, u1} R R' A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) _inst_33 _inst_27 _inst_34) (AlgHom.comp.{u4, u3, u2, u1} R R' S' A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26)) _inst_33 _inst_27 _inst_30 _inst_34 f (IsScalarTower.toAlgHom.{u4, u3, u2} R R' S' (CommRing.toCommSemiring.{u4} R _inst_3) (CommRing.toCommSemiring.{u3} R' _inst_25) (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26)) _inst_27 _inst_29 _inst_30 _inst_31)) (AlgHom.comp.{u4, u3, u2, u1} R R' S' A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_25)) (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26)) _inst_33 _inst_27 _inst_30 _inst_34 g (IsScalarTower.toAlgHom.{u4, u3, u2} R R' S' (CommRing.toCommSemiring.{u4} R _inst_3) (CommRing.toCommSemiring.{u3} R' _inst_25) (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26)) _inst_27 _inst_29 _inst_30 _inst_31))) -> (Eq.{max (succ u5) (succ u1)} (AlgHom.{u4, u5, u1} R S A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) _inst_33 _inst_5 _inst_34) (AlgHom.comp.{u4, u5, u2, u1} R S S' A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26)) _inst_33 _inst_5 _inst_30 _inst_34 f (IsScalarTower.toAlgHom.{u4, u5, u2} R S S' (CommRing.toCommSemiring.{u4} R _inst_3) (CommRing.toCommSemiring.{u5} S _inst_4) (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26)) _inst_5 _inst_28 _inst_30 _inst_32)) (AlgHom.comp.{u4, u5, u2, u1} R S S' A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u5} S (CommRing.toCommSemiring.{u5} S _inst_4)) (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26)) _inst_33 _inst_5 _inst_30 _inst_34 g (IsScalarTower.toAlgHom.{u4, u5, u2} R S S' (CommRing.toCommSemiring.{u4} R _inst_3) (CommRing.toCommSemiring.{u5} S _inst_4) (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26)) _inst_5 _inst_28 _inst_30 _inst_32))) -> (Eq.{max (succ u2) (succ u1)} (AlgHom.{u4, u2, u1} R S' A (CommRing.toCommSemiring.{u4} R _inst_3) (CommSemiring.toSemiring.{u2} S' (CommRing.toCommSemiring.{u2} S' _inst_26)) _inst_33 _inst_30 _inst_34) f g)
+Case conversion may be inaccurate. Consider using '#align algebra.is_pushout.alg_hom_ext Algebra.IsPushout.algHom_extₓ'. -/
 @[ext]
 theorem Algebra.IsPushout.algHom_ext [H : Algebra.IsPushout R S R' S'] {A : Type _} [Semiring A]
     [Algebra R A] {f g : S' →ₐ[R] A} (h₁ : f.comp (toAlgHom R R' S') = g.comp (toAlgHom R R' S'))
Diff
@@ -228,7 +228,7 @@ theorem IsBaseChange.alg_hom_ext (g₁ g₂ : N →ₗ[S] Q) (e : ∀ x, g₁ (f
 
 theorem IsBaseChange.alg_hom_ext' [Module R Q] [IsScalarTower R S Q] (g₁ g₂ : N →ₗ[S] Q)
     (e : (g₁.restrictScalars R).comp f = (g₂.restrictScalars R).comp f) : g₁ = g₂ :=
-  h.algHom_ext g₁ g₂ (LinearMap.congr_fun e)
+  h.alg_hom_ext g₁ g₂ (LinearMap.congr_fun e)
 #align is_base_change.alg_hom_ext' IsBaseChange.alg_hom_ext'
 
 variable (R M N S)
Diff
@@ -461,7 +461,7 @@ noncomputable def Algebra.pushoutDesc [H : Algebra.IsPushout R S R' S'] {A : Typ
     rw [← (algebraMap R' S').map_one, this, g.map_one]
   · intro x y
     apply H.out.induction_on x
-    · rw [zero_mul, map_zero, zero_mul]
+    · rw [MulZeroClass.zero_mul, map_zero, MulZeroClass.zero_mul]
     rotate_left
     · intro s s' e
       dsimp only [LinearMap.restrictScalars_apply] at e⊢
@@ -473,7 +473,7 @@ noncomputable def Algebra.pushoutDesc [H : Algebra.IsPushout R S R' S'] {A : Typ
     dsimp
     rw [this]
     apply H.out.induction_on y
-    · rw [mul_zero, map_zero, mul_zero]
+    · rw [MulZeroClass.mul_zero, map_zero, MulZeroClass.mul_zero]
     · intro y
       dsimp
       rw [← _root_.map_mul, this, this, _root_.map_mul]

Changes in mathlib4

mathlib3
mathlib4
chore(RingTheory/IsTensorProduct): resolve porting note about simps! (#12092)

Uncomment the simps configuration (which has to become simps!) and delete the generated lemma which was added manually. I verified that both are identical.

Diff
@@ -414,7 +414,7 @@ instance TensorProduct.isPushout' {R S T : Type*} [CommRing R] [CommRing S] [Com
 /-- If `S' = S ⊗[R] R'`, then any pair of `R`-algebra homomorphisms `f : S → A` and `g : R' → A`
 such that `f x` and `g y` commutes for all `x, y` descends to a (unique) homomorphism `S' → A`.
 -/
---@[simps (config := .lemmasOnly) apply] -- Porting note: removed and added by hand
+@[simps! (config := .lemmasOnly) apply]
 noncomputable def Algebra.pushoutDesc [H : Algebra.IsPushout R S R' S'] {A : Type*} [Semiring A]
     [Algebra R A] (f : S →ₐ[R] A) (g : R' →ₐ[R] A) (hf : ∀ x y, f x * g y = g y * f x) :
     S' →ₐ[R] A := by
@@ -453,16 +453,6 @@ noncomputable def Algebra.pushoutDesc [H : Algebra.IsPushout R S R' S'] {A : Typ
       rw [mul_add, map_add, map_add, mul_add, e₁, e₂]
 #align algebra.pushout_desc Algebra.pushoutDesc
 
--- Porting note: was generated by `simps` attribute in Lean3.
-theorem Algebra.pushoutDesc_apply [H : Algebra.IsPushout R S R' S'] {A : Type*}
-    [Semiring A] [Algebra R A] (f : S →ₐ[R] A) (g : R' →ₐ[R] A) (hf : ∀ x y, f x * g y = g y * f x)
-    (s : S') : by
-  letI := Module.compHom A f.toRingHom
-  haveI : IsScalarTower R S A :=
-    { smul_assoc := fun r s a =>
-      show f (r • s) * a = r • (f s * a) by rw [f.map_smul, smul_mul_assoc] }
-  exact Algebra.pushoutDesc S' f g hf s = H.out.lift g.toLinearMap s := rfl
-
 @[simp]
 theorem Algebra.pushoutDesc_left [H : Algebra.IsPushout R S R' S'] {A : Type*} [Semiring A]
     [Algebra R A] (f : S →ₐ[R] A) (g : R' →ₐ[R] A) (H) (x : S) :
chore(*): remove empty lines between variable statements (#11418)

Empty lines were removed by executing the following Python script twice

import os
import re


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

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

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

      # Write the modified content back to the file
      with open(file_path, 'w') as file:
        file.write(modified_content)
Diff
@@ -39,19 +39,12 @@ open TensorProduct
 section IsTensorProduct
 
 variable {R : Type*} [CommSemiring R]
-
 variable {M₁ M₂ M M' : Type*}
-
 variable [AddCommMonoid M₁] [AddCommMonoid M₂] [AddCommMonoid M] [AddCommMonoid M']
-
 variable [Module R M₁] [Module R M₂] [Module R M] [Module R M']
-
 variable (f : M₁ →ₗ[R] M₂ →ₗ[R] M)
-
 variable {N₁ N₂ N : Type*} [AddCommMonoid N₁] [AddCommMonoid N₂] [AddCommMonoid N]
-
 variable [Module R N₁] [Module R N₂] [Module R N]
-
 variable {g : N₁ →ₗ[R] N₂ →ₗ[R] N}
 
 /-- Given a bilinear map `f : M₁ →ₗ[R] M₂ →ₗ[R] M`, `IsTensorProduct f` means that
@@ -139,11 +132,8 @@ end IsTensorProduct
 section IsBaseChange
 
 variable {R : Type*} {M : Type v₁} {N : Type v₂} (S : Type v₃)
-
 variable [AddCommMonoid M] [AddCommMonoid N] [CommSemiring R]
-
 variable [CommSemiring S] [Algebra R S] [Module R M] [Module R N] [Module S N] [IsScalarTower R S N]
-
 variable (f : M →ₗ[R] N)
 
 /-- Given an `R`-algebra `S` and an `R`-module `M`, an `S`-module `N` together with a map
@@ -157,9 +147,7 @@ def IsBaseChange : Prop :=
 -- Porting note: split `variable`
 variable {S f}
 variable (h : IsBaseChange S f)
-
 variable {P Q : Type*} [AddCommMonoid P] [Module R P]
-
 variable [AddCommMonoid Q] [Module S Q]
 
 section
@@ -325,9 +313,7 @@ theorem IsBaseChange.ofEquiv (e : M ≃ₗ[R] N) : IsBaseChange R e.toLinearMap
 #align is_base_change.of_equiv IsBaseChange.ofEquiv
 
 variable {T O : Type*} [CommSemiring T] [Algebra R T] [Algebra S T] [IsScalarTower R S T]
-
 variable [AddCommMonoid O] [Module R O] [Module S O] [Module T O] [IsScalarTower S T O]
-
 variable [IsScalarTower R S O] [IsScalarTower R T O]
 
 theorem IsBaseChange.comp {f : M →ₗ[R] N} (hf : IsBaseChange S f) {g : N →ₗ[S] O}
@@ -356,9 +342,7 @@ theorem IsBaseChange.comp {f : M →ₗ[R] N} (hf : IsBaseChange S f) {g : N →
 #align is_base_change.comp IsBaseChange.comp
 
 variable {R' S' : Type*} [CommSemiring R'] [CommSemiring S']
-
 variable [Algebra R R'] [Algebra S S'] [Algebra R' S'] [Algebra R S']
-
 variable [IsScalarTower R R' S'] [IsScalarTower R S S']
 
 open IsScalarTower (toAlgHom)
Acl/reorg tensor product (#11282)

Move:

  • Mathlib/Algebra/Module/DirectLimitAndTensorProduct.lean to LinearAlgebra/TensorProduct/DirectLimit.lean
  • Mathlib/LinearAlgebra/TensorProduct to Mathlib/LinearAlgebra.TensorProduct.Basic.lean
  • Mathlib/RingTheory/TensorProduct to Mathlib/RingTheory/TensorProduct/Basic.lean.

This follows suggestions 1, 2, 3 of

https://leanprover.zulipchat.com/#narrow/stream/287929-mathlib4/topic/Tensor.20Products.20of.20modules.20and.20rings/near/424605543

Co-authored-by: Antoine Chambert-Loir <antoine.chambert-loir@math.univ-paris-diderot.fr>

Diff
@@ -3,7 +3,7 @@ Copyright (c) 2022 Andrew Yang. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Andrew Yang
 -/
-import Mathlib.RingTheory.TensorProduct
+import Mathlib.RingTheory.TensorProduct.Basic
 import Mathlib.Algebra.Module.ULift
 
 #align_import ring_theory.is_tensor_product from "leanprover-community/mathlib"@"c4926d76bb9c5a4a62ed2f03d998081786132105"
style: homogenise porting notes (#11145)

Homogenises porting notes via capitalisation and addition of whitespace.

It makes the following changes:

  • converts "--porting note" into "-- Porting note";
  • converts "porting note" into "Porting note".
Diff
@@ -430,7 +430,7 @@ instance TensorProduct.isPushout' {R S T : Type*} [CommRing R] [CommRing S] [Com
 /-- If `S' = S ⊗[R] R'`, then any pair of `R`-algebra homomorphisms `f : S → A` and `g : R' → A`
 such that `f x` and `g y` commutes for all `x, y` descends to a (unique) homomorphism `S' → A`.
 -/
---@[simps (config := .lemmasOnly) apply] --Porting note: removed and added by hand
+--@[simps (config := .lemmasOnly) apply] -- Porting note: removed and added by hand
 noncomputable def Algebra.pushoutDesc [H : Algebra.IsPushout R S R' S'] {A : Type*} [Semiring A]
     [Algebra R A] (f : S →ₐ[R] A) (g : R' →ₐ[R] A) (hf : ∀ x y, f x * g y = g y * f x) :
     S' →ₐ[R] A := by
@@ -469,7 +469,7 @@ noncomputable def Algebra.pushoutDesc [H : Algebra.IsPushout R S R' S'] {A : Typ
       rw [mul_add, map_add, map_add, mul_add, e₁, e₂]
 #align algebra.pushout_desc Algebra.pushoutDesc
 
---Porting note: was generated by `simps` attribute in Lean3.
+-- Porting note: was generated by `simps` attribute in Lean3.
 theorem Algebra.pushoutDesc_apply [H : Algebra.IsPushout R S R' S'] {A : Type*}
     [Semiring A] [Algebra R A] (f : S →ₐ[R] A) (g : R' →ₐ[R] A) (hf : ∀ x y, f x * g y = g y * f x)
     (s : S') : by
chore: classify was simp porting notes (#10746)

Classifies by adding issue number (#10745) to porting notes claiming was simp.

Diff
@@ -239,7 +239,7 @@ noncomputable nonrec def IsBaseChange.equiv : S ⊗[R] M ≃ₗ[S] N :=
       refine TensorProduct.induction_on x ?_ ?_ ?_
       · rw [smul_zero, map_zero, smul_zero]
       · intro x y
-        -- Porting note: was simp [smul_tmul', Algebra.ofId_apply]
+        -- porting note (#10745): was simp [smul_tmul', Algebra.ofId_apply]
         simp only [Algebra.linearMap_apply, lift.tmul, smul_eq_mul,
           LinearMap.mul_apply, LinearMap.smul_apply, IsTensorProduct.equiv_apply,
           Module.algebraMap_end_apply, _root_.map_mul, smul_tmul', eq_self_iff_true,
chore: Remove unnecessary "rw"s (#10704)

Remove unnecessary "rw"s.

Diff
@@ -313,8 +313,7 @@ theorem IsBaseChange.ofEquiv (e : M ≃ₗ[R] N) : IsBaseChange R e.toLinearMap
     ext r q
     show (by let _ := I₂; exact r • q) = (by let _ := I₃; exact r • q)
     dsimp
-    rw [← one_smul R q, smul_smul, ← @smul_assoc _ _ _ (id _) (id _) (id _) I₄, smul_eq_mul,
-      mul_one]
+    rw [← one_smul R q, smul_smul, ← @smul_assoc _ _ _ (id _) (id _) (id _) I₄, smul_eq_mul]
   cases this
   refine'
     ⟨g.comp e.symm.toLinearMap, by
doc: fix typos (#10100)

Fix minor typos in the following files:

  • Mathlib/GroupTheory/GroupAction/Opposite.lean
  • Mathlib/Init/Control/Lawful.lean
  • Mathlib/ModelTheory/ElementarySubstructures.lean
  • Mathlib/Algebra/Group/Defs.lean
  • Mathlib/Algebra/Group/WithOne/Basic.lean
  • Mathlib/Data/Int/Cast/Defs.lean
  • Mathlib/LinearAlgebra/Dimension/Basic.lean
  • Mathlib/NumberTheory/NumberField/CanonicalEmbedding.lean
  • Mathlib/Algebra/Star/StarAlgHom.lean
  • Mathlib/AlgebraicTopology/SimplexCategory.lean
  • Mathlib/CategoryTheory/Abelian/Homology.lean
  • Mathlib/CategoryTheory/Sites/Grothendieck.lean
  • Mathlib/RingTheory/IsTensorProduct.lean
  • Mathlib/AlgebraicTopology/DoldKan/Homotopies.lean
  • Mathlib/AlgebraicTopology/ExtraDegeneracy.lean
  • Mathlib/AlgebraicTopology/Nerve.lean
  • Mathlib/AlgebraicTopology/SplitSimplicialObject.lean
  • Mathlib/Analysis/ConstantSpeed.lean
  • Mathlib/Analysis/Convolution.lean
Diff
@@ -429,7 +429,7 @@ instance TensorProduct.isPushout' {R S T : Type*} [CommRing R] [CommRing S] [Com
 #align tensor_product.is_pushout' TensorProduct.isPushout'
 
 /-- If `S' = S ⊗[R] R'`, then any pair of `R`-algebra homomorphisms `f : S → A` and `g : R' → A`
-such that `f x` and `g y` commutes for all `x, y` descends to a (unique) homomoprhism `S' → A`.
+such that `f x` and `g y` commutes for all `x, y` descends to a (unique) homomorphism `S' → A`.
 -/
 --@[simps (config := .lemmasOnly) apply] --Porting note: removed and added by hand
 noncomputable def Algebra.pushoutDesc [H : Algebra.IsPushout R S R' S'] {A : Type*} [Semiring A]
chore(*): rename FunLike to DFunLike (#9785)

This prepares for the introduction of a non-dependent synonym of FunLike, which helps a lot with keeping #8386 readable.

This is entirely search-and-replace in 680197f combined with manual fixes in 4145626, e900597 and b8428f8. The commands that generated this change:

sed -i 's/\bFunLike\b/DFunLike/g' {Archive,Counterexamples,Mathlib,test}/**/*.lean
sed -i 's/\btoFunLike\b/toDFunLike/g' {Archive,Counterexamples,Mathlib,test}/**/*.lean
sed -i 's/import Mathlib.Data.DFunLike/import Mathlib.Data.FunLike/g' {Archive,Counterexamples,Mathlib,test}/**/*.lean
sed -i 's/\bHom_FunLike\b/Hom_DFunLike/g' {Archive,Counterexamples,Mathlib,test}/**/*.lean     
sed -i 's/\binstFunLike\b/instDFunLike/g' {Archive,Counterexamples,Mathlib,test}/**/*.lean
sed -i 's/\bfunLike\b/instDFunLike/g' {Archive,Counterexamples,Mathlib,test}/**/*.lean
sed -i 's/\btoo many metavariables to apply `fun_like.has_coe_to_fun`/too many metavariables to apply `DFunLike.hasCoeToFun`/g' {Archive,Counterexamples,Mathlib,test}/**/*.lean

Co-authored-by: Anne Baanen <Vierkantor@users.noreply.github.com>

Diff
@@ -277,7 +277,7 @@ theorem IsBaseChange.of_lift_unique
           TensorProduct.induction_on x _ (fun s' y => smul_assoc s s' _) fun x y hx hy => _ }
     · dsimp; rw [map_zero, smul_zero, map_zero, smul_zero]
     · dsimp at *; rw [smul_add, map_add, map_add, smul_add, hx, hy]
-  simp_rw [FunLike.ext_iff, LinearMap.comp_apply, LinearMap.restrictScalars_apply] at hg
+  simp_rw [DFunLike.ext_iff, LinearMap.comp_apply, LinearMap.restrictScalars_apply] at hg
   let fe : S ⊗[R] M ≃ₗ[S] N :=
     LinearEquiv.ofLinear f'' (ULift.moduleEquiv.toLinearMap.comp g) ?_ ?_
   · exact fe.bijective
feat: Generalizing some results from CommRing to CommSemiring (#9512)

Most of the changes are minor.

Co-authored-by: Xavier Xarles <56635243+XavierXarles@users.noreply.github.com> Co-authored-by: Eric Wieser <wieser.eric@gmail.com>

Diff
@@ -38,7 +38,7 @@ open TensorProduct
 
 section IsTensorProduct
 
-variable {R : Type*} [CommRing R]
+variable {R : Type*} [CommSemiring R]
 
 variable {M₁ M₂ M M' : Type*}
 
@@ -140,9 +140,9 @@ section IsBaseChange
 
 variable {R : Type*} {M : Type v₁} {N : Type v₂} (S : Type v₃)
 
-variable [AddCommMonoid M] [AddCommMonoid N] [CommRing R]
+variable [AddCommMonoid M] [AddCommMonoid N] [CommSemiring R]
 
-variable [CommRing S] [Algebra R S] [Module R M] [Module R N] [Module S N] [IsScalarTower R S N]
+variable [CommSemiring S] [Algebra R S] [Module R M] [Module R N] [Module S N] [IsScalarTower R S N]
 
 variable (f : M →ₗ[R] N)
 
@@ -325,7 +325,7 @@ theorem IsBaseChange.ofEquiv (e : M ≃ₗ[R] N) : IsBaseChange R e.toLinearMap
   simp
 #align is_base_change.of_equiv IsBaseChange.ofEquiv
 
-variable {T O : Type*} [CommRing T] [Algebra R T] [Algebra S T] [IsScalarTower R S T]
+variable {T O : Type*} [CommSemiring T] [Algebra R T] [Algebra S T] [IsScalarTower R S T]
 
 variable [AddCommMonoid O] [Module R O] [Module S O] [Module T O] [IsScalarTower S T O]
 
@@ -356,7 +356,7 @@ theorem IsBaseChange.comp {f : M →ₗ[R] N} (hf : IsBaseChange S f) {g : N →
   rfl
 #align is_base_change.comp IsBaseChange.comp
 
-variable {R' S' : Type*} [CommRing R'] [CommRing S']
+variable {R' S' : Type*} [CommSemiring R'] [CommSemiring S']
 
 variable [Algebra R R'] [Algebra S S'] [Algebra R' S'] [Algebra R S']
 
perf(FunLike.Basic): beta reduce CoeFun.coe (#7905)

This eliminates (fun a ↦ β) α in the type when applying a FunLike.

Co-authored-by: Matthew Ballard <matt@mrb.email> Co-authored-by: Eric Wieser <wieser.eric@gmail.com>

Diff
@@ -179,9 +179,7 @@ noncomputable nonrec def IsBaseChange.lift (g : M →ₗ[R] Q) : N →ₗ[S] Q :
       · rw [smul_zero, map_zero, smul_zero]
       · intro s m
         change h.lift F (r • s • f m) = r • h.lift F (s • f m)
-        rw [← mul_smul, hF, hF]
-        rw [mul_smul] -- Porting note: this line does nothing
-        apply mul_smul
+        rw [← mul_smul, hF, hF, mul_smul]
       · intro x₁ x₂ e₁ e₂
         rw [map_add, smul_add, map_add, smul_add, e₁, e₂] }
 #align is_base_change.lift IsBaseChange.lift
style: shorten simps configurations (#8296)

Use .asFn and .lemmasOnly as simps configuration options.

For reference, these are defined here:

https://github.com/leanprover-community/mathlib4/blob/4055c8b471380825f07416b12cb0cf266da44d84/Mathlib/Tactic/Simps/Basic.lean#L843-L851

Diff
@@ -433,7 +433,7 @@ instance TensorProduct.isPushout' {R S T : Type*} [CommRing R] [CommRing S] [Com
 /-- If `S' = S ⊗[R] R'`, then any pair of `R`-algebra homomorphisms `f : S → A` and `g : R' → A`
 such that `f x` and `g y` commutes for all `x, y` descends to a (unique) homomoprhism `S' → A`.
 -/
---@[simps (config := { isSimp := false }) apply] --Porting note: removed and added by hand
+--@[simps (config := .lemmasOnly) apply] --Porting note: removed and added by hand
 noncomputable def Algebra.pushoutDesc [H : Algebra.IsPushout R S R' S'] {A : Type*} [Semiring A]
     [Algebra R A] (f : S →ₐ[R] A) (g : R' →ₐ[R] A) (hf : ∀ x y, f x * g y = g y * f x) :
     S' →ₐ[R] A := by
chore: remove nonterminal simp (#7580)

Removes nonterminal simps on lines looking like simp [...]

Diff
@@ -393,7 +393,10 @@ theorem Algebra.IsPushout.symm (h : Algebra.IsPushout R S R' S') : Algebra.IsPus
     refine TensorProduct.induction_on x ?_ ?_ ?_
     · simp only [smul_zero, map_zero]
     · intro x y
-      simp [smul_tmul', Algebra.smul_def, RingHom.algebraMap_toAlgebra, h.1.equiv_tmul]
+      simp only [smul_tmul', smul_eq_mul, TensorProduct.comm_tmul, smul_def,
+        TensorProduct.algebraMap_apply, id.map_eq_id, RingHom.id_apply, TensorProduct.tmul_mul_tmul,
+        one_mul, h.1.equiv_tmul, AlgHom.toLinearMap_apply, _root_.map_mul,
+        IsScalarTower.coe_toAlgHom']
       ring
     · intro x y hx hy
       rw [map_add, map_add, smul_add, map_add, map_add, hx, hy, smul_add]
perf: remove overspecified fields (#6965)

This removes redundant field values of the form add := add for smaller terms and less unfolding during unification.

A list of all files containing a structure instance of the form { a1, ... with x1 := val, ... } where some xi is a field of some aj was generated by modifying the structure instance elaboration algorithm to print such overlaps to stdout in a custom toolchain.

Using that toolchain, I went through each file on the list and attempted to remove algebraic fields that overlapped and were redundant, eg add := add and not toFun (though some other ones did creep in). If things broke (which was the case in a couple of cases), I did not push further and reverted.

It is possible that pushing harder and trying to remove all redundant overlaps will yield further improvements.

Diff
@@ -275,7 +275,6 @@ theorem IsBaseChange.of_lift_unique
   let f'' : S ⊗[R] M →ₗ[S] N := by
     refine'
       { f' with
-        toFun := f'
         map_smul' := fun s x =>
           TensorProduct.induction_on x _ (fun s' y => smul_assoc s s' _) fun x y hx hy => _ }
     · dsimp; rw [map_zero, smul_zero, map_zero, smul_zero]
feat: add some symm attributes throughout the library (#6708)

Also add a couple of refl and trans attributes

Diff
@@ -382,6 +382,7 @@ class Algebra.IsPushout : Prop where
 
 variable {R S R' S'}
 
+@[symm]
 theorem Algebra.IsPushout.symm (h : Algebra.IsPushout R S R' S') : Algebra.IsPushout R R' S S' := by
   let _ := (Algebra.TensorProduct.includeRight : R' →ₐ[R] S ⊗ R').toRingHom.toAlgebra
   let e : R' ⊗[R] S ≃ₗ[R'] S' := by
chore: drop MulZeroClass. in mul_zero/zero_mul (#6682)

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

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

Diff
@@ -445,7 +445,7 @@ noncomputable def Algebra.pushoutDesc [H : Algebra.IsPushout R S R' S'] {A : Typ
     rw [← (algebraMap R' S').map_one, this, g.map_one]
   · intro x y
     refine H.out.inductionOn x ?_ ?_ ?_ ?_
-    · rw [MulZeroClass.zero_mul, map_zero, MulZeroClass.zero_mul]
+    · rw [zero_mul, map_zero, zero_mul]
     rotate_left
     · intro s s' e
       dsimp only [LinearMap.restrictScalars_apply] at e ⊢
@@ -457,7 +457,7 @@ noncomputable def Algebra.pushoutDesc [H : Algebra.IsPushout R S R' S'] {A : Typ
     dsimp
     rw [this]
     refine H.out.inductionOn y ?_ ?_ ?_ ?_
-    · rw [MulZeroClass.mul_zero, map_zero, MulZeroClass.mul_zero]
+    · rw [mul_zero, map_zero, mul_zero]
     · intro y
       dsimp
       rw [← _root_.map_mul, this, this, _root_.map_mul]
chore: banish Type _ and Sort _ (#6499)

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

This has nice performance benefits.

Diff
@@ -38,9 +38,9 @@ open TensorProduct
 
 section IsTensorProduct
 
-variable {R : Type _} [CommRing R]
+variable {R : Type*} [CommRing R]
 
-variable {M₁ M₂ M M' : Type _}
+variable {M₁ M₂ M M' : Type*}
 
 variable [AddCommMonoid M₁] [AddCommMonoid M₂] [AddCommMonoid M] [AddCommMonoid M']
 
@@ -48,7 +48,7 @@ variable [Module R M₁] [Module R M₂] [Module R M] [Module R M']
 
 variable (f : M₁ →ₗ[R] M₂ →ₗ[R] M)
 
-variable {N₁ N₂ N : Type _} [AddCommMonoid N₁] [AddCommMonoid N₂] [AddCommMonoid N]
+variable {N₁ N₂ N : Type*} [AddCommMonoid N₁] [AddCommMonoid N₂] [AddCommMonoid N]
 
 variable [Module R N₁] [Module R N₂] [Module R N]
 
@@ -138,7 +138,7 @@ end IsTensorProduct
 
 section IsBaseChange
 
-variable {R : Type _} {M : Type v₁} {N : Type v₂} (S : Type v₃)
+variable {R : Type*} {M : Type v₁} {N : Type v₂} (S : Type v₃)
 
 variable [AddCommMonoid M] [AddCommMonoid N] [CommRing R]
 
@@ -158,7 +158,7 @@ def IsBaseChange : Prop :=
 variable {S f}
 variable (h : IsBaseChange S f)
 
-variable {P Q : Type _} [AddCommMonoid P] [Module R P]
+variable {P Q : Type*} [AddCommMonoid P] [Module R P]
 
 variable [AddCommMonoid Q] [Module S Q]
 
@@ -328,7 +328,7 @@ theorem IsBaseChange.ofEquiv (e : M ≃ₗ[R] N) : IsBaseChange R e.toLinearMap
   simp
 #align is_base_change.of_equiv IsBaseChange.ofEquiv
 
-variable {T O : Type _} [CommRing T] [Algebra R T] [Algebra S T] [IsScalarTower R S T]
+variable {T O : Type*} [CommRing T] [Algebra R T] [Algebra S T] [IsScalarTower R S T]
 
 variable [AddCommMonoid O] [Module R O] [Module S O] [Module T O] [IsScalarTower S T O]
 
@@ -359,7 +359,7 @@ theorem IsBaseChange.comp {f : M →ₗ[R] N} (hf : IsBaseChange S f) {g : N →
   rfl
 #align is_base_change.comp IsBaseChange.comp
 
-variable {R' S' : Type _} [CommRing R'] [CommRing S']
+variable {R' S' : Type*} [CommRing R'] [CommRing S']
 
 variable [Algebra R R'] [Algebra S S'] [Algebra R' S'] [Algebra R S']
 
@@ -417,12 +417,12 @@ variable {R S R'}
 
 attribute [local instance] Algebra.TensorProduct.rightAlgebra
 
-instance TensorProduct.isPushout {R S T : Type _} [CommRing R] [CommRing S] [CommRing T]
+instance TensorProduct.isPushout {R S T : Type*} [CommRing R] [CommRing S] [CommRing T]
     [Algebra R S] [Algebra R T] : Algebra.IsPushout R S T (TensorProduct R S T) :=
   ⟨TensorProduct.isBaseChange R T S⟩
 #align tensor_product.is_pushout TensorProduct.isPushout
 
-instance TensorProduct.isPushout' {R S T : Type _} [CommRing R] [CommRing S] [CommRing T]
+instance TensorProduct.isPushout' {R S T : Type*} [CommRing R] [CommRing S] [CommRing T]
     [Algebra R S] [Algebra R T] : Algebra.IsPushout R T S (TensorProduct R S T) :=
   Algebra.IsPushout.symm inferInstance
 #align tensor_product.is_pushout' TensorProduct.isPushout'
@@ -431,7 +431,7 @@ instance TensorProduct.isPushout' {R S T : Type _} [CommRing R] [CommRing S] [Co
 such that `f x` and `g y` commutes for all `x, y` descends to a (unique) homomoprhism `S' → A`.
 -/
 --@[simps (config := { isSimp := false }) apply] --Porting note: removed and added by hand
-noncomputable def Algebra.pushoutDesc [H : Algebra.IsPushout R S R' S'] {A : Type _} [Semiring A]
+noncomputable def Algebra.pushoutDesc [H : Algebra.IsPushout R S R' S'] {A : Type*} [Semiring A]
     [Algebra R A] (f : S →ₐ[R] A) (g : R' →ₐ[R] A) (hf : ∀ x y, f x * g y = g y * f x) :
     S' →ₐ[R] A := by
   letI := Module.compHom A f.toRingHom
@@ -470,7 +470,7 @@ noncomputable def Algebra.pushoutDesc [H : Algebra.IsPushout R S R' S'] {A : Typ
 #align algebra.pushout_desc Algebra.pushoutDesc
 
 --Porting note: was generated by `simps` attribute in Lean3.
-theorem Algebra.pushoutDesc_apply [H : Algebra.IsPushout R S R' S'] {A : Type _}
+theorem Algebra.pushoutDesc_apply [H : Algebra.IsPushout R S R' S'] {A : Type*}
     [Semiring A] [Algebra R A] (f : S →ₐ[R] A) (g : R' →ₐ[R] A) (hf : ∀ x y, f x * g y = g y * f x)
     (s : S') : by
   letI := Module.compHom A f.toRingHom
@@ -480,7 +480,7 @@ theorem Algebra.pushoutDesc_apply [H : Algebra.IsPushout R S R' S'] {A : Type _}
   exact Algebra.pushoutDesc S' f g hf s = H.out.lift g.toLinearMap s := rfl
 
 @[simp]
-theorem Algebra.pushoutDesc_left [H : Algebra.IsPushout R S R' S'] {A : Type _} [Semiring A]
+theorem Algebra.pushoutDesc_left [H : Algebra.IsPushout R S R' S'] {A : Type*} [Semiring A]
     [Algebra R A] (f : S →ₐ[R] A) (g : R' →ₐ[R] A) (H) (x : S) :
     Algebra.pushoutDesc S' f g H (algebraMap S S' x) = f x := by
   letI := Module.compHom A f.toRingHom
@@ -493,14 +493,14 @@ theorem Algebra.pushoutDesc_left [H : Algebra.IsPushout R S R' S'] {A : Type _}
   exact mul_one (f x)
 #align algebra.pushout_desc_left Algebra.pushoutDesc_left
 
-theorem Algebra.lift_algHom_comp_left [Algebra.IsPushout R S R' S'] {A : Type _} [Semiring A]
+theorem Algebra.lift_algHom_comp_left [Algebra.IsPushout R S R' S'] {A : Type*} [Semiring A]
     [Algebra R A] (f : S →ₐ[R] A) (g : R' →ₐ[R] A) (H) :
     (Algebra.pushoutDesc S' f g H).comp (toAlgHom R S S') = f :=
   AlgHom.ext fun x => (Algebra.pushoutDesc_left S' f g H x : _)
 #align algebra.lift_alg_hom_comp_left Algebra.lift_algHom_comp_left
 
 @[simp]
-theorem Algebra.pushoutDesc_right [H : Algebra.IsPushout R S R' S'] {A : Type _} [Semiring A]
+theorem Algebra.pushoutDesc_right [H : Algebra.IsPushout R S R' S'] {A : Type*} [Semiring A]
     [Algebra R A] (f : S →ₐ[R] A) (g : R' →ₐ[R] A) (H) (x : R') :
     Algebra.pushoutDesc S' f g H (algebraMap R' S' x) = g x :=
   letI := Module.compHom A f.toRingHom
@@ -510,14 +510,14 @@ theorem Algebra.pushoutDesc_right [H : Algebra.IsPushout R S R' S'] {A : Type _}
   IsBaseChange.lift_eq _ _ _
 #align algebra.pushout_desc_right Algebra.pushoutDesc_right
 
-theorem Algebra.lift_algHom_comp_right [Algebra.IsPushout R S R' S'] {A : Type _} [Semiring A]
+theorem Algebra.lift_algHom_comp_right [Algebra.IsPushout R S R' S'] {A : Type*} [Semiring A]
     [Algebra R A] (f : S →ₐ[R] A) (g : R' →ₐ[R] A) (H) :
     (Algebra.pushoutDesc S' f g H).comp (toAlgHom R R' S') = g :=
   AlgHom.ext fun x => (Algebra.pushoutDesc_right S' f g H x : _)
 #align algebra.lift_alg_hom_comp_right Algebra.lift_algHom_comp_right
 
 @[ext]
-theorem Algebra.IsPushout.algHom_ext [H : Algebra.IsPushout R S R' S'] {A : Type _} [Semiring A]
+theorem Algebra.IsPushout.algHom_ext [H : Algebra.IsPushout R S R' S'] {A : Type*} [Semiring A]
     [Algebra R A] {f g : S' →ₐ[R] A} (h₁ : f.comp (toAlgHom R R' S') = g.comp (toAlgHom R R' S'))
     (h₂ : f.comp (toAlgHom R S S') = g.comp (toAlgHom R S S')) : f = g := by
   ext x
chore(LinearAlgebra/TensorProduct): better names for induction hypotheses (#6451)

This also makes some proofs more verbose to make it clearer which goal is which.

Diff
@@ -124,11 +124,13 @@ theorem IsTensorProduct.inductionOn (h : IsTensorProduct f) {C : M → Prop} (m
   rw [← h.equiv.right_inv m]
   generalize h.equiv.invFun m = y
   change C (TensorProduct.lift f y)
-  induction y using TensorProduct.induction_on
-  · rwa [map_zero]
-  · rw [TensorProduct.lift.tmul]
+  induction y using TensorProduct.induction_on with
+  | zero => rwa [map_zero]
+  | tmul _ _ =>
+    rw [TensorProduct.lift.tmul]
     apply htmul
-  · rw [map_add]
+  | add _ _ _ _ =>
+    rw [map_add]
     apply hadd <;> assumption
 #align is_tensor_product.induction_on IsTensorProduct.inductionOn
 
chore: tidy various files (#6382)
Diff
@@ -201,7 +201,7 @@ nonrec theorem IsBaseChange.inductionOn (x : N) (P : N → Prop) (h₁ : P 0) (h
   h.inductionOn x h₁ (fun _ _ => h₃ _ _ (h₂ _)) h₄
 #align is_base_change.induction_on IsBaseChange.inductionOn
 
-theorem IsBaseChange.alg_hom_ext (g₁ g₂ : N →ₗ[S] Q) (e : ∀ x, g₁ (f x) = g₂ (f x)) : g₁ = g₂ := by
+theorem IsBaseChange.algHom_ext (g₁ g₂ : N →ₗ[S] Q) (e : ∀ x, g₁ (f x) = g₂ (f x)) : g₁ = g₂ := by
   ext x
   refine h.inductionOn x ?_ ?_ ?_ ?_
   · rw [map_zero, map_zero]
@@ -210,12 +210,12 @@ theorem IsBaseChange.alg_hom_ext (g₁ g₂ : N →ₗ[S] Q) (e : ∀ x, g₁ (f
     rw [g₁.map_smul, g₂.map_smul, e']
   · intro x y e₁ e₂
     rw [map_add, map_add, e₁, e₂]
-#align is_base_change.alg_hom_ext IsBaseChange.alg_hom_ext
+#align is_base_change.alg_hom_ext IsBaseChange.algHom_ext
 
-theorem IsBaseChange.alg_hom_ext' [Module R Q] [IsScalarTower R S Q] (g₁ g₂ : N →ₗ[S] Q)
+theorem IsBaseChange.algHom_ext' [Module R Q] [IsScalarTower R S Q] (g₁ g₂ : N →ₗ[S] Q)
     (e : (g₁.restrictScalars R).comp f = (g₂.restrictScalars R).comp f) : g₁ = g₂ :=
-  h.alg_hom_ext g₁ g₂ (LinearMap.congr_fun e)
-#align is_base_change.alg_hom_ext' IsBaseChange.alg_hom_ext'
+  h.algHom_ext g₁ g₂ (LinearMap.congr_fun e)
+#align is_base_change.alg_hom_ext' IsBaseChange.algHom_ext'
 
 variable (R M N S)
 
@@ -303,7 +303,7 @@ theorem IsBaseChange.iff_lift_unique :
             ∀ g : M →ₗ[R] Q, ∃! g' : N →ₗ[S] Q, (g'.restrictScalars R).comp f = g :=
   ⟨fun h => by
     intros Q _ _ _ _ g
-    exact ⟨h.lift g, h.lift_comp g, fun g' e => h.alg_hom_ext' _ _ (e.trans (h.lift_comp g).symm)⟩,
+    exact ⟨h.lift g, h.lift_comp g, fun g' e => h.algHom_ext' _ _ (e.trans (h.lift_comp g).symm)⟩,
     IsBaseChange.of_lift_unique f⟩
 #align is_base_change.iff_lift_unique IsBaseChange.iff_lift_unique
 
@@ -351,7 +351,7 @@ theorem IsBaseChange.comp {f : M →ₗ[R] N} (hf : IsBaseChange S f) {g : N →
       ext
       simp [IsBaseChange.lift_eq], _⟩
   rintro g' (e : _ = _)
-  refine' hg.alg_hom_ext' _ _ (hf.alg_hom_ext' _ _ _)
+  refine' hg.algHom_ext' _ _ (hf.algHom_ext' _ _ _)
   rw [IsBaseChange.lift_comp, IsBaseChange.lift_comp, ← e]
   ext
   rfl
@@ -471,11 +471,11 @@ noncomputable def Algebra.pushoutDesc [H : Algebra.IsPushout R S R' S'] {A : Typ
 theorem Algebra.pushoutDesc_apply [H : Algebra.IsPushout R S R' S'] {A : Type _}
     [Semiring A] [Algebra R A] (f : S →ₐ[R] A) (g : R' →ₐ[R] A) (hf : ∀ x y, f x * g y = g y * f x)
     (s : S') : by
-    letI := Module.compHom A f.toRingHom
-    haveI : IsScalarTower R S A :=
-      { smul_assoc := fun r s a =>
-        show f (r • s) * a = r • (f s * a) by rw [f.map_smul, smul_mul_assoc] }
-    exact Algebra.pushoutDesc S' f g hf s = H.out.lift g.toLinearMap s := rfl
+  letI := Module.compHom A f.toRingHom
+  haveI : IsScalarTower R S A :=
+    { smul_assoc := fun r s a =>
+      show f (r • s) * a = r • (f s * a) by rw [f.map_smul, smul_mul_assoc] }
+  exact Algebra.pushoutDesc S' f g hf s = H.out.lift g.toLinearMap s := rfl
 
 @[simp]
 theorem Algebra.pushoutDesc_left [H : Algebra.IsPushout R S R' S'] {A : Type _} [Semiring A]
chore: replace (Algebra.ofId R A).toLinearMap with Algebra.linearMap R A (#6208)

A tiny bit of clean up, with the aim of increasing awareness of Algebra.linearMap

Diff
@@ -149,7 +149,7 @@ variable (f : M →ₗ[R] N)
 tensor product. -/
 def IsBaseChange : Prop :=
   IsTensorProduct
-    (((Algebra.ofId S <| Module.End S (M →ₗ[R] N)).toLinearMap.flip f).restrictScalars R)
+    (((Algebra.linearMap S <| Module.End S (M →ₗ[R] N)).flip f).restrictScalars R)
 #align is_base_change IsBaseChange
 
 -- Porting note: split `variable`
@@ -168,9 +168,9 @@ variable [Module R Q] [IsScalarTower R S Q]
 `M` to an `S`-module factors through `f`. -/
 noncomputable nonrec def IsBaseChange.lift (g : M →ₗ[R] Q) : N →ₗ[S] Q :=
   { h.lift
-      (((Algebra.ofId S <| Module.End S (M →ₗ[R] Q)).toLinearMap.flip g).restrictScalars R) with
+      (((Algebra.linearMap S <| Module.End S (M →ₗ[R] Q)).flip g).restrictScalars R) with
     map_smul' := fun r x => by
-      let F := ((Algebra.ofId S <| Module.End S (M →ₗ[R] Q)).toLinearMap.flip g).restrictScalars R
+      let F := ((Algebra.linearMap S <| Module.End S (M →ₗ[R] Q)).flip g).restrictScalars R
       have hF : ∀ (s : S) (m : M), h.lift F (s • f m) = s • g m := h.lift_eq F
       change h.lift F (r • x) = r • h.lift F x
       apply h.inductionOn x
@@ -240,7 +240,7 @@ noncomputable nonrec def IsBaseChange.equiv : S ⊗[R] M ≃ₗ[S] N :=
       · rw [smul_zero, map_zero, smul_zero]
       · intro x y
         -- Porting note: was simp [smul_tmul', Algebra.ofId_apply]
-        simp only [Algebra.ofId_apply, lift.tmul, smul_eq_mul, AlgHom.toLinearMap_apply,
+        simp only [Algebra.linearMap_apply, lift.tmul, smul_eq_mul,
           LinearMap.mul_apply, LinearMap.smul_apply, IsTensorProduct.equiv_apply,
           Module.algebraMap_end_apply, _root_.map_mul, smul_tmul', eq_self_iff_true,
           LinearMap.coe_restrictScalars, LinearMap.flip_apply]
chore: script to replace headers with #align_import statements (#5979)

Open in Gitpod

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

Diff
@@ -2,15 +2,12 @@
 Copyright (c) 2022 Andrew Yang. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Andrew Yang
-
-! This file was ported from Lean 3 source module ring_theory.is_tensor_product
-! leanprover-community/mathlib commit c4926d76bb9c5a4a62ed2f03d998081786132105
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
 -/
 import Mathlib.RingTheory.TensorProduct
 import Mathlib.Algebra.Module.ULift
 
+#align_import ring_theory.is_tensor_product from "leanprover-community/mathlib"@"c4926d76bb9c5a4a62ed2f03d998081786132105"
+
 /-!
 # The characteristic predicate of tensor product
 
chore: clean up spacing around at and goals (#5387)

Changes are of the form

  • some_tactic at h⊢ -> some_tactic at h ⊢
  • some_tactic at h -> some_tactic at h
Diff
@@ -449,10 +449,10 @@ noncomputable def Algebra.pushoutDesc [H : Algebra.IsPushout R S R' S'] {A : Typ
     · rw [MulZeroClass.zero_mul, map_zero, MulZeroClass.zero_mul]
     rotate_left
     · intro s s' e
-      dsimp only [LinearMap.restrictScalars_apply] at e⊢
+      dsimp only [LinearMap.restrictScalars_apply] at e ⊢
       rw [LinearMap.map_smul, smul_mul_assoc, LinearMap.map_smul, e, smul_mul_assoc]
     · intro s s' e₁ e₂
-      dsimp only [LinearMap.restrictScalars_apply] at e₁ e₂⊢
+      dsimp only [LinearMap.restrictScalars_apply] at e₁ e₂ ⊢
       rw [add_mul, map_add, map_add, add_mul, e₁, e₂]
     intro x
     dsimp
chore: remove superfluous parentheses in calls to ext (#5258)

Co-authored-by: Xavier Roblot <46200072+xroblot@users.noreply.github.com> Co-authored-by: Joël Riou <joel.riou@universite-paris-saclay.fr> Co-authored-by: Riccardo Brasca <riccardo.brasca@gmail.com> Co-authored-by: Yury G. Kudryashov <urkud@urkud.name> Co-authored-by: Scott Morrison <scott.morrison@anu.edu.au> Co-authored-by: Scott Morrison <scott.morrison@gmail.com> Co-authored-by: Jeremy Tan Jie Rui <reddeloostw@gmail.com> Co-authored-by: Pol'tta / Miyahara Kō <pol_tta@outlook.jp> Co-authored-by: Jason Yuen <jason_yuen2007@hotmail.com> Co-authored-by: Mario Carneiro <di.gama@gmail.com> Co-authored-by: Jireh Loreaux <loreaujy@gmail.com> Co-authored-by: Ruben Van de Velde <65514131+Ruben-VandeVelde@users.noreply.github.com> Co-authored-by: Kyle Miller <kmill31415@gmail.com> Co-authored-by: Heather Macbeth <25316162+hrmacbeth@users.noreply.github.com> Co-authored-by: Jujian Zhang <jujian.zhang1998@outlook.com> Co-authored-by: Yaël Dillies <yael.dillies@gmail.com>

Diff
@@ -225,7 +225,7 @@ variable (R M N S)
 theorem TensorProduct.isBaseChange : IsBaseChange S (TensorProduct.mk R S M 1) := by
   delta IsBaseChange
   convert TensorProduct.isTensorProduct R S M using 1
-  ext (s x)
+  ext s x
   change s • (1 : S) ⊗ₜ[R] x = s ⊗ₜ[R] x
   rw [TensorProduct.smul_tmul']
   congr 1
chore: fix grammar 3/3 (#5003)

Part 3 of #5001

Diff
@@ -19,7 +19,7 @@ import Mathlib.Algebra.Module.ULift
 - `IsTensorProduct`: A predicate on `f : M₁ →ₗ[R] M₂ →ₗ[R] M` expressing that `f` realizes `M` as
   the tensor product of `M₁ ⊗[R] M₂`. This is defined by requiring the lift `M₁ ⊗[R] M₂ → M` to be
   bijective.
-- `IsBaseChange`: A predicate on an `R`-algebra `S` and a map `f : M →ₗ[R] N` with `N` being a
+- `IsBaseChange`: A predicate on an `R`-algebra `S` and a map `f : M →ₗ[R] N` with `N` being an
   `S`-module, expressing that `f` realizes `N` as the base change of `M` along `R → S`.
 - `Algebra.IsPushout`: A predicate on the following diagram of scalar towers
   ```
chore: fix many typos (#4967)

These are all doc fixes

Diff
@@ -12,7 +12,7 @@ import Mathlib.RingTheory.TensorProduct
 import Mathlib.Algebra.Module.ULift
 
 /-!
-# The characteristice predicate of tensor product
+# The characteristic predicate of tensor product
 
 ## Main definitions
 
chore: fix many typos (#4535)

Run codespell Mathlib and keep some suggestions.

Diff
@@ -168,7 +168,7 @@ section
 variable [Module R Q] [IsScalarTower R S Q]
 
 /-- Suppose `f : M →ₗ[R] N` is the base change of `M` along `R → S`. Then any `R`-linear map from
-`M` to an `S`-module factors thorugh `f`. -/
+`M` to an `S`-module factors through `f`. -/
 noncomputable nonrec def IsBaseChange.lift (g : M →ₗ[R] Q) : N →ₗ[S] Q :=
   { h.lift
       (((Algebra.ofId S <| Module.End S (M →ₗ[R] Q)).toLinearMap.flip g).restrictScalars R) with
feat: port RingTheory.IsTensorProduct (#4227)

Co-authored-by: Chris Hughes <chrishughes24@gmail.com>

Dependencies 10 + 516

517 files ported (98.1%)
216172 lines ported (98.4%)
Show graph

The unported dependencies are