ring_theory.is_tensor_product
⟷
Mathlib.RingTheory.IsTensorProduct
The following section lists changes to this file in mathlib3 and mathlib4 that occured after the initial port. Most recent changes are shown first. Hovering over a commit will show all commits associated with the same mathlib3 commit.
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(last sync)
mathlib commit https://github.com/leanprover-community/mathlib/commit/65a1391a0106c9204fe45bc73a039f056558cb83
@@ -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"
mathlib commit https://github.com/leanprover-community/mathlib/commit/65a1391a0106c9204fe45bc73a039f056558cb83
@@ -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
mathlib commit https://github.com/leanprover-community/mathlib/commit/65a1391a0106c9204fe45bc73a039f056558cb83
@@ -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
mathlib commit https://github.com/leanprover-community/mathlib/commit/ce64cd319bb6b3e82f31c2d38e79080d377be451
@@ -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"
mathlib commit https://github.com/leanprover-community/mathlib/commit/32a7e535287f9c73f2e4d2aef306a39190f0b504
@@ -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)
mathlib commit https://github.com/leanprover-community/mathlib/commit/8ea5598db6caeddde6cb734aa179cc2408dbd345
@@ -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
mathlib commit https://github.com/leanprover-community/mathlib/commit/2a0ce625dbb0ffbc7d1316597de0b25c1ec75303
@@ -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, _⟩
mathlib commit https://github.com/leanprover-community/mathlib/commit/9fb8964792b4237dac6200193a0d533f1b3f7423
@@ -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
mathlib commit https://github.com/leanprover-community/mathlib/commit/cca40788df1b8755d5baf17ab2f27dacc2e17acb
@@ -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]
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -40,7 +40,7 @@ import Mathbin.Algebra.Module.Ulift
universe u v₁ v₂ v₃ v₄
-open TensorProduct
+open scoped TensorProduct
open TensorProduct
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -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'))
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -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
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -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]
mathlib commit https://github.com/leanprover-community/mathlib/commit/ef95945cd48c932c9e034872bd25c3c220d9c946
@@ -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'))
mathlib commit https://github.com/leanprover-community/mathlib/commit/f24cc2891c0e328f0ee8c57387103aa462c44b5e
@@ -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)
mathlib commit https://github.com/leanprover-community/mathlib/commit/3180fab693e2cee3bff62675571264cb8778b212
@@ -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]
mathlib commit https://github.com/leanprover-community/mathlib/commit/bd9851ca476957ea4549eb19b40e7b5ade9428cc
Uncomment the simps configuration (which has to become simps!) and delete the generated lemma which was added manually. I verified that both are identical.
@@ -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) :
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)
@@ -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)
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
Co-authored-by: Antoine Chambert-Loir <antoine.chambert-loir@math.univ-paris-diderot.fr>
@@ -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"
Homogenises porting notes via capitalisation and addition of whitespace.
It makes the following changes:
@@ -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
@@ -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,
@@ -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
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
@@ -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]
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>
@@ -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
@@ -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']
@@ -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
Use .asFn
and .lemmasOnly
as simps
configuration options.
For reference, these are defined here:
@@ -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
Removes nonterminal simps on lines looking like simp [...]
@@ -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]
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.
@@ -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]
Also add a couple of refl and trans attributes
@@ -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
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).
@@ -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]
Type _
and Sort _
(#6499)
We remove all possible occurences of Type _
and Sort _
in favor of Type*
and Sort*
.
This has nice performance benefits.
@@ -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
This also makes some proofs more verbose to make it clearer which goal is which.
@@ -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
@@ -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]
(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
@@ -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]
@@ -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
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
@@ -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
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>
@@ -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
@@ -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
```
@@ -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
@@ -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
The unported dependencies are