ring_theory.graded_algebra.homogeneous_localization
⟷
Mathlib.RingTheory.GradedAlgebra.HomogeneousLocalization
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)
(last sync)
mathlib commit https://github.com/leanprover-community/mathlib/commit/65a1391a0106c9204fe45bc73a039f056558cb83
@@ -271,7 +271,7 @@ instance : Pow (NumDenSameDeg 𝒜 x) ℕ
by
induction' n with n ih
· simpa only [coe_gnpow, pow_zero] using Submonoid.one_mem _
- · simpa only [pow_succ', coe_gnpow] using x.mul_mem ih c.denom_mem⟩
+ · simpa only [pow_succ, coe_gnpow] using x.mul_mem ih c.denom_mem⟩
#print HomogeneousLocalization.NumDenSameDeg.deg_pow /-
@[simp]
mathlib commit https://github.com/leanprover-community/mathlib/commit/65a1391a0106c9204fe45bc73a039f056558cb83
@@ -643,7 +643,7 @@ theorem eq_num_div_den (f : HomogeneousLocalization 𝒜 x) :
f.val = Localization.mk f.num ⟨f.den, f.denom_mem⟩ :=
by
have := Quotient.out_eq' f
- apply_fun HomogeneousLocalization.val at this
+ apply_fun HomogeneousLocalization.val at this
rw [← this]
unfold HomogeneousLocalization.val
simp only [Quotient.liftOn'_mk'']
@@ -658,7 +658,7 @@ theorem ext_iff_val (f g : HomogeneousLocalization 𝒜 x) : f = g ↔ f.val = g
induction f using Quotient.inductionOn
induction g using Quotient.inductionOn
rw [Quotient.eq']
- unfold HomogeneousLocalization.val at h
+ unfold HomogeneousLocalization.val at h
simpa only [Quotient.liftOn'_mk] using h }
#align homogeneous_localization.ext_iff_val HomogeneousLocalization.ext_iff_val
-/
@@ -678,21 +678,21 @@ abbrev AtPrime :=
theorem isUnit_iff_isUnit_val (f : HomogeneousLocalization.AtPrime 𝒜 𝔭) : IsUnit f.val ↔ IsUnit f :=
⟨fun h1 => by
rcases h1 with ⟨⟨a, b, eq0, eq1⟩, eq2 : a = f.val⟩
- rw [eq2] at eq0 eq1
+ rw [eq2] at eq0 eq1
clear a eq2
induction' b using Localization.induction_on with data
rcases data with ⟨a, ⟨b, hb⟩⟩
- dsimp only at eq0 eq1
+ dsimp only at eq0 eq1
have b_f_denom_not_mem : b * f.denom ∈ 𝔭.prime_compl := fun r =>
Or.elim (Ideal.IsPrime.mem_or_mem inferInstance r) (fun r2 => hb r2) fun r2 => f.denom_mem r2
rw [f.eq_num_div_denom, Localization.mk_mul,
show (⟨b, hb⟩ : 𝔭.prime_compl) * ⟨f.denom, _⟩ = ⟨b * f.denom, _⟩ from rfl,
show (1 : Localization.AtPrime 𝔭) = Localization.mk 1 1 by erw [Localization.mk_self 1],
- Localization.mk_eq_mk', IsLocalization.eq] at eq1
+ Localization.mk_eq_mk', IsLocalization.eq] at eq1
rcases eq1 with ⟨⟨c, hc⟩, eq1⟩
- simp only [← Subtype.val_eq_coe] at eq1
- change c * (1 * (a * f.num)) = _ at eq1
- simp only [one_mul, mul_one] at eq1
+ simp only [← Subtype.val_eq_coe] at eq1
+ change c * (1 * (a * f.num)) = _ at eq1
+ simp only [one_mul, mul_one] at eq1
have mem1 : c * (a * f.num) ∈ 𝔭.prime_compl :=
eq1.symm ▸ fun r => Or.elim (Ideal.IsPrime.mem_or_mem inferInstance r) (by tauto) (by tauto)
have mem2 : f.num ∉ 𝔭 := by
@@ -709,7 +709,7 @@ theorem isUnit_iff_isUnit_val (f : HomogeneousLocalization.AtPrime 𝒜 𝔭) :
simpa only [mul_comm],
fun ⟨⟨_, b, eq1, eq2⟩, rfl⟩ =>
by
- simp only [ext_iff_val, mul_val, one_val] at eq1 eq2
+ simp only [ext_iff_val, mul_val, one_val] at eq1 eq2
exact ⟨⟨f.val, b.val, eq1, eq2⟩, rfl⟩⟩
#align homogeneous_localization.is_unit_iff_is_unit_val HomogeneousLocalization.isUnit_iff_isUnit_val
-/
@@ -734,7 +734,7 @@ instance : LocalRing (HomogeneousLocalization.AtPrime 𝒜 𝔭) :=
simp only [← Subtype.val_eq_coe, Submonoid.coe_mul]
ring
· left
- change _ ∈ 𝔭.prime_compl at mem1
+ change _ ∈ 𝔭.prime_compl at mem1
apply isUnit_of_mul_eq_one _ (Localization.mk a.denom.1 ⟨a.num.1, mem1⟩)
rw [Localization.mk_mul]
convert Localization.mk_self _
mathlib commit https://github.com/leanprover-community/mathlib/commit/ce64cd319bb6b3e82f31c2d38e79080d377be451
@@ -3,8 +3,8 @@ Copyright (c) 2022 Jujian Zhang. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Jujian Zhang, Eric Wieser
-/
-import Mathbin.RingTheory.Localization.AtPrime
-import Mathbin.RingTheory.GradedAlgebra.Basic
+import RingTheory.Localization.AtPrime
+import RingTheory.GradedAlgebra.Basic
#align_import ring_theory.graded_algebra.homogeneous_localization from "leanprover-community/mathlib"@"4280f5f32e16755ec7985ce11e189b6cd6ff6735"
mathlib commit https://github.com/leanprover-community/mathlib/commit/32a7e535287f9c73f2e4d2aef306a39190f0b504
@@ -175,8 +175,8 @@ theorem den_zero : ((0 : NumDenSameDeg 𝒜 x).den : A) = 1 :=
instance : Mul (NumDenSameDeg 𝒜 x)
where mul p q :=
{ deg := p.deg + q.deg
- num := ⟨p.num * q.num, mul_mem p.num.Prop q.num.Prop⟩
- den := ⟨p.den * q.den, mul_mem p.den.Prop q.den.Prop⟩
+ num := ⟨p.num * q.num, hMul_mem p.num.Prop q.num.Prop⟩
+ den := ⟨p.den * q.den, hMul_mem p.den.Prop q.den.Prop⟩
denom_mem := Submonoid.mul_mem _ p.denom_mem q.denom_mem }
#print HomogeneousLocalization.NumDenSameDeg.deg_mul /-
@@ -205,8 +205,9 @@ instance : Add (NumDenSameDeg 𝒜 x)
{ deg := c1.deg + c2.deg
num :=
⟨c1.den * c2.num + c2.den * c1.num,
- add_mem (mul_mem c1.den.2 c2.num.2) (add_comm c2.deg c1.deg ▸ mul_mem c2.den.2 c1.num.2)⟩
- den := ⟨c1.den * c2.den, mul_mem c1.den.2 c2.den.2⟩
+ add_mem (hMul_mem c1.den.2 c2.num.2)
+ (add_comm c2.deg c1.deg ▸ hMul_mem c2.den.2 c1.num.2)⟩
+ den := ⟨c1.den * c2.den, hMul_mem c1.den.2 c2.den.2⟩
denom_mem := Submonoid.mul_mem _ c1.denom_mem c2.denom_mem }
#print HomogeneousLocalization.NumDenSameDeg.deg_add /-
mathlib commit https://github.com/leanprover-community/mathlib/commit/8ea5598db6caeddde6cb734aa179cc2408dbd345
@@ -2,15 +2,12 @@
Copyright (c) 2022 Jujian Zhang. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Jujian Zhang, Eric Wieser
-
-! This file was ported from Lean 3 source module ring_theory.graded_algebra.homogeneous_localization
-! leanprover-community/mathlib commit 4280f5f32e16755ec7985ce11e189b6cd6ff6735
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
-/
import Mathbin.RingTheory.Localization.AtPrime
import Mathbin.RingTheory.GradedAlgebra.Basic
+#align_import ring_theory.graded_algebra.homogeneous_localization from "leanprover-community/mathlib"@"4280f5f32e16755ec7985ce11e189b6cd6ff6735"
+
/-!
# Homogeneous Localization
mathlib commit https://github.com/leanprover-community/mathlib/commit/9fb8964792b4237dac6200193a0d533f1b3f7423
@@ -85,13 +85,13 @@ variable (𝒜 : ι → Submodule R A) [GradedAlgebra 𝒜]
variable (x : Submonoid A)
--- mathport name: «exprat »
local notation "at " x => Localization x
namespace HomogeneousLocalization
section
+#print HomogeneousLocalization.NumDenSameDeg /-
/--
Let `x` be a submonoid of `A`, then `num_denom_same_deg 𝒜 x` is a structure with a numerator and a
denominator with same grading such that the denominator is contained in `x`.
@@ -102,6 +102,7 @@ structure NumDenSameDeg where
(num den : 𝒜 deg)
denom_mem : (denom : A) ∈ x
#align homogeneous_localization.num_denom_same_deg HomogeneousLocalization.NumDenSameDeg
+-/
end
@@ -111,6 +112,7 @@ open SetLike.GradedMonoid Submodule
variable {𝒜}
+#print HomogeneousLocalization.NumDenSameDeg.ext /-
@[ext]
theorem ext {c1 c2 : NumDenSameDeg 𝒜 x} (hdeg : c1.deg = c2.deg) (hnum : (c1.num : A) = c2.num)
(hdenom : (c1.den : A) = c2.den) : c1 = c2 :=
@@ -120,6 +122,7 @@ theorem ext {c1 c2 : NumDenSameDeg 𝒜 x} (hdeg : c1.deg = c2.deg) (hnum : (c1.
dsimp only [Subtype.coe_mk] at *
simp only; exact ⟨hdeg, by subst hdeg <;> subst hnum, by subst hdeg <;> subst hdenom⟩
#align homogeneous_localization.num_denom_same_deg.ext HomogeneousLocalization.NumDenSameDeg.ext
+-/
instance : One (NumDenSameDeg 𝒜 x)
where one :=
@@ -128,10 +131,12 @@ instance : One (NumDenSameDeg 𝒜 x)
den := ⟨1, one_mem⟩
denom_mem := Submonoid.one_mem _ }
+#print HomogeneousLocalization.NumDenSameDeg.deg_one /-
@[simp]
theorem deg_one : (1 : NumDenSameDeg 𝒜 x).deg = 0 :=
rfl
#align homogeneous_localization.num_denom_same_deg.deg_one HomogeneousLocalization.NumDenSameDeg.deg_one
+-/
#print HomogeneousLocalization.NumDenSameDeg.num_one /-
@[simp]
@@ -149,10 +154,12 @@ theorem den_one : ((1 : NumDenSameDeg 𝒜 x).den : A) = 1 :=
instance : Zero (NumDenSameDeg 𝒜 x) where zero := ⟨0, 0, ⟨1, one_mem⟩, Submonoid.one_mem _⟩
+#print HomogeneousLocalization.NumDenSameDeg.deg_zero /-
@[simp]
theorem deg_zero : (0 : NumDenSameDeg 𝒜 x).deg = 0 :=
rfl
#align homogeneous_localization.num_denom_same_deg.deg_zero HomogeneousLocalization.NumDenSameDeg.deg_zero
+-/
#print HomogeneousLocalization.NumDenSameDeg.num_zero /-
@[simp]
@@ -175,20 +182,26 @@ instance : Mul (NumDenSameDeg 𝒜 x)
den := ⟨p.den * q.den, mul_mem p.den.Prop q.den.Prop⟩
denom_mem := Submonoid.mul_mem _ p.denom_mem q.denom_mem }
+#print HomogeneousLocalization.NumDenSameDeg.deg_mul /-
@[simp]
theorem deg_mul (c1 c2 : NumDenSameDeg 𝒜 x) : (c1 * c2).deg = c1.deg + c2.deg :=
rfl
#align homogeneous_localization.num_denom_same_deg.deg_mul HomogeneousLocalization.NumDenSameDeg.deg_mul
+-/
+#print HomogeneousLocalization.NumDenSameDeg.num_mul /-
@[simp]
theorem num_mul (c1 c2 : NumDenSameDeg 𝒜 x) : ((c1 * c2).num : A) = c1.num * c2.num :=
rfl
#align homogeneous_localization.num_denom_same_deg.num_mul HomogeneousLocalization.NumDenSameDeg.num_mul
+-/
+#print HomogeneousLocalization.NumDenSameDeg.den_mul /-
@[simp]
theorem den_mul (c1 c2 : NumDenSameDeg 𝒜 x) : ((c1 * c2).den : A) = c1.den * c2.den :=
rfl
#align homogeneous_localization.num_denom_same_deg.denom_mul HomogeneousLocalization.NumDenSameDeg.den_mul
+-/
instance : Add (NumDenSameDeg 𝒜 x)
where add c1 c2 :=
@@ -199,39 +212,51 @@ instance : Add (NumDenSameDeg 𝒜 x)
den := ⟨c1.den * c2.den, mul_mem c1.den.2 c2.den.2⟩
denom_mem := Submonoid.mul_mem _ c1.denom_mem c2.denom_mem }
+#print HomogeneousLocalization.NumDenSameDeg.deg_add /-
@[simp]
theorem deg_add (c1 c2 : NumDenSameDeg 𝒜 x) : (c1 + c2).deg = c1.deg + c2.deg :=
rfl
#align homogeneous_localization.num_denom_same_deg.deg_add HomogeneousLocalization.NumDenSameDeg.deg_add
+-/
+#print HomogeneousLocalization.NumDenSameDeg.num_add /-
@[simp]
theorem num_add (c1 c2 : NumDenSameDeg 𝒜 x) :
((c1 + c2).num : A) = c1.den * c2.num + c2.den * c1.num :=
rfl
#align homogeneous_localization.num_denom_same_deg.num_add HomogeneousLocalization.NumDenSameDeg.num_add
+-/
+#print HomogeneousLocalization.NumDenSameDeg.den_add /-
@[simp]
theorem den_add (c1 c2 : NumDenSameDeg 𝒜 x) : ((c1 + c2).den : A) = c1.den * c2.den :=
rfl
#align homogeneous_localization.num_denom_same_deg.denom_add HomogeneousLocalization.NumDenSameDeg.den_add
+-/
instance : Neg (NumDenSameDeg 𝒜 x)
where neg c := ⟨c.deg, ⟨-c.num, neg_mem c.num.2⟩, c.den, c.denom_mem⟩
+#print HomogeneousLocalization.NumDenSameDeg.deg_neg /-
@[simp]
theorem deg_neg (c : NumDenSameDeg 𝒜 x) : (-c).deg = c.deg :=
rfl
#align homogeneous_localization.num_denom_same_deg.deg_neg HomogeneousLocalization.NumDenSameDeg.deg_neg
+-/
+#print HomogeneousLocalization.NumDenSameDeg.num_neg /-
@[simp]
theorem num_neg (c : NumDenSameDeg 𝒜 x) : ((-c).num : A) = -c.num :=
rfl
#align homogeneous_localization.num_denom_same_deg.num_neg HomogeneousLocalization.NumDenSameDeg.num_neg
+-/
+#print HomogeneousLocalization.NumDenSameDeg.den_neg /-
@[simp]
theorem den_neg (c : NumDenSameDeg 𝒜 x) : ((-c).den : A) = c.den :=
rfl
#align homogeneous_localization.num_denom_same_deg.denom_neg HomogeneousLocalization.NumDenSameDeg.den_neg
+-/
instance : CommMonoid (NumDenSameDeg 𝒜 x) where
one := 1
@@ -250,20 +275,26 @@ instance : Pow (NumDenSameDeg 𝒜 x) ℕ
· simpa only [coe_gnpow, pow_zero] using Submonoid.one_mem _
· simpa only [pow_succ', coe_gnpow] using x.mul_mem ih c.denom_mem⟩
+#print HomogeneousLocalization.NumDenSameDeg.deg_pow /-
@[simp]
theorem deg_pow (c : NumDenSameDeg 𝒜 x) (n : ℕ) : (c ^ n).deg = n • c.deg :=
rfl
#align homogeneous_localization.num_denom_same_deg.deg_pow HomogeneousLocalization.NumDenSameDeg.deg_pow
+-/
+#print HomogeneousLocalization.NumDenSameDeg.num_pow /-
@[simp]
theorem num_pow (c : NumDenSameDeg 𝒜 x) (n : ℕ) : ((c ^ n).num : A) = c.num ^ n :=
rfl
#align homogeneous_localization.num_denom_same_deg.num_pow HomogeneousLocalization.NumDenSameDeg.num_pow
+-/
+#print HomogeneousLocalization.NumDenSameDeg.den_pow /-
@[simp]
theorem den_pow (c : NumDenSameDeg 𝒜 x) (n : ℕ) : ((c ^ n).den : A) = c.den ^ n :=
rfl
#align homogeneous_localization.num_denom_same_deg.denom_pow HomogeneousLocalization.NumDenSameDeg.den_pow
+-/
section SMul
@@ -271,36 +302,45 @@ variable {α : Type _} [SMul α R] [SMul α A] [IsScalarTower α R A]
instance : SMul α (NumDenSameDeg 𝒜 x) where smul m c := ⟨c.deg, m • c.num, c.den, c.denom_mem⟩
+#print HomogeneousLocalization.NumDenSameDeg.deg_smul /-
@[simp]
theorem deg_smul (c : NumDenSameDeg 𝒜 x) (m : α) : (m • c).deg = c.deg :=
rfl
#align homogeneous_localization.num_denom_same_deg.deg_smul HomogeneousLocalization.NumDenSameDeg.deg_smul
+-/
+#print HomogeneousLocalization.NumDenSameDeg.num_smul /-
@[simp]
theorem num_smul (c : NumDenSameDeg 𝒜 x) (m : α) : ((m • c).num : A) = m • c.num :=
rfl
#align homogeneous_localization.num_denom_same_deg.num_smul HomogeneousLocalization.NumDenSameDeg.num_smul
+-/
+#print HomogeneousLocalization.NumDenSameDeg.den_smul /-
@[simp]
theorem den_smul (c : NumDenSameDeg 𝒜 x) (m : α) : ((m • c).den : A) = c.den :=
rfl
#align homogeneous_localization.num_denom_same_deg.denom_smul HomogeneousLocalization.NumDenSameDeg.den_smul
+-/
end SMul
variable (𝒜)
+#print HomogeneousLocalization.NumDenSameDeg.embedding /-
/-- For `x : prime ideal of A` and any `p : num_denom_same_deg 𝒜 x`, or equivalent a numerator and a
denominator of the same degree, we get an element `p.num / p.denom` of `Aₓ`.
-/
def embedding (p : NumDenSameDeg 𝒜 x) : at x :=
Localization.mk p.num ⟨p.den, p.denom_mem⟩
#align homogeneous_localization.num_denom_same_deg.embedding HomogeneousLocalization.NumDenSameDeg.embedding
+-/
end NumDenomSameDeg
end HomogeneousLocalization
+#print HomogeneousLocalization /-
/--
For `x : prime ideal of A`, `homogeneous_localization 𝒜 x` is `num_denom_same_deg 𝒜 x` modulo the
kernel of `embedding 𝒜 x`. This is essentially the subring of `Aₓ` where the numerator and
@@ -310,6 +350,7 @@ denominator share the same grading.
def HomogeneousLocalization : Type _ :=
Quotient (Setoid.ker <| HomogeneousLocalization.NumDenSameDeg.embedding 𝒜 x)
#align homogeneous_localization HomogeneousLocalization
+-/
namespace HomogeneousLocalization
@@ -317,24 +358,30 @@ open HomogeneousLocalization HomogeneousLocalization.NumDenSameDeg
variable {𝒜} {x}
+#print HomogeneousLocalization.val /-
/-- View an element of `homogeneous_localization 𝒜 x` as an element of `Aₓ` by forgetting that the
numerator and denominator are of the same grading.
-/
def val (y : HomogeneousLocalization 𝒜 x) : at x :=
Quotient.liftOn' y (NumDenSameDeg.embedding 𝒜 x) fun _ _ => id
#align homogeneous_localization.val HomogeneousLocalization.val
+-/
+#print HomogeneousLocalization.val_mk'' /-
@[simp]
theorem val_mk'' (i : NumDenSameDeg 𝒜 x) :
val (Quotient.mk'' i) = Localization.mk i.num ⟨i.den, i.denom_mem⟩ :=
rfl
#align homogeneous_localization.val_mk' HomogeneousLocalization.val_mk''
+-/
variable (x)
+#print HomogeneousLocalization.val_injective /-
theorem val_injective : Function.Injective (@HomogeneousLocalization.val _ _ _ _ _ _ _ _ 𝒜 _ x) :=
fun a b => Quotient.recOnSubsingleton₂' a b fun a b h => Quotient.sound' h
#align homogeneous_localization.val_injective HomogeneousLocalization.val_injective
+-/
#print HomogeneousLocalization.hasPow /-
instance hasPow : Pow (HomogeneousLocalization 𝒜 x) ℕ
@@ -363,6 +410,7 @@ instance : SMul α (HomogeneousLocalization 𝒜 x)
simp only [num_smul, denom_smul]
convert congr_arg (fun z : at x => m • z) h <;> rw [Localization.smul_mk] <;> rfl
+#print HomogeneousLocalization.smul_val /-
@[simp]
theorem smul_val (y : HomogeneousLocalization 𝒜 x) (n : α) : (n • y).val = n • y.val :=
by
@@ -374,6 +422,7 @@ theorem smul_val (y : HomogeneousLocalization 𝒜 x) (n : α) : (n • y).val =
rw [Localization.smul_mk]
congr 1
#align homogeneous_localization.smul_val HomogeneousLocalization.smul_val
+-/
end SMul
@@ -411,24 +460,33 @@ instance : One (HomogeneousLocalization 𝒜 x) where one := Quotient.mk'' 1
instance : Zero (HomogeneousLocalization 𝒜 x) where zero := Quotient.mk'' 0
+#print HomogeneousLocalization.zero_eq /-
theorem zero_eq : (0 : HomogeneousLocalization 𝒜 x) = Quotient.mk'' 0 :=
rfl
#align homogeneous_localization.zero_eq HomogeneousLocalization.zero_eq
+-/
+#print HomogeneousLocalization.one_eq /-
theorem one_eq : (1 : HomogeneousLocalization 𝒜 x) = Quotient.mk'' 1 :=
rfl
#align homogeneous_localization.one_eq HomogeneousLocalization.one_eq
+-/
variable {x}
+#print HomogeneousLocalization.zero_val /-
theorem zero_val : (0 : HomogeneousLocalization 𝒜 x).val = 0 :=
Localization.mk_zero _
#align homogeneous_localization.zero_val HomogeneousLocalization.zero_val
+-/
+#print HomogeneousLocalization.one_val /-
theorem one_val : (1 : HomogeneousLocalization 𝒜 x).val = 1 :=
Localization.mk_one
#align homogeneous_localization.one_val HomogeneousLocalization.one_val
+-/
+#print HomogeneousLocalization.add_val /-
@[simp]
theorem add_val (y1 y2 : HomogeneousLocalization 𝒜 x) : (y1 + y2).val = y1.val + y2.val :=
by
@@ -441,7 +499,9 @@ theorem add_val (y1 y2 : HomogeneousLocalization 𝒜 x) : (y1 + y2).val = y1.va
rw [Localization.add_mk]
rfl
#align homogeneous_localization.add_val HomogeneousLocalization.add_val
+-/
+#print HomogeneousLocalization.mul_val /-
@[simp]
theorem mul_val (y1 y2 : HomogeneousLocalization 𝒜 x) : (y1 * y2).val = y1.val * y2.val :=
by
@@ -454,7 +514,9 @@ theorem mul_val (y1 y2 : HomogeneousLocalization 𝒜 x) : (y1 * y2).val = y1.va
rw [Localization.mk_mul]
rfl
#align homogeneous_localization.mul_val HomogeneousLocalization.mul_val
+-/
+#print HomogeneousLocalization.neg_val /-
@[simp]
theorem neg_val (y : HomogeneousLocalization 𝒜 x) : (-y).val = -y.val :=
by
@@ -466,12 +528,16 @@ theorem neg_val (y : HomogeneousLocalization 𝒜 x) : (-y).val = -y.val :=
rw [Localization.neg_mk]
rfl
#align homogeneous_localization.neg_val HomogeneousLocalization.neg_val
+-/
+#print HomogeneousLocalization.sub_val /-
@[simp]
theorem sub_val (y1 y2 : HomogeneousLocalization 𝒜 x) : (y1 - y2).val = y1.val - y2.val := by
rw [show y1 - y2 = y1 + -y2 from rfl, add_val, neg_val] <;> rfl
#align homogeneous_localization.sub_val HomogeneousLocalization.sub_val
+-/
+#print HomogeneousLocalization.pow_val /-
@[simp]
theorem pow_val (y : HomogeneousLocalization 𝒜 x) (n : ℕ) : (y ^ n).val = y.val ^ n :=
by
@@ -483,6 +549,7 @@ theorem pow_val (y : HomogeneousLocalization 𝒜 x) (n : ℕ) : (y ^ n).val = y
dsimp only
congr 1
#align homogeneous_localization.pow_val HomogeneousLocalization.pow_val
+-/
instance : NatCast (HomogeneousLocalization 𝒜 x) :=
⟨Nat.unaryCast⟩
@@ -490,15 +557,19 @@ instance : NatCast (HomogeneousLocalization 𝒜 x) :=
instance : IntCast (HomogeneousLocalization 𝒜 x) :=
⟨Int.castDef⟩
+#print HomogeneousLocalization.natCast_val /-
@[simp]
theorem natCast_val (n : ℕ) : (n : HomogeneousLocalization 𝒜 x).val = n :=
show val (Nat.unaryCast n) = _ by induction n <;> simp [Nat.unaryCast, zero_val, one_val, *]
#align homogeneous_localization.nat_cast_val HomogeneousLocalization.natCast_val
+-/
+#print HomogeneousLocalization.intCast_val /-
@[simp]
theorem intCast_val (n : ℤ) : (n : HomogeneousLocalization 𝒜 x).val = n :=
show val (Int.castDef n) = _ by cases n <;> simp [Int.castDef, zero_val, one_val, *]
#align homogeneous_localization.int_cast_val HomogeneousLocalization.intCast_val
+-/
#print HomogeneousLocalization.homogenousLocalizationCommRing /-
instance homogenousLocalizationCommRing : CommRing (HomogeneousLocalization 𝒜 x) :=
@@ -529,34 +600,47 @@ open HomogeneousLocalization HomogeneousLocalization.NumDenSameDeg
variable {𝒜} {x}
+#print HomogeneousLocalization.num /-
/-- numerator of an element in `homogeneous_localization x`-/
def num (f : HomogeneousLocalization 𝒜 x) : A :=
(Quotient.out' f).num
#align homogeneous_localization.num HomogeneousLocalization.num
+-/
+#print HomogeneousLocalization.den /-
/-- denominator of an element in `homogeneous_localization x`-/
def den (f : HomogeneousLocalization 𝒜 x) : A :=
(Quotient.out' f).den
#align homogeneous_localization.denom HomogeneousLocalization.den
+-/
+#print HomogeneousLocalization.deg /-
/-- For an element in `homogeneous_localization x`, degree is the natural number `i` such that
`𝒜 i` contains both numerator and denominator. -/
def deg (f : HomogeneousLocalization 𝒜 x) : ι :=
(Quotient.out' f).deg
#align homogeneous_localization.deg HomogeneousLocalization.deg
+-/
+#print HomogeneousLocalization.den_mem /-
theorem den_mem (f : HomogeneousLocalization 𝒜 x) : f.den ∈ x :=
(Quotient.out' f).denom_mem
#align homogeneous_localization.denom_mem HomogeneousLocalization.den_mem
+-/
+#print HomogeneousLocalization.num_mem_deg /-
theorem num_mem_deg (f : HomogeneousLocalization 𝒜 x) : f.num ∈ 𝒜 f.deg :=
(Quotient.out' f).num.2
#align homogeneous_localization.num_mem_deg HomogeneousLocalization.num_mem_deg
+-/
+#print HomogeneousLocalization.den_mem_deg /-
theorem den_mem_deg (f : HomogeneousLocalization 𝒜 x) : f.den ∈ 𝒜 f.deg :=
(Quotient.out' f).den.2
#align homogeneous_localization.denom_mem_deg HomogeneousLocalization.den_mem_deg
+-/
+#print HomogeneousLocalization.eq_num_div_den /-
theorem eq_num_div_den (f : HomogeneousLocalization 𝒜 x) :
f.val = Localization.mk f.num ⟨f.den, f.denom_mem⟩ :=
by
@@ -567,7 +651,9 @@ theorem eq_num_div_den (f : HomogeneousLocalization 𝒜 x) :
simp only [Quotient.liftOn'_mk'']
rfl
#align homogeneous_localization.eq_num_div_denom HomogeneousLocalization.eq_num_div_den
+-/
+#print HomogeneousLocalization.ext_iff_val /-
theorem ext_iff_val (f g : HomogeneousLocalization 𝒜 x) : f = g ↔ f.val = g.val :=
{ mp := fun h => h ▸ rfl
mpr := fun h => by
@@ -577,16 +663,20 @@ theorem ext_iff_val (f g : HomogeneousLocalization 𝒜 x) : f = g ↔ f.val = g
unfold HomogeneousLocalization.val at h
simpa only [Quotient.liftOn'_mk] using h }
#align homogeneous_localization.ext_iff_val HomogeneousLocalization.ext_iff_val
+-/
section
variable (𝒜) (𝔭 : Ideal A) [Ideal.IsPrime 𝔭]
+#print HomogeneousLocalization.AtPrime /-
/-- Localizing a ring homogeneously at a prime ideal-/
abbrev AtPrime :=
HomogeneousLocalization 𝒜 𝔭.primeCompl
#align homogeneous_localization.at_prime HomogeneousLocalization.AtPrime
+-/
+#print HomogeneousLocalization.isUnit_iff_isUnit_val /-
theorem isUnit_iff_isUnit_val (f : HomogeneousLocalization.AtPrime 𝒜 𝔭) : IsUnit f.val ↔ IsUnit f :=
⟨fun h1 => by
rcases h1 with ⟨⟨a, b, eq0, eq1⟩, eq2 : a = f.val⟩
@@ -624,6 +714,7 @@ theorem isUnit_iff_isUnit_val (f : HomogeneousLocalization.AtPrime 𝒜 𝔭) :
simp only [ext_iff_val, mul_val, one_val] at eq1 eq2
exact ⟨⟨f.val, b.val, eq1, eq2⟩, rfl⟩⟩
#align homogeneous_localization.is_unit_iff_is_unit_val HomogeneousLocalization.isUnit_iff_isUnit_val
+-/
instance : Nontrivial (HomogeneousLocalization.AtPrime 𝒜 𝔭) :=
⟨⟨0, 1, fun r => by simpa [ext_iff_val, zero_val, one_val, zero_ne_one] using r⟩⟩
@@ -657,10 +748,12 @@ section
variable (𝒜) (f : A)
+#print HomogeneousLocalization.Away /-
/-- Localising away from powers of `f` homogeneously.-/
abbrev Away :=
HomogeneousLocalization 𝒜 (Submonoid.powers f)
#align homogeneous_localization.away HomogeneousLocalization.Away
+-/
end
mathlib commit https://github.com/leanprover-community/mathlib/commit/5f25c089cb34db4db112556f23c50d12da81b297
@@ -561,7 +561,7 @@ theorem eq_num_div_den (f : HomogeneousLocalization 𝒜 x) :
f.val = Localization.mk f.num ⟨f.den, f.denom_mem⟩ :=
by
have := Quotient.out_eq' f
- apply_fun HomogeneousLocalization.val at this
+ apply_fun HomogeneousLocalization.val at this
rw [← this]
unfold HomogeneousLocalization.val
simp only [Quotient.liftOn'_mk'']
mathlib commit https://github.com/leanprover-community/mathlib/commit/cca40788df1b8755d5baf17ab2f27dacc2e17acb
@@ -561,7 +561,7 @@ theorem eq_num_div_den (f : HomogeneousLocalization 𝒜 x) :
f.val = Localization.mk f.num ⟨f.den, f.denom_mem⟩ :=
by
have := Quotient.out_eq' f
- apply_fun HomogeneousLocalization.val at this
+ apply_fun HomogeneousLocalization.val at this
rw [← this]
unfold HomogeneousLocalization.val
simp only [Quotient.liftOn'_mk'']
@@ -574,7 +574,7 @@ theorem ext_iff_val (f g : HomogeneousLocalization 𝒜 x) : f = g ↔ f.val = g
induction f using Quotient.inductionOn
induction g using Quotient.inductionOn
rw [Quotient.eq']
- unfold HomogeneousLocalization.val at h
+ unfold HomogeneousLocalization.val at h
simpa only [Quotient.liftOn'_mk] using h }
#align homogeneous_localization.ext_iff_val HomogeneousLocalization.ext_iff_val
@@ -590,21 +590,21 @@ abbrev AtPrime :=
theorem isUnit_iff_isUnit_val (f : HomogeneousLocalization.AtPrime 𝒜 𝔭) : IsUnit f.val ↔ IsUnit f :=
⟨fun h1 => by
rcases h1 with ⟨⟨a, b, eq0, eq1⟩, eq2 : a = f.val⟩
- rw [eq2] at eq0 eq1
+ rw [eq2] at eq0 eq1
clear a eq2
induction' b using Localization.induction_on with data
rcases data with ⟨a, ⟨b, hb⟩⟩
- dsimp only at eq0 eq1
+ dsimp only at eq0 eq1
have b_f_denom_not_mem : b * f.denom ∈ 𝔭.prime_compl := fun r =>
Or.elim (Ideal.IsPrime.mem_or_mem inferInstance r) (fun r2 => hb r2) fun r2 => f.denom_mem r2
rw [f.eq_num_div_denom, Localization.mk_mul,
show (⟨b, hb⟩ : 𝔭.prime_compl) * ⟨f.denom, _⟩ = ⟨b * f.denom, _⟩ from rfl,
show (1 : Localization.AtPrime 𝔭) = Localization.mk 1 1 by erw [Localization.mk_self 1],
- Localization.mk_eq_mk', IsLocalization.eq] at eq1
+ Localization.mk_eq_mk', IsLocalization.eq] at eq1
rcases eq1 with ⟨⟨c, hc⟩, eq1⟩
- simp only [← Subtype.val_eq_coe] at eq1
- change c * (1 * (a * f.num)) = _ at eq1
- simp only [one_mul, mul_one] at eq1
+ simp only [← Subtype.val_eq_coe] at eq1
+ change c * (1 * (a * f.num)) = _ at eq1
+ simp only [one_mul, mul_one] at eq1
have mem1 : c * (a * f.num) ∈ 𝔭.prime_compl :=
eq1.symm ▸ fun r => Or.elim (Ideal.IsPrime.mem_or_mem inferInstance r) (by tauto) (by tauto)
have mem2 : f.num ∉ 𝔭 := by
@@ -618,10 +618,10 @@ theorem isUnit_iff_isUnit_val (f : HomogeneousLocalization.AtPrime 𝒜 𝔭) :
simp only [ext_iff_val, mul_val, val_mk', ← Subtype.val_eq_coe, f.eq_num_div_denom,
Localization.mk_mul, one_val] <;>
convert Localization.mk_self _ <;>
- simpa only [mul_comm] ,
+ simpa only [mul_comm],
fun ⟨⟨_, b, eq1, eq2⟩, rfl⟩ =>
by
- simp only [ext_iff_val, mul_val, one_val] at eq1 eq2
+ simp only [ext_iff_val, mul_val, one_val] at eq1 eq2
exact ⟨⟨f.val, b.val, eq1, eq2⟩, rfl⟩⟩
#align homogeneous_localization.is_unit_iff_is_unit_val HomogeneousLocalization.isUnit_iff_isUnit_val
@@ -645,7 +645,7 @@ instance : LocalRing (HomogeneousLocalization.AtPrime 𝒜 𝔭) :=
simp only [← Subtype.val_eq_coe, Submonoid.coe_mul]
ring
· left
- change _ ∈ 𝔭.prime_compl at mem1
+ change _ ∈ 𝔭.prime_compl at mem1
apply isUnit_of_mul_eq_one _ (Localization.mk a.denom.1 ⟨a.num.1, mem1⟩)
rw [Localization.mk_mul]
convert Localization.mk_self _
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -71,7 +71,7 @@ circumvent this, we quotient `num_denom_same_deg 𝒜 x` by the kernel of `c ↦
noncomputable section
-open DirectSum BigOperators Pointwise
+open scoped DirectSum BigOperators Pointwise
open DirectSum SetLike
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -92,12 +92,6 @@ namespace HomogeneousLocalization
section
-/- warning: homogeneous_localization.num_denom_same_deg -> HomogeneousLocalization.NumDenSameDeg is a dubious translation:
-lean 3 declaration is
- forall {ι : Type.{u1}} {R : Type.{u2}} {A : Type.{u3}} [_inst_1 : AddCommMonoid.{u1} ι] [_inst_2 : DecidableEq.{succ u1} ι] [_inst_3 : CommRing.{u2} R] [_inst_4 : CommRing.{u3} A] [_inst_5 : Algebra.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4))] (𝒜 : ι -> (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) [_inst_6 : GradedAlgebra.{u1, u2, u3} ι R A (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u1} ι _inst_1) (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5 𝒜], (Submonoid.{u3} A (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4)))))) -> Sort.{max (succ u1) (succ u3)}
-but is expected to have type
- forall {ι : Type.{u1}} {R : Type.{u2}} {A : Type.{u3}} [_inst_1 : CommRing.{u2} R] [_inst_2 : CommRing.{u3} A] [_inst_3 : Algebra.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_2))], (ι -> (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_2))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_2)) _inst_3))) -> (Submonoid.{u3} A (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_2)))))) -> Sort.{max (succ u1) (succ u3)}
-Case conversion may be inaccurate. Consider using '#align homogeneous_localization.num_denom_same_deg HomogeneousLocalization.NumDenSameDegₓ'. -/
/--
Let `x` be a submonoid of `A`, then `num_denom_same_deg 𝒜 x` is a structure with a numerator and a
denominator with same grading such that the denominator is contained in `x`.
@@ -117,9 +111,6 @@ open SetLike.GradedMonoid Submodule
variable {𝒜}
-/- warning: homogeneous_localization.num_denom_same_deg.ext -> HomogeneousLocalization.NumDenSameDeg.ext is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align homogeneous_localization.num_denom_same_deg.ext HomogeneousLocalization.NumDenSameDeg.extₓ'. -/
@[ext]
theorem ext {c1 c2 : NumDenSameDeg 𝒜 x} (hdeg : c1.deg = c2.deg) (hnum : (c1.num : A) = c2.num)
(hdenom : (c1.den : A) = c2.den) : c1 = c2 :=
@@ -137,12 +128,6 @@ instance : One (NumDenSameDeg 𝒜 x)
den := ⟨1, one_mem⟩
denom_mem := Submonoid.one_mem _ }
-/- warning: homogeneous_localization.num_denom_same_deg.deg_one -> HomogeneousLocalization.NumDenSameDeg.deg_one is a dubious translation:
-lean 3 declaration is
- forall {ι : Type.{u1}} {R : Type.{u2}} {A : Type.{u3}} [_inst_1 : AddCommMonoid.{u1} ι] [_inst_2 : DecidableEq.{succ u1} ι] [_inst_3 : CommRing.{u2} R] [_inst_4 : CommRing.{u3} A] [_inst_5 : Algebra.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4))] {𝒜 : ι -> (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))} [_inst_6 : GradedAlgebra.{u1, u2, u3} ι R A (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u1} ι _inst_1) (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5 𝒜] (x : Submonoid.{u3} A (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4)))))), Eq.{succ u1} ι (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x (OfNat.ofNat.{max u1 u3} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) 1 (OfNat.mk.{max u1 u3} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) 1 (One.one.{max u1 u3} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.hasOne.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x))))) (OfNat.ofNat.{u1} ι 0 (OfNat.mk.{u1} ι 0 (Zero.zero.{u1} ι (AddZeroClass.toHasZero.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι (AddCommMonoid.toAddMonoid.{u1} ι _inst_1))))))
-but is expected to have type
- forall {ι : Type.{u3}} {R : Type.{u2}} {A : Type.{u1}} [_inst_1 : AddCommMonoid.{u3} ι] [_inst_2 : DecidableEq.{succ u3} ι] [_inst_3 : CommRing.{u2} R] [_inst_4 : CommRing.{u1} A] [_inst_5 : Algebra.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4))] {𝒜 : ι -> (Submodule.{u2, u1} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_4))))) (Algebra.toModule.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4)) _inst_5))} [_inst_6 : GradedAlgebra.{u3, u2, u1} ι R A (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u3} ι _inst_1) (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4)) _inst_5 𝒜] (x : Submonoid.{u1} A (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4)))))), Eq.{succ u3} ι (HomogeneousLocalization.NumDenSameDeg.deg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x (OfNat.ofNat.{max u3 u1} (HomogeneousLocalization.NumDenSameDeg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) 1 (One.toOfNat1.{max u3 u1} (HomogeneousLocalization.NumDenSameDeg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) (HomogeneousLocalization.NumDenSameDeg.instOneNumDenSameDeg.{u3, u2, u1} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x)))) (OfNat.ofNat.{u3} ι 0 (Zero.toOfNat0.{u3} ι (AddMonoid.toZero.{u3} ι (AddCommMonoid.toAddMonoid.{u3} ι _inst_1))))
-Case conversion may be inaccurate. Consider using '#align homogeneous_localization.num_denom_same_deg.deg_one HomogeneousLocalization.NumDenSameDeg.deg_oneₓ'. -/
@[simp]
theorem deg_one : (1 : NumDenSameDeg 𝒜 x).deg = 0 :=
rfl
@@ -164,12 +149,6 @@ theorem den_one : ((1 : NumDenSameDeg 𝒜 x).den : A) = 1 :=
instance : Zero (NumDenSameDeg 𝒜 x) where zero := ⟨0, 0, ⟨1, one_mem⟩, Submonoid.one_mem _⟩
-/- warning: homogeneous_localization.num_denom_same_deg.deg_zero -> HomogeneousLocalization.NumDenSameDeg.deg_zero is a dubious translation:
-lean 3 declaration is
- forall {ι : Type.{u1}} {R : Type.{u2}} {A : Type.{u3}} [_inst_1 : AddCommMonoid.{u1} ι] [_inst_2 : DecidableEq.{succ u1} ι] [_inst_3 : CommRing.{u2} R] [_inst_4 : CommRing.{u3} A] [_inst_5 : Algebra.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4))] {𝒜 : ι -> (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))} [_inst_6 : GradedAlgebra.{u1, u2, u3} ι R A (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u1} ι _inst_1) (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5 𝒜] (x : Submonoid.{u3} A (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4)))))), Eq.{succ u1} ι (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x (OfNat.ofNat.{max u1 u3} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) 0 (OfNat.mk.{max u1 u3} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) 0 (Zero.zero.{max u1 u3} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.hasZero.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x))))) (OfNat.ofNat.{u1} ι 0 (OfNat.mk.{u1} ι 0 (Zero.zero.{u1} ι (AddZeroClass.toHasZero.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι (AddCommMonoid.toAddMonoid.{u1} ι _inst_1))))))
-but is expected to have type
- forall {ι : Type.{u3}} {R : Type.{u2}} {A : Type.{u1}} [_inst_1 : AddCommMonoid.{u3} ι] [_inst_2 : DecidableEq.{succ u3} ι] [_inst_3 : CommRing.{u2} R] [_inst_4 : CommRing.{u1} A] [_inst_5 : Algebra.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4))] {𝒜 : ι -> (Submodule.{u2, u1} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_4))))) (Algebra.toModule.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4)) _inst_5))} [_inst_6 : GradedAlgebra.{u3, u2, u1} ι R A (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u3} ι _inst_1) (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4)) _inst_5 𝒜] (x : Submonoid.{u1} A (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4)))))), Eq.{succ u3} ι (HomogeneousLocalization.NumDenSameDeg.deg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x (OfNat.ofNat.{max u3 u1} (HomogeneousLocalization.NumDenSameDeg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) 0 (Zero.toOfNat0.{max u3 u1} (HomogeneousLocalization.NumDenSameDeg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) (HomogeneousLocalization.NumDenSameDeg.instZeroNumDenSameDeg.{u3, u2, u1} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x)))) (OfNat.ofNat.{u3} ι 0 (Zero.toOfNat0.{u3} ι (AddMonoid.toZero.{u3} ι (AddCommMonoid.toAddMonoid.{u3} ι _inst_1))))
-Case conversion may be inaccurate. Consider using '#align homogeneous_localization.num_denom_same_deg.deg_zero HomogeneousLocalization.NumDenSameDeg.deg_zeroₓ'. -/
@[simp]
theorem deg_zero : (0 : NumDenSameDeg 𝒜 x).deg = 0 :=
rfl
@@ -196,25 +175,16 @@ instance : Mul (NumDenSameDeg 𝒜 x)
den := ⟨p.den * q.den, mul_mem p.den.Prop q.den.Prop⟩
denom_mem := Submonoid.mul_mem _ p.denom_mem q.denom_mem }
-/- warning: homogeneous_localization.num_denom_same_deg.deg_mul -> HomogeneousLocalization.NumDenSameDeg.deg_mul is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align homogeneous_localization.num_denom_same_deg.deg_mul HomogeneousLocalization.NumDenSameDeg.deg_mulₓ'. -/
@[simp]
theorem deg_mul (c1 c2 : NumDenSameDeg 𝒜 x) : (c1 * c2).deg = c1.deg + c2.deg :=
rfl
#align homogeneous_localization.num_denom_same_deg.deg_mul HomogeneousLocalization.NumDenSameDeg.deg_mul
-/- warning: homogeneous_localization.num_denom_same_deg.num_mul -> HomogeneousLocalization.NumDenSameDeg.num_mul is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align homogeneous_localization.num_denom_same_deg.num_mul HomogeneousLocalization.NumDenSameDeg.num_mulₓ'. -/
@[simp]
theorem num_mul (c1 c2 : NumDenSameDeg 𝒜 x) : ((c1 * c2).num : A) = c1.num * c2.num :=
rfl
#align homogeneous_localization.num_denom_same_deg.num_mul HomogeneousLocalization.NumDenSameDeg.num_mul
-/- warning: homogeneous_localization.num_denom_same_deg.denom_mul -> HomogeneousLocalization.NumDenSameDeg.den_mul is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align homogeneous_localization.num_denom_same_deg.denom_mul HomogeneousLocalization.NumDenSameDeg.den_mulₓ'. -/
@[simp]
theorem den_mul (c1 c2 : NumDenSameDeg 𝒜 x) : ((c1 * c2).den : A) = c1.den * c2.den :=
rfl
@@ -229,26 +199,17 @@ instance : Add (NumDenSameDeg 𝒜 x)
den := ⟨c1.den * c2.den, mul_mem c1.den.2 c2.den.2⟩
denom_mem := Submonoid.mul_mem _ c1.denom_mem c2.denom_mem }
-/- warning: homogeneous_localization.num_denom_same_deg.deg_add -> HomogeneousLocalization.NumDenSameDeg.deg_add is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align homogeneous_localization.num_denom_same_deg.deg_add HomogeneousLocalization.NumDenSameDeg.deg_addₓ'. -/
@[simp]
theorem deg_add (c1 c2 : NumDenSameDeg 𝒜 x) : (c1 + c2).deg = c1.deg + c2.deg :=
rfl
#align homogeneous_localization.num_denom_same_deg.deg_add HomogeneousLocalization.NumDenSameDeg.deg_add
-/- warning: homogeneous_localization.num_denom_same_deg.num_add -> HomogeneousLocalization.NumDenSameDeg.num_add is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align homogeneous_localization.num_denom_same_deg.num_add HomogeneousLocalization.NumDenSameDeg.num_addₓ'. -/
@[simp]
theorem num_add (c1 c2 : NumDenSameDeg 𝒜 x) :
((c1 + c2).num : A) = c1.den * c2.num + c2.den * c1.num :=
rfl
#align homogeneous_localization.num_denom_same_deg.num_add HomogeneousLocalization.NumDenSameDeg.num_add
-/- warning: homogeneous_localization.num_denom_same_deg.denom_add -> HomogeneousLocalization.NumDenSameDeg.den_add is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align homogeneous_localization.num_denom_same_deg.denom_add HomogeneousLocalization.NumDenSameDeg.den_addₓ'. -/
@[simp]
theorem den_add (c1 c2 : NumDenSameDeg 𝒜 x) : ((c1 + c2).den : A) = c1.den * c2.den :=
rfl
@@ -257,28 +218,16 @@ theorem den_add (c1 c2 : NumDenSameDeg 𝒜 x) : ((c1 + c2).den : A) = c1.den *
instance : Neg (NumDenSameDeg 𝒜 x)
where neg c := ⟨c.deg, ⟨-c.num, neg_mem c.num.2⟩, c.den, c.denom_mem⟩
-/- warning: homogeneous_localization.num_denom_same_deg.deg_neg -> HomogeneousLocalization.NumDenSameDeg.deg_neg is a dubious translation:
-lean 3 declaration is
- forall {ι : Type.{u1}} {R : Type.{u2}} {A : Type.{u3}} [_inst_1 : AddCommMonoid.{u1} ι] [_inst_2 : DecidableEq.{succ u1} ι] [_inst_3 : CommRing.{u2} R] [_inst_4 : CommRing.{u3} A] [_inst_5 : Algebra.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4))] {𝒜 : ι -> (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))} [_inst_6 : GradedAlgebra.{u1, u2, u3} ι R A (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u1} ι _inst_1) (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5 𝒜] (x : Submonoid.{u3} A (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4)))))) (c : HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x), Eq.{succ u1} ι (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x (Neg.neg.{max u1 u3} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.hasNeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) c)) (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c)
-but is expected to have type
- forall {ι : Type.{u3}} {R : Type.{u2}} {A : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : CommRing.{u1} A] [_inst_3 : Algebra.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2))] {_inst_4 : ι -> (Submodule.{u2, u1} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3))} (_inst_5 : Submonoid.{u1} A (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)))))) (𝒜 : HomogeneousLocalization.NumDenSameDeg.{u3, u2, u1} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5), Eq.{succ u3} ι (HomogeneousLocalization.NumDenSameDeg.deg.{u3, u2, u1} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 (Neg.neg.{max u3 u1} (HomogeneousLocalization.NumDenSameDeg.{u3, u2, u1} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5) (HomogeneousLocalization.NumDenSameDeg.instNegNumDenSameDeg.{u3, u2, u1} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5) 𝒜)) (HomogeneousLocalization.NumDenSameDeg.deg.{u3, u2, u1} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 𝒜)
-Case conversion may be inaccurate. Consider using '#align homogeneous_localization.num_denom_same_deg.deg_neg HomogeneousLocalization.NumDenSameDeg.deg_negₓ'. -/
@[simp]
theorem deg_neg (c : NumDenSameDeg 𝒜 x) : (-c).deg = c.deg :=
rfl
#align homogeneous_localization.num_denom_same_deg.deg_neg HomogeneousLocalization.NumDenSameDeg.deg_neg
-/- warning: homogeneous_localization.num_denom_same_deg.num_neg -> HomogeneousLocalization.NumDenSameDeg.num_neg is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align homogeneous_localization.num_denom_same_deg.num_neg HomogeneousLocalization.NumDenSameDeg.num_negₓ'. -/
@[simp]
theorem num_neg (c : NumDenSameDeg 𝒜 x) : ((-c).num : A) = -c.num :=
rfl
#align homogeneous_localization.num_denom_same_deg.num_neg HomogeneousLocalization.NumDenSameDeg.num_neg
-/- warning: homogeneous_localization.num_denom_same_deg.denom_neg -> HomogeneousLocalization.NumDenSameDeg.den_neg is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align homogeneous_localization.num_denom_same_deg.denom_neg HomogeneousLocalization.NumDenSameDeg.den_negₓ'. -/
@[simp]
theorem den_neg (c : NumDenSameDeg 𝒜 x) : ((-c).den : A) = c.den :=
rfl
@@ -301,25 +250,16 @@ instance : Pow (NumDenSameDeg 𝒜 x) ℕ
· simpa only [coe_gnpow, pow_zero] using Submonoid.one_mem _
· simpa only [pow_succ', coe_gnpow] using x.mul_mem ih c.denom_mem⟩
-/- warning: homogeneous_localization.num_denom_same_deg.deg_pow -> HomogeneousLocalization.NumDenSameDeg.deg_pow is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align homogeneous_localization.num_denom_same_deg.deg_pow HomogeneousLocalization.NumDenSameDeg.deg_powₓ'. -/
@[simp]
theorem deg_pow (c : NumDenSameDeg 𝒜 x) (n : ℕ) : (c ^ n).deg = n • c.deg :=
rfl
#align homogeneous_localization.num_denom_same_deg.deg_pow HomogeneousLocalization.NumDenSameDeg.deg_pow
-/- warning: homogeneous_localization.num_denom_same_deg.num_pow -> HomogeneousLocalization.NumDenSameDeg.num_pow is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align homogeneous_localization.num_denom_same_deg.num_pow HomogeneousLocalization.NumDenSameDeg.num_powₓ'. -/
@[simp]
theorem num_pow (c : NumDenSameDeg 𝒜 x) (n : ℕ) : ((c ^ n).num : A) = c.num ^ n :=
rfl
#align homogeneous_localization.num_denom_same_deg.num_pow HomogeneousLocalization.NumDenSameDeg.num_pow
-/- warning: homogeneous_localization.num_denom_same_deg.denom_pow -> HomogeneousLocalization.NumDenSameDeg.den_pow is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align homogeneous_localization.num_denom_same_deg.denom_pow HomogeneousLocalization.NumDenSameDeg.den_powₓ'. -/
@[simp]
theorem den_pow (c : NumDenSameDeg 𝒜 x) (n : ℕ) : ((c ^ n).den : A) = c.den ^ n :=
rfl
@@ -331,25 +271,16 @@ variable {α : Type _} [SMul α R] [SMul α A] [IsScalarTower α R A]
instance : SMul α (NumDenSameDeg 𝒜 x) where smul m c := ⟨c.deg, m • c.num, c.den, c.denom_mem⟩
-/- warning: homogeneous_localization.num_denom_same_deg.deg_smul -> HomogeneousLocalization.NumDenSameDeg.deg_smul is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align homogeneous_localization.num_denom_same_deg.deg_smul HomogeneousLocalization.NumDenSameDeg.deg_smulₓ'. -/
@[simp]
theorem deg_smul (c : NumDenSameDeg 𝒜 x) (m : α) : (m • c).deg = c.deg :=
rfl
#align homogeneous_localization.num_denom_same_deg.deg_smul HomogeneousLocalization.NumDenSameDeg.deg_smul
-/- warning: homogeneous_localization.num_denom_same_deg.num_smul -> HomogeneousLocalization.NumDenSameDeg.num_smul is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align homogeneous_localization.num_denom_same_deg.num_smul HomogeneousLocalization.NumDenSameDeg.num_smulₓ'. -/
@[simp]
theorem num_smul (c : NumDenSameDeg 𝒜 x) (m : α) : ((m • c).num : A) = m • c.num :=
rfl
#align homogeneous_localization.num_denom_same_deg.num_smul HomogeneousLocalization.NumDenSameDeg.num_smul
-/- warning: homogeneous_localization.num_denom_same_deg.denom_smul -> HomogeneousLocalization.NumDenSameDeg.den_smul is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align homogeneous_localization.num_denom_same_deg.denom_smul HomogeneousLocalization.NumDenSameDeg.den_smulₓ'. -/
@[simp]
theorem den_smul (c : NumDenSameDeg 𝒜 x) (m : α) : ((m • c).den : A) = c.den :=
rfl
@@ -359,12 +290,6 @@ end SMul
variable (𝒜)
-/- warning: homogeneous_localization.num_denom_same_deg.embedding -> HomogeneousLocalization.NumDenSameDeg.embedding is a dubious translation:
-lean 3 declaration is
- forall {ι : Type.{u1}} {R : Type.{u2}} {A : Type.{u3}} [_inst_1 : AddCommMonoid.{u1} ι] [_inst_2 : DecidableEq.{succ u1} ι] [_inst_3 : CommRing.{u2} R] [_inst_4 : CommRing.{u3} A] [_inst_5 : Algebra.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4))] (𝒜 : ι -> (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) [_inst_6 : GradedAlgebra.{u1, u2, u3} ι R A (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u1} ι _inst_1) (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5 𝒜] (x : Submonoid.{u3} A (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4)))))), (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) -> (Localization.{u3} A (CommRing.toCommMonoid.{u3} A _inst_4) x)
-but is expected to have type
- forall {ι : Type.{u1}} {R : Type.{u2}} {A : Type.{u3}} [_inst_1 : CommRing.{u2} R] [_inst_2 : CommRing.{u3} A] [_inst_3 : Algebra.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_2))] (_inst_4 : ι -> (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_2))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_2)) _inst_3))) (_inst_5 : Submonoid.{u3} A (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_2)))))), (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5) -> (Localization.{u3} A (CommRing.toCommMonoid.{u3} A _inst_2) _inst_5)
-Case conversion may be inaccurate. Consider using '#align homogeneous_localization.num_denom_same_deg.embedding HomogeneousLocalization.NumDenSameDeg.embeddingₓ'. -/
/-- For `x : prime ideal of A` and any `p : num_denom_same_deg 𝒜 x`, or equivalent a numerator and a
denominator of the same degree, we get an element `p.num / p.denom` of `Aₓ`.
-/
@@ -376,12 +301,6 @@ end NumDenomSameDeg
end HomogeneousLocalization
-/- warning: homogeneous_localization -> HomogeneousLocalization is a dubious translation:
-lean 3 declaration is
- forall {ι : Type.{u1}} {R : Type.{u2}} {A : Type.{u3}} [_inst_1 : AddCommMonoid.{u1} ι] [_inst_2 : DecidableEq.{succ u1} ι] [_inst_3 : CommRing.{u2} R] [_inst_4 : CommRing.{u3} A] [_inst_5 : Algebra.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4))] (𝒜 : ι -> (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) [_inst_6 : GradedAlgebra.{u1, u2, u3} ι R A (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u1} ι _inst_1) (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5 𝒜], (Submonoid.{u3} A (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4)))))) -> Type.{max u1 u3}
-but is expected to have type
- forall {ι : Type.{u1}} {R : Type.{u2}} {A : Type.{u3}} [_inst_1 : CommRing.{u2} R] [_inst_2 : CommRing.{u3} A] [_inst_3 : Algebra.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_2))], (ι -> (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_2))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_2)) _inst_3))) -> (Submonoid.{u3} A (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_2)))))) -> Type.{max u1 u3}
-Case conversion may be inaccurate. Consider using '#align homogeneous_localization HomogeneousLocalizationₓ'. -/
/--
For `x : prime ideal of A`, `homogeneous_localization 𝒜 x` is `num_denom_same_deg 𝒜 x` modulo the
kernel of `embedding 𝒜 x`. This is essentially the subring of `Aₓ` where the numerator and
@@ -398,12 +317,6 @@ open HomogeneousLocalization HomogeneousLocalization.NumDenSameDeg
variable {𝒜} {x}
-/- warning: homogeneous_localization.val -> HomogeneousLocalization.val is a dubious translation:
-lean 3 declaration is
- forall {ι : Type.{u1}} {R : Type.{u2}} {A : Type.{u3}} [_inst_1 : AddCommMonoid.{u1} ι] [_inst_2 : DecidableEq.{succ u1} ι] [_inst_3 : CommRing.{u2} R] [_inst_4 : CommRing.{u3} A] [_inst_5 : Algebra.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4))] {𝒜 : ι -> (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))} [_inst_6 : GradedAlgebra.{u1, u2, u3} ι R A (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u1} ι _inst_1) (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5 𝒜] {x : Submonoid.{u3} A (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4)))))}, (HomogeneousLocalization.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) -> (Localization.{u3} A (CommRing.toCommMonoid.{u3} A _inst_4) x)
-but is expected to have type
- forall {ι : Type.{u1}} {R : Type.{u2}} {A : Type.{u3}} [_inst_1 : CommRing.{u2} R] [_inst_2 : CommRing.{u3} A] [_inst_3 : Algebra.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_2))] {_inst_4 : ι -> (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_2))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_2)) _inst_3))} {_inst_5 : Submonoid.{u3} A (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_2)))))}, (HomogeneousLocalization.{u1, u2, u3} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5) -> (Localization.{u3} A (CommRing.toCommMonoid.{u3} A _inst_2) _inst_5)
-Case conversion may be inaccurate. Consider using '#align homogeneous_localization.val HomogeneousLocalization.valₓ'. -/
/-- View an element of `homogeneous_localization 𝒜 x` as an element of `Aₓ` by forgetting that the
numerator and denominator are of the same grading.
-/
@@ -411,9 +324,6 @@ def val (y : HomogeneousLocalization 𝒜 x) : at x :=
Quotient.liftOn' y (NumDenSameDeg.embedding 𝒜 x) fun _ _ => id
#align homogeneous_localization.val HomogeneousLocalization.val
-/- warning: homogeneous_localization.val_mk' -> HomogeneousLocalization.val_mk'' is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align homogeneous_localization.val_mk' HomogeneousLocalization.val_mk''ₓ'. -/
@[simp]
theorem val_mk'' (i : NumDenSameDeg 𝒜 x) :
val (Quotient.mk'' i) = Localization.mk i.num ⟨i.den, i.denom_mem⟩ :=
@@ -422,12 +332,6 @@ theorem val_mk'' (i : NumDenSameDeg 𝒜 x) :
variable (x)
-/- warning: homogeneous_localization.val_injective -> HomogeneousLocalization.val_injective is a dubious translation:
-lean 3 declaration is
- forall {ι : Type.{u1}} {R : Type.{u2}} {A : Type.{u3}} [_inst_1 : AddCommMonoid.{u1} ι] [_inst_2 : DecidableEq.{succ u1} ι] [_inst_3 : CommRing.{u2} R] [_inst_4 : CommRing.{u3} A] [_inst_5 : Algebra.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4))] {𝒜 : ι -> (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))} [_inst_6 : GradedAlgebra.{u1, u2, u3} ι R A (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u1} ι _inst_1) (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5 𝒜] (x : Submonoid.{u3} A (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4)))))), Function.Injective.{succ (max u1 u3), succ u3} (HomogeneousLocalization.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (Localization.{u3} A (CommRing.toCommMonoid.{u3} A _inst_4) x) (HomogeneousLocalization.val.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x)
-but is expected to have type
- forall {ι : Type.{u3}} {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))] {_inst_4 : ι -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3))} (_inst_5 : Submonoid.{u2} A (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)))))), Function.Injective.{max (succ u3) (succ u2), succ u2} (HomogeneousLocalization.{u3, u1, u2} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5) (Localization.{u2} A (CommRing.toCommMonoid.{u2} A _inst_2) _inst_5) (HomogeneousLocalization.val.{u3, u1, u2} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5)
-Case conversion may be inaccurate. Consider using '#align homogeneous_localization.val_injective HomogeneousLocalization.val_injectiveₓ'. -/
theorem val_injective : Function.Injective (@HomogeneousLocalization.val _ _ _ _ _ _ _ _ 𝒜 _ x) :=
fun a b => Quotient.recOnSubsingleton₂' a b fun a b h => Quotient.sound' h
#align homogeneous_localization.val_injective HomogeneousLocalization.val_injective
@@ -459,9 +363,6 @@ instance : SMul α (HomogeneousLocalization 𝒜 x)
simp only [num_smul, denom_smul]
convert congr_arg (fun z : at x => m • z) h <;> rw [Localization.smul_mk] <;> rfl
-/- warning: homogeneous_localization.smul_val -> HomogeneousLocalization.smul_val is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align homogeneous_localization.smul_val HomogeneousLocalization.smul_valₓ'. -/
@[simp]
theorem smul_val (y : HomogeneousLocalization 𝒜 x) (n : α) : (n • y).val = n • y.val :=
by
@@ -510,45 +411,24 @@ instance : One (HomogeneousLocalization 𝒜 x) where one := Quotient.mk'' 1
instance : Zero (HomogeneousLocalization 𝒜 x) where zero := Quotient.mk'' 0
-/- warning: homogeneous_localization.zero_eq -> HomogeneousLocalization.zero_eq is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align homogeneous_localization.zero_eq HomogeneousLocalization.zero_eqₓ'. -/
theorem zero_eq : (0 : HomogeneousLocalization 𝒜 x) = Quotient.mk'' 0 :=
rfl
#align homogeneous_localization.zero_eq HomogeneousLocalization.zero_eq
-/- warning: homogeneous_localization.one_eq -> HomogeneousLocalization.one_eq is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align homogeneous_localization.one_eq HomogeneousLocalization.one_eqₓ'. -/
theorem one_eq : (1 : HomogeneousLocalization 𝒜 x) = Quotient.mk'' 1 :=
rfl
#align homogeneous_localization.one_eq HomogeneousLocalization.one_eq
variable {x}
-/- warning: homogeneous_localization.zero_val -> HomogeneousLocalization.zero_val is a dubious translation:
-lean 3 declaration is
- forall {ι : Type.{u1}} {R : Type.{u2}} {A : Type.{u3}} [_inst_1 : AddCommMonoid.{u1} ι] [_inst_2 : DecidableEq.{succ u1} ι] [_inst_3 : CommRing.{u2} R] [_inst_4 : CommRing.{u3} A] [_inst_5 : Algebra.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4))] {𝒜 : ι -> (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))} [_inst_6 : GradedAlgebra.{u1, u2, u3} ι R A (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u1} ι _inst_1) (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5 𝒜] {x : Submonoid.{u3} A (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4)))))}, Eq.{succ u3} (Localization.{u3} A (CommRing.toCommMonoid.{u3} A _inst_4) x) (HomogeneousLocalization.val.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x (OfNat.ofNat.{max u1 u3} (HomogeneousLocalization.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) 0 (OfNat.mk.{max u1 u3} (HomogeneousLocalization.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) 0 (Zero.zero.{max u1 u3} (HomogeneousLocalization.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.hasZero.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x))))) (OfNat.ofNat.{u3} (Localization.{u3} A (CommRing.toCommMonoid.{u3} A _inst_4) x) 0 (OfNat.mk.{u3} (Localization.{u3} A (CommRing.toCommMonoid.{u3} A _inst_4) x) 0 (Zero.zero.{u3} (Localization.{u3} A (CommRing.toCommMonoid.{u3} A _inst_4) x) (Localization.hasZero.{u3} A (CommSemiring.toCommMonoidWithZero.{u3} A (CommRing.toCommSemiring.{u3} A _inst_4)) x))))
-but is expected to have type
- forall {ι : Type.{u2}} {R : Type.{u1}} {A : Type.{u3}} [_inst_1 : AddCommMonoid.{u2} ι] [_inst_2 : DecidableEq.{succ u2} ι] [_inst_3 : CommRing.{u1} R] [_inst_4 : CommRing.{u3} A] [_inst_5 : Algebra.{u1, u3} R A (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_4))] {𝒜 : ι -> (Submodule.{u1, u3} R A (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u1, u3} R A (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_4)) _inst_5))} [_inst_6 : GradedAlgebra.{u2, u1, u3} ι R A (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u2} ι _inst_1) (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_4)) _inst_5 𝒜] {x : Submonoid.{u3} A (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_4)))))}, Eq.{succ u3} (Localization.{u3} A (CommRing.toCommMonoid.{u3} A _inst_4) x) (HomogeneousLocalization.val.{u2, u1, u3} ι R A _inst_3 _inst_4 _inst_5 𝒜 x (OfNat.ofNat.{max u2 u3} (HomogeneousLocalization.{u2, u1, u3} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) 0 (Zero.toOfNat0.{max u2 u3} (HomogeneousLocalization.{u2, u1, u3} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) (HomogeneousLocalization.instZeroHomogeneousLocalization.{u2, u1, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x)))) (OfNat.ofNat.{u3} (Localization.{u3} A (CommRing.toCommMonoid.{u3} A _inst_4) x) 0 (Zero.toOfNat0.{u3} (Localization.{u3} A (CommRing.toCommMonoid.{u3} A _inst_4) x) (Localization.instZeroLocalizationToCommMonoid.{u3} A (CommSemiring.toCommMonoidWithZero.{u3} A (CommRing.toCommSemiring.{u3} A _inst_4)) x)))
-Case conversion may be inaccurate. Consider using '#align homogeneous_localization.zero_val HomogeneousLocalization.zero_valₓ'. -/
theorem zero_val : (0 : HomogeneousLocalization 𝒜 x).val = 0 :=
Localization.mk_zero _
#align homogeneous_localization.zero_val HomogeneousLocalization.zero_val
-/- warning: homogeneous_localization.one_val -> HomogeneousLocalization.one_val is a dubious translation:
-lean 3 declaration is
- forall {ι : Type.{u1}} {R : Type.{u2}} {A : Type.{u3}} [_inst_1 : AddCommMonoid.{u1} ι] [_inst_2 : DecidableEq.{succ u1} ι] [_inst_3 : CommRing.{u2} R] [_inst_4 : CommRing.{u3} A] [_inst_5 : Algebra.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4))] {𝒜 : ι -> (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))} [_inst_6 : GradedAlgebra.{u1, u2, u3} ι R A (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u1} ι _inst_1) (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5 𝒜] {x : Submonoid.{u3} A (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4)))))}, Eq.{succ u3} (Localization.{u3} A (CommRing.toCommMonoid.{u3} A _inst_4) x) (HomogeneousLocalization.val.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x (OfNat.ofNat.{max u1 u3} (HomogeneousLocalization.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) 1 (OfNat.mk.{max u1 u3} (HomogeneousLocalization.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) 1 (One.one.{max u1 u3} (HomogeneousLocalization.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.hasOne.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x))))) (OfNat.ofNat.{u3} (Localization.{u3} A (CommRing.toCommMonoid.{u3} A _inst_4) x) 1 (OfNat.mk.{u3} (Localization.{u3} A (CommRing.toCommMonoid.{u3} A _inst_4) x) 1 (One.one.{u3} (Localization.{u3} A (CommRing.toCommMonoid.{u3} A _inst_4) x) (Localization.hasOne.{u3} A (CommRing.toCommMonoid.{u3} A _inst_4) x))))
-but is expected to have type
- forall {ι : Type.{u2}} {R : Type.{u1}} {A : Type.{u3}} [_inst_1 : AddCommMonoid.{u2} ι] [_inst_2 : DecidableEq.{succ u2} ι] [_inst_3 : CommRing.{u1} R] [_inst_4 : CommRing.{u3} A] [_inst_5 : Algebra.{u1, u3} R A (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_4))] {𝒜 : ι -> (Submodule.{u1, u3} R A (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u1, u3} R A (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_4)) _inst_5))} [_inst_6 : GradedAlgebra.{u2, u1, u3} ι R A (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u2} ι _inst_1) (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_4)) _inst_5 𝒜] {x : Submonoid.{u3} A (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_4)))))}, Eq.{succ u3} (Localization.{u3} A (CommRing.toCommMonoid.{u3} A _inst_4) x) (HomogeneousLocalization.val.{u2, u1, u3} ι R A _inst_3 _inst_4 _inst_5 𝒜 x (OfNat.ofNat.{max u2 u3} (HomogeneousLocalization.{u2, u1, u3} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) 1 (One.toOfNat1.{max u2 u3} (HomogeneousLocalization.{u2, u1, u3} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) (HomogeneousLocalization.instOneHomogeneousLocalization.{u2, u1, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x)))) (OfNat.ofNat.{u3} (Localization.{u3} A (CommRing.toCommMonoid.{u3} A _inst_4) x) 1 (One.toOfNat1.{u3} (Localization.{u3} A (CommRing.toCommMonoid.{u3} A _inst_4) x) (Localization.instOneLocalization.{u3} A (CommRing.toCommMonoid.{u3} A _inst_4) x)))
-Case conversion may be inaccurate. Consider using '#align homogeneous_localization.one_val HomogeneousLocalization.one_valₓ'. -/
theorem one_val : (1 : HomogeneousLocalization 𝒜 x).val = 1 :=
Localization.mk_one
#align homogeneous_localization.one_val HomogeneousLocalization.one_val
-/- warning: homogeneous_localization.add_val -> HomogeneousLocalization.add_val is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align homogeneous_localization.add_val HomogeneousLocalization.add_valₓ'. -/
@[simp]
theorem add_val (y1 y2 : HomogeneousLocalization 𝒜 x) : (y1 + y2).val = y1.val + y2.val :=
by
@@ -562,9 +442,6 @@ theorem add_val (y1 y2 : HomogeneousLocalization 𝒜 x) : (y1 + y2).val = y1.va
rfl
#align homogeneous_localization.add_val HomogeneousLocalization.add_val
-/- warning: homogeneous_localization.mul_val -> HomogeneousLocalization.mul_val is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align homogeneous_localization.mul_val HomogeneousLocalization.mul_valₓ'. -/
@[simp]
theorem mul_val (y1 y2 : HomogeneousLocalization 𝒜 x) : (y1 * y2).val = y1.val * y2.val :=
by
@@ -578,12 +455,6 @@ theorem mul_val (y1 y2 : HomogeneousLocalization 𝒜 x) : (y1 * y2).val = y1.va
rfl
#align homogeneous_localization.mul_val HomogeneousLocalization.mul_val
-/- warning: homogeneous_localization.neg_val -> HomogeneousLocalization.neg_val is a dubious translation:
-lean 3 declaration is
- forall {ι : Type.{u1}} {R : Type.{u2}} {A : Type.{u3}} [_inst_1 : AddCommMonoid.{u1} ι] [_inst_2 : DecidableEq.{succ u1} ι] [_inst_3 : CommRing.{u2} R] [_inst_4 : CommRing.{u3} A] [_inst_5 : Algebra.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4))] {𝒜 : ι -> (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))} [_inst_6 : GradedAlgebra.{u1, u2, u3} ι R A (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u1} ι _inst_1) (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5 𝒜] {x : Submonoid.{u3} A (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4)))))} (y : HomogeneousLocalization.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x), Eq.{succ u3} (Localization.{u3} A (CommRing.toCommMonoid.{u3} A _inst_4) x) (HomogeneousLocalization.val.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x (Neg.neg.{max u1 u3} (HomogeneousLocalization.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.hasNeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) y)) (Neg.neg.{u3} (Localization.{u3} A (CommRing.toCommMonoid.{u3} A _inst_4) x) (Localization.hasNeg.{u3} A _inst_4 x) (HomogeneousLocalization.val.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x y))
-but is expected to have type
- forall {ι : Type.{u3}} {R : Type.{u2}} {A : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : CommRing.{u1} A] [_inst_3 : Algebra.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2))] {_inst_4 : ι -> (Submodule.{u2, u1} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3))} {_inst_5 : Submonoid.{u1} A (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)))))} (𝒜 : HomogeneousLocalization.{u3, u2, u1} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5), Eq.{succ u1} (Localization.{u1} A (CommRing.toCommMonoid.{u1} A _inst_2) _inst_5) (HomogeneousLocalization.val.{u3, u2, u1} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 (Neg.neg.{max u3 u1} (HomogeneousLocalization.{u3, u2, u1} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5) (HomogeneousLocalization.instNegHomogeneousLocalization.{u3, u2, u1} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5) 𝒜)) (Neg.neg.{u1} (Localization.{u1} A (CommRing.toCommMonoid.{u1} A _inst_2) _inst_5) (Localization.instNegLocalizationToCommMonoid.{u1} A _inst_2 _inst_5) (HomogeneousLocalization.val.{u3, u2, u1} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 𝒜))
-Case conversion may be inaccurate. Consider using '#align homogeneous_localization.neg_val HomogeneousLocalization.neg_valₓ'. -/
@[simp]
theorem neg_val (y : HomogeneousLocalization 𝒜 x) : (-y).val = -y.val :=
by
@@ -596,17 +467,11 @@ theorem neg_val (y : HomogeneousLocalization 𝒜 x) : (-y).val = -y.val :=
rfl
#align homogeneous_localization.neg_val HomogeneousLocalization.neg_val
-/- warning: homogeneous_localization.sub_val -> HomogeneousLocalization.sub_val is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align homogeneous_localization.sub_val HomogeneousLocalization.sub_valₓ'. -/
@[simp]
theorem sub_val (y1 y2 : HomogeneousLocalization 𝒜 x) : (y1 - y2).val = y1.val - y2.val := by
rw [show y1 - y2 = y1 + -y2 from rfl, add_val, neg_val] <;> rfl
#align homogeneous_localization.sub_val HomogeneousLocalization.sub_val
-/- warning: homogeneous_localization.pow_val -> HomogeneousLocalization.pow_val is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align homogeneous_localization.pow_val HomogeneousLocalization.pow_valₓ'. -/
@[simp]
theorem pow_val (y : HomogeneousLocalization 𝒜 x) (n : ℕ) : (y ^ n).val = y.val ^ n :=
by
@@ -625,17 +490,11 @@ instance : NatCast (HomogeneousLocalization 𝒜 x) :=
instance : IntCast (HomogeneousLocalization 𝒜 x) :=
⟨Int.castDef⟩
-/- warning: homogeneous_localization.nat_cast_val -> HomogeneousLocalization.natCast_val is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align homogeneous_localization.nat_cast_val HomogeneousLocalization.natCast_valₓ'. -/
@[simp]
theorem natCast_val (n : ℕ) : (n : HomogeneousLocalization 𝒜 x).val = n :=
show val (Nat.unaryCast n) = _ by induction n <;> simp [Nat.unaryCast, zero_val, one_val, *]
#align homogeneous_localization.nat_cast_val HomogeneousLocalization.natCast_val
-/- warning: homogeneous_localization.int_cast_val -> HomogeneousLocalization.intCast_val is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align homogeneous_localization.int_cast_val HomogeneousLocalization.intCast_valₓ'. -/
@[simp]
theorem intCast_val (n : ℤ) : (n : HomogeneousLocalization 𝒜 x).val = n :=
show val (Int.castDef n) = _ by cases n <;> simp [Int.castDef, zero_val, one_val, *]
@@ -670,76 +529,34 @@ open HomogeneousLocalization HomogeneousLocalization.NumDenSameDeg
variable {𝒜} {x}
-/- warning: homogeneous_localization.num -> HomogeneousLocalization.num is a dubious translation:
-lean 3 declaration is
- forall {ι : Type.{u1}} {R : Type.{u2}} {A : Type.{u3}} [_inst_1 : AddCommMonoid.{u1} ι] [_inst_2 : DecidableEq.{succ u1} ι] [_inst_3 : CommRing.{u2} R] [_inst_4 : CommRing.{u3} A] [_inst_5 : Algebra.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4))] {𝒜 : ι -> (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))} [_inst_6 : GradedAlgebra.{u1, u2, u3} ι R A (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u1} ι _inst_1) (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5 𝒜] {x : Submonoid.{u3} A (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4)))))}, (HomogeneousLocalization.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) -> A
-but is expected to have type
- forall {ι : Type.{u1}} {R : Type.{u2}} {A : Type.{u3}} [_inst_1 : CommRing.{u2} R] [_inst_2 : CommRing.{u3} A] [_inst_3 : Algebra.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_2))] {_inst_4 : ι -> (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_2))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_2)) _inst_3))} {_inst_5 : Submonoid.{u3} A (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_2)))))}, (HomogeneousLocalization.{u1, u2, u3} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5) -> A
-Case conversion may be inaccurate. Consider using '#align homogeneous_localization.num HomogeneousLocalization.numₓ'. -/
/-- numerator of an element in `homogeneous_localization x`-/
def num (f : HomogeneousLocalization 𝒜 x) : A :=
(Quotient.out' f).num
#align homogeneous_localization.num HomogeneousLocalization.num
-/- warning: homogeneous_localization.denom -> HomogeneousLocalization.den is a dubious translation:
-lean 3 declaration is
- forall {ι : Type.{u1}} {R : Type.{u2}} {A : Type.{u3}} [_inst_1 : AddCommMonoid.{u1} ι] [_inst_2 : DecidableEq.{succ u1} ι] [_inst_3 : CommRing.{u2} R] [_inst_4 : CommRing.{u3} A] [_inst_5 : Algebra.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4))] {𝒜 : ι -> (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))} [_inst_6 : GradedAlgebra.{u1, u2, u3} ι R A (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u1} ι _inst_1) (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5 𝒜] {x : Submonoid.{u3} A (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4)))))}, (HomogeneousLocalization.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) -> A
-but is expected to have type
- forall {ι : Type.{u1}} {R : Type.{u2}} {A : Type.{u3}} [_inst_1 : CommRing.{u2} R] [_inst_2 : CommRing.{u3} A] [_inst_3 : Algebra.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_2))] {_inst_4 : ι -> (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_2))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_2)) _inst_3))} {_inst_5 : Submonoid.{u3} A (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_2)))))}, (HomogeneousLocalization.{u1, u2, u3} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5) -> A
-Case conversion may be inaccurate. Consider using '#align homogeneous_localization.denom HomogeneousLocalization.denₓ'. -/
/-- denominator of an element in `homogeneous_localization x`-/
def den (f : HomogeneousLocalization 𝒜 x) : A :=
(Quotient.out' f).den
#align homogeneous_localization.denom HomogeneousLocalization.den
-/- warning: homogeneous_localization.deg -> HomogeneousLocalization.deg is a dubious translation:
-lean 3 declaration is
- forall {ι : Type.{u1}} {R : Type.{u2}} {A : Type.{u3}} [_inst_1 : AddCommMonoid.{u1} ι] [_inst_2 : DecidableEq.{succ u1} ι] [_inst_3 : CommRing.{u2} R] [_inst_4 : CommRing.{u3} A] [_inst_5 : Algebra.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4))] {𝒜 : ι -> (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))} [_inst_6 : GradedAlgebra.{u1, u2, u3} ι R A (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u1} ι _inst_1) (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5 𝒜] {x : Submonoid.{u3} A (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4)))))}, (HomogeneousLocalization.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) -> ι
-but is expected to have type
- forall {ι : Type.{u1}} {R : Type.{u2}} {A : Type.{u3}} [_inst_1 : CommRing.{u2} R] [_inst_2 : CommRing.{u3} A] [_inst_3 : Algebra.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_2))] {_inst_4 : ι -> (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_2))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_2)) _inst_3))} {_inst_5 : Submonoid.{u3} A (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_2)))))}, (HomogeneousLocalization.{u1, u2, u3} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5) -> ι
-Case conversion may be inaccurate. Consider using '#align homogeneous_localization.deg HomogeneousLocalization.degₓ'. -/
/-- For an element in `homogeneous_localization x`, degree is the natural number `i` such that
`𝒜 i` contains both numerator and denominator. -/
def deg (f : HomogeneousLocalization 𝒜 x) : ι :=
(Quotient.out' f).deg
#align homogeneous_localization.deg HomogeneousLocalization.deg
-/- warning: homogeneous_localization.denom_mem -> HomogeneousLocalization.den_mem is a dubious translation:
-lean 3 declaration is
- forall {ι : Type.{u1}} {R : Type.{u2}} {A : Type.{u3}} [_inst_1 : AddCommMonoid.{u1} ι] [_inst_2 : DecidableEq.{succ u1} ι] [_inst_3 : CommRing.{u2} R] [_inst_4 : CommRing.{u3} A] [_inst_5 : Algebra.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4))] {𝒜 : ι -> (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))} [_inst_6 : GradedAlgebra.{u1, u2, u3} ι R A (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u1} ι _inst_1) (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5 𝒜] {x : Submonoid.{u3} A (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4)))))} (f : HomogeneousLocalization.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x), Membership.Mem.{u3, u3} A (Submonoid.{u3} A (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4)))))) (SetLike.hasMem.{u3, u3} (Submonoid.{u3} A (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4)))))) A (Submonoid.setLike.{u3} A (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))))) (HomogeneousLocalization.den.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x f) x
-but is expected to have type
- forall {ι : Type.{u3}} {R : Type.{u2}} {A : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : CommRing.{u1} A] [_inst_3 : Algebra.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2))] {_inst_4 : ι -> (Submodule.{u2, u1} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3))} {_inst_5 : Submonoid.{u1} A (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)))))} (𝒜 : HomogeneousLocalization.{u3, u2, u1} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5), Membership.mem.{u1, u1} A (Submonoid.{u1} A (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)))))) (SetLike.instMembership.{u1, u1} (Submonoid.{u1} A (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)))))) A (Submonoid.instSetLikeSubmonoid.{u1} A (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2))))))) (HomogeneousLocalization.den.{u3, u2, u1} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 𝒜) _inst_5
-Case conversion may be inaccurate. Consider using '#align homogeneous_localization.denom_mem HomogeneousLocalization.den_memₓ'. -/
theorem den_mem (f : HomogeneousLocalization 𝒜 x) : f.den ∈ x :=
(Quotient.out' f).denom_mem
#align homogeneous_localization.denom_mem HomogeneousLocalization.den_mem
-/- warning: homogeneous_localization.num_mem_deg -> HomogeneousLocalization.num_mem_deg is a dubious translation:
-lean 3 declaration is
- forall {ι : Type.{u1}} {R : Type.{u2}} {A : Type.{u3}} [_inst_1 : AddCommMonoid.{u1} ι] [_inst_2 : DecidableEq.{succ u1} ι] [_inst_3 : CommRing.{u2} R] [_inst_4 : CommRing.{u3} A] [_inst_5 : Algebra.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4))] {𝒜 : ι -> (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))} [_inst_6 : GradedAlgebra.{u1, u2, u3} ι R A (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u1} ι _inst_1) (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5 𝒜] {x : Submonoid.{u3} A (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4)))))} (f : HomogeneousLocalization.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x), Membership.Mem.{u3, u3} A (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) (SetLike.hasMem.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (HomogeneousLocalization.num.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x f) (𝒜 (HomogeneousLocalization.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x f))
-but is expected to have type
- forall {ι : Type.{u3}} {R : Type.{u2}} {A : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : CommRing.{u1} A] [_inst_3 : Algebra.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2))] {_inst_4 : ι -> (Submodule.{u2, u1} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3))} {_inst_5 : Submonoid.{u1} A (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)))))} (𝒜 : HomogeneousLocalization.{u3, u2, u1} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5), Membership.mem.{u1, u1} A (Submodule.{u2, u1} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3)) A (Submodule.setLike.{u2, u1} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3))) (HomogeneousLocalization.num.{u3, u2, u1} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 𝒜) (_inst_4 (HomogeneousLocalization.deg.{u3, u2, u1} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 𝒜))
-Case conversion may be inaccurate. Consider using '#align homogeneous_localization.num_mem_deg HomogeneousLocalization.num_mem_degₓ'. -/
theorem num_mem_deg (f : HomogeneousLocalization 𝒜 x) : f.num ∈ 𝒜 f.deg :=
(Quotient.out' f).num.2
#align homogeneous_localization.num_mem_deg HomogeneousLocalization.num_mem_deg
-/- warning: homogeneous_localization.denom_mem_deg -> HomogeneousLocalization.den_mem_deg is a dubious translation:
-lean 3 declaration is
- forall {ι : Type.{u1}} {R : Type.{u2}} {A : Type.{u3}} [_inst_1 : AddCommMonoid.{u1} ι] [_inst_2 : DecidableEq.{succ u1} ι] [_inst_3 : CommRing.{u2} R] [_inst_4 : CommRing.{u3} A] [_inst_5 : Algebra.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4))] {𝒜 : ι -> (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))} [_inst_6 : GradedAlgebra.{u1, u2, u3} ι R A (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u1} ι _inst_1) (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5 𝒜] {x : Submonoid.{u3} A (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4)))))} (f : HomogeneousLocalization.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x), Membership.Mem.{u3, u3} A (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) (SetLike.hasMem.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (HomogeneousLocalization.den.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x f) (𝒜 (HomogeneousLocalization.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x f))
-but is expected to have type
- forall {ι : Type.{u3}} {R : Type.{u2}} {A : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : CommRing.{u1} A] [_inst_3 : Algebra.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2))] {_inst_4 : ι -> (Submodule.{u2, u1} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3))} {_inst_5 : Submonoid.{u1} A (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)))))} (𝒜 : HomogeneousLocalization.{u3, u2, u1} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5), Membership.mem.{u1, u1} A (Submodule.{u2, u1} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3)) A (Submodule.setLike.{u2, u1} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3))) (HomogeneousLocalization.den.{u3, u2, u1} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 𝒜) (_inst_4 (HomogeneousLocalization.deg.{u3, u2, u1} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 𝒜))
-Case conversion may be inaccurate. Consider using '#align homogeneous_localization.denom_mem_deg HomogeneousLocalization.den_mem_degₓ'. -/
theorem den_mem_deg (f : HomogeneousLocalization 𝒜 x) : f.den ∈ 𝒜 f.deg :=
(Quotient.out' f).den.2
#align homogeneous_localization.denom_mem_deg HomogeneousLocalization.den_mem_deg
-/- warning: homogeneous_localization.eq_num_div_denom -> HomogeneousLocalization.eq_num_div_den is a dubious translation:
-lean 3 declaration is
- forall {ι : Type.{u1}} {R : Type.{u2}} {A : Type.{u3}} [_inst_1 : AddCommMonoid.{u1} ι] [_inst_2 : DecidableEq.{succ u1} ι] [_inst_3 : CommRing.{u2} R] [_inst_4 : CommRing.{u3} A] [_inst_5 : Algebra.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4))] {𝒜 : ι -> (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))} [_inst_6 : GradedAlgebra.{u1, u2, u3} ι R A (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u1} ι _inst_1) (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5 𝒜] {x : Submonoid.{u3} A (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4)))))} (f : HomogeneousLocalization.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x), Eq.{succ u3} (Localization.{u3} A (CommRing.toCommMonoid.{u3} A _inst_4) x) (HomogeneousLocalization.val.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x f) (Localization.mk.{u3} A (CommRing.toCommMonoid.{u3} A _inst_4) x (HomogeneousLocalization.num.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x f) (Subtype.mk.{succ u3} A (fun (x_1 : A) => Membership.Mem.{u3, u3} A (Submonoid.{u3} A (Monoid.toMulOneClass.{u3} A (CommMonoid.toMonoid.{u3} A (CommRing.toCommMonoid.{u3} A _inst_4)))) (SetLike.hasMem.{u3, u3} (Submonoid.{u3} A (Monoid.toMulOneClass.{u3} A (CommMonoid.toMonoid.{u3} A (CommRing.toCommMonoid.{u3} A _inst_4)))) A (Submonoid.setLike.{u3} A (Monoid.toMulOneClass.{u3} A (CommMonoid.toMonoid.{u3} A (CommRing.toCommMonoid.{u3} A _inst_4))))) x_1 x) (HomogeneousLocalization.den.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x f) (HomogeneousLocalization.den_mem.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x f)))
-but is expected to have type
- forall {ι : Type.{u3}} {R : Type.{u2}} {A : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : CommRing.{u1} A] [_inst_3 : Algebra.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2))] {_inst_4 : ι -> (Submodule.{u2, u1} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3))} {_inst_5 : Submonoid.{u1} A (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)))))} (𝒜 : HomogeneousLocalization.{u3, u2, u1} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5), Eq.{succ u1} (Localization.{u1} A (CommRing.toCommMonoid.{u1} A _inst_2) _inst_5) (HomogeneousLocalization.val.{u3, u2, u1} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 𝒜) (Localization.mk.{u1} A (CommRing.toCommMonoid.{u1} A _inst_2) _inst_5 (HomogeneousLocalization.num.{u3, u2, u1} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 𝒜) (Subtype.mk.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (Submonoid.{u1} A (Monoid.toMulOneClass.{u1} A (CommMonoid.toMonoid.{u1} A (CommRing.toCommMonoid.{u1} A _inst_2)))) (SetLike.instMembership.{u1, u1} (Submonoid.{u1} A (Monoid.toMulOneClass.{u1} A (CommMonoid.toMonoid.{u1} A (CommRing.toCommMonoid.{u1} A _inst_2)))) A (Submonoid.instSetLikeSubmonoid.{u1} A (Monoid.toMulOneClass.{u1} A (CommMonoid.toMonoid.{u1} A (CommRing.toCommMonoid.{u1} A _inst_2))))) x _inst_5) (HomogeneousLocalization.den.{u3, u2, u1} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 𝒜) (HomogeneousLocalization.den_mem.{u1, u2, u3} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 𝒜)))
-Case conversion may be inaccurate. Consider using '#align homogeneous_localization.eq_num_div_denom HomogeneousLocalization.eq_num_div_denₓ'. -/
theorem eq_num_div_den (f : HomogeneousLocalization 𝒜 x) :
f.val = Localization.mk f.num ⟨f.den, f.denom_mem⟩ :=
by
@@ -751,12 +568,6 @@ theorem eq_num_div_den (f : HomogeneousLocalization 𝒜 x) :
rfl
#align homogeneous_localization.eq_num_div_denom HomogeneousLocalization.eq_num_div_den
-/- warning: homogeneous_localization.ext_iff_val -> HomogeneousLocalization.ext_iff_val is a dubious translation:
-lean 3 declaration is
- forall {ι : Type.{u1}} {R : Type.{u2}} {A : Type.{u3}} [_inst_1 : AddCommMonoid.{u1} ι] [_inst_2 : DecidableEq.{succ u1} ι] [_inst_3 : CommRing.{u2} R] [_inst_4 : CommRing.{u3} A] [_inst_5 : Algebra.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4))] {𝒜 : ι -> (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))} [_inst_6 : GradedAlgebra.{u1, u2, u3} ι R A (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u1} ι _inst_1) (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5 𝒜] {x : Submonoid.{u3} A (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4)))))} (f : HomogeneousLocalization.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (g : HomogeneousLocalization.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x), Iff (Eq.{succ (max u1 u3)} (HomogeneousLocalization.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) f g) (Eq.{succ u3} (Localization.{u3} A (CommRing.toCommMonoid.{u3} A _inst_4) x) (HomogeneousLocalization.val.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x f) (HomogeneousLocalization.val.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x g))
-but is expected to have type
- forall {ι : Type.{u3}} {R : Type.{u2}} {A : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : CommRing.{u1} A] [_inst_3 : Algebra.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2))] {_inst_4 : ι -> (Submodule.{u2, u1} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3))} {_inst_5 : Submonoid.{u1} A (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)))))} (𝒜 : HomogeneousLocalization.{u3, u2, u1} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5) (_inst_6 : HomogeneousLocalization.{u3, u2, u1} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5), Iff (Eq.{max (succ u3) (succ u1)} (HomogeneousLocalization.{u3, u2, u1} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5) 𝒜 _inst_6) (Eq.{succ u1} (Localization.{u1} A (CommRing.toCommMonoid.{u1} A _inst_2) _inst_5) (HomogeneousLocalization.val.{u3, u2, u1} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 𝒜) (HomogeneousLocalization.val.{u3, u2, u1} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6))
-Case conversion may be inaccurate. Consider using '#align homogeneous_localization.ext_iff_val HomogeneousLocalization.ext_iff_valₓ'. -/
theorem ext_iff_val (f g : HomogeneousLocalization 𝒜 x) : f = g ↔ f.val = g.val :=
{ mp := fun h => h ▸ rfl
mpr := fun h => by
@@ -771,20 +582,11 @@ section
variable (𝒜) (𝔭 : Ideal A) [Ideal.IsPrime 𝔭]
-/- warning: homogeneous_localization.at_prime -> HomogeneousLocalization.AtPrime is a dubious translation:
-lean 3 declaration is
- forall {ι : Type.{u1}} {R : Type.{u2}} {A : Type.{u3}} [_inst_1 : AddCommMonoid.{u1} ι] [_inst_2 : DecidableEq.{succ u1} ι] [_inst_3 : CommRing.{u2} R] [_inst_4 : CommRing.{u3} A] [_inst_5 : Algebra.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4))] (𝒜 : ι -> (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) [_inst_6 : GradedAlgebra.{u1, u2, u3} ι R A (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u1} ι _inst_1) (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5 𝒜] (𝔭 : Ideal.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4))) [_inst_7 : Ideal.IsPrime.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) 𝔭], Type.{max u1 u3}
-but is expected to have type
- forall {ι : Type.{u1}} {R : Type.{u2}} {A : Type.{u3}} [_inst_1 : CommRing.{u2} R] [_inst_2 : CommRing.{u3} A] [_inst_3 : Algebra.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_2))], (ι -> (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_2))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_2)) _inst_3))) -> (forall (_inst_5 : Ideal.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_2))) [𝒜 : Ideal.IsPrime.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_2)) _inst_5], Type.{max u1 u3})
-Case conversion may be inaccurate. Consider using '#align homogeneous_localization.at_prime HomogeneousLocalization.AtPrimeₓ'. -/
/-- Localizing a ring homogeneously at a prime ideal-/
abbrev AtPrime :=
HomogeneousLocalization 𝒜 𝔭.primeCompl
#align homogeneous_localization.at_prime HomogeneousLocalization.AtPrime
-/- warning: homogeneous_localization.is_unit_iff_is_unit_val -> HomogeneousLocalization.isUnit_iff_isUnit_val is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align homogeneous_localization.is_unit_iff_is_unit_val HomogeneousLocalization.isUnit_iff_isUnit_valₓ'. -/
theorem isUnit_iff_isUnit_val (f : HomogeneousLocalization.AtPrime 𝒜 𝔭) : IsUnit f.val ↔ IsUnit f :=
⟨fun h1 => by
rcases h1 with ⟨⟨a, b, eq0, eq1⟩, eq2 : a = f.val⟩
@@ -855,12 +657,6 @@ section
variable (𝒜) (f : A)
-/- warning: homogeneous_localization.away -> HomogeneousLocalization.Away is a dubious translation:
-lean 3 declaration is
- forall {ι : Type.{u1}} {R : Type.{u2}} {A : Type.{u3}} [_inst_1 : AddCommMonoid.{u1} ι] [_inst_2 : DecidableEq.{succ u1} ι] [_inst_3 : CommRing.{u2} R] [_inst_4 : CommRing.{u3} A] [_inst_5 : Algebra.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4))] (𝒜 : ι -> (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) [_inst_6 : GradedAlgebra.{u1, u2, u3} ι R A (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u1} ι _inst_1) (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5 𝒜], A -> Type.{max u1 u3}
-but is expected to have type
- forall {ι : Type.{u1}} {R : Type.{u2}} {A : Type.{u3}} [_inst_1 : CommRing.{u2} R] [_inst_2 : CommRing.{u3} A] [_inst_3 : Algebra.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_2))], (ι -> (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_2))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_2)) _inst_3))) -> A -> Type.{max u1 u3}
-Case conversion may be inaccurate. Consider using '#align homogeneous_localization.away HomogeneousLocalization.Awayₓ'. -/
/-- Localising away from powers of `f` homogeneously.-/
abbrev Away :=
HomogeneousLocalization 𝒜 (Submonoid.powers f)
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -118,10 +118,7 @@ open SetLike.GradedMonoid Submodule
variable {𝒜}
/- warning: homogeneous_localization.num_denom_same_deg.ext -> HomogeneousLocalization.NumDenSameDeg.ext is a dubious translation:
-lean 3 declaration is
- forall {ι : Type.{u1}} {R : Type.{u2}} {A : Type.{u3}} [_inst_1 : AddCommMonoid.{u1} ι] [_inst_2 : DecidableEq.{succ u1} ι] [_inst_3 : CommRing.{u2} R] [_inst_4 : CommRing.{u3} A] [_inst_5 : Algebra.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4))] {𝒜 : ι -> (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))} [_inst_6 : GradedAlgebra.{u1, u2, u3} ι R A (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u1} ι _inst_1) (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5 𝒜] (x : Submonoid.{u3} A (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4)))))) {c1 : HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x} {c2 : HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x}, (Eq.{succ u1} ι (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c1) (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c2)) -> (Eq.{succ u3} A ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c1))) A (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c1))) A (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c1))) A (coeBase.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c1))) A (coeSubtype.{succ u3} A (fun (x_1 : A) => Membership.Mem.{u3, u3} A (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) (SetLike.hasMem.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) x_1 (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c1))))))) (HomogeneousLocalization.NumDenSameDeg.num.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c1)) ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c2))) A (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c2))) A (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c2))) A (coeBase.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c2))) A (coeSubtype.{succ u3} A (fun (x_1 : A) => Membership.Mem.{u3, u3} A (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) (SetLike.hasMem.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) x_1 (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c2))))))) (HomogeneousLocalization.NumDenSameDeg.num.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c2))) -> (Eq.{succ u3} A ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c1))) A (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c1))) A (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c1))) A (coeBase.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c1))) A (coeSubtype.{succ u3} A (fun (x_1 : A) => Membership.Mem.{u3, u3} A (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) (SetLike.hasMem.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) x_1 (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c1))))))) (HomogeneousLocalization.NumDenSameDeg.denom.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c1)) ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c2))) A (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c2))) A (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c2))) A (coeBase.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c2))) A (coeSubtype.{succ u3} A (fun (x_1 : A) => Membership.Mem.{u3, u3} A (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) (SetLike.hasMem.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) x_1 (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c2))))))) (HomogeneousLocalization.NumDenSameDeg.denom.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c2))) -> (Eq.{max (succ u1) (succ u3)} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) c1 c2)
-but is expected to have type
- forall {ι : Type.{u3}} {R : Type.{u2}} {A : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : CommRing.{u1} A] [_inst_3 : Algebra.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2))] {_inst_4 : ι -> (Submodule.{u2, u1} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3))} (_inst_5 : Submonoid.{u1} A (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)))))) {𝒜 : HomogeneousLocalization.NumDenSameDeg.{u3, u2, u1} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5} {_inst_6 : HomogeneousLocalization.NumDenSameDeg.{u3, u2, u1} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5}, (Eq.{succ u3} ι (HomogeneousLocalization.NumDenSameDeg.deg.{u3, u2, u1} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 𝒜) (HomogeneousLocalization.NumDenSameDeg.deg.{u3, u2, u1} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6)) -> (Eq.{succ u1} A (Subtype.val.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (Set.{u1} A) (Set.instMembershipSet.{u1} A) x (SetLike.coe.{u1, u1} (Submodule.{u2, u1} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3)) A (Submodule.setLike.{u2, u1} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3)) (_inst_4 (HomogeneousLocalization.NumDenSameDeg.deg.{u3, u2, u1} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 𝒜)))) (HomogeneousLocalization.NumDenSameDeg.num.{u3, u2, u1} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 𝒜)) (Subtype.val.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (Set.{u1} A) (Set.instMembershipSet.{u1} A) x (SetLike.coe.{u1, u1} (Submodule.{u2, u1} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3)) A (Submodule.setLike.{u2, u1} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3)) (_inst_4 (HomogeneousLocalization.NumDenSameDeg.deg.{u3, u2, u1} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6)))) (HomogeneousLocalization.NumDenSameDeg.num.{u3, u2, u1} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6))) -> (Eq.{succ u1} A (Subtype.val.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (Set.{u1} A) (Set.instMembershipSet.{u1} A) x (SetLike.coe.{u1, u1} (Submodule.{u2, u1} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3)) A (Submodule.setLike.{u2, u1} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3)) (_inst_4 (HomogeneousLocalization.NumDenSameDeg.deg.{u3, u2, u1} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 𝒜)))) (HomogeneousLocalization.NumDenSameDeg.den.{u3, u2, u1} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 𝒜)) (Subtype.val.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (Set.{u1} A) (Set.instMembershipSet.{u1} A) x (SetLike.coe.{u1, u1} (Submodule.{u2, u1} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3)) A (Submodule.setLike.{u2, u1} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3)) (_inst_4 (HomogeneousLocalization.NumDenSameDeg.deg.{u3, u2, u1} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6)))) (HomogeneousLocalization.NumDenSameDeg.den.{u3, u2, u1} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6))) -> (Eq.{max (succ u3) (succ u1)} (HomogeneousLocalization.NumDenSameDeg.{u3, u2, u1} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5) 𝒜 _inst_6)
+<too large>
Case conversion may be inaccurate. Consider using '#align homogeneous_localization.num_denom_same_deg.ext HomogeneousLocalization.NumDenSameDeg.extₓ'. -/
@[ext]
theorem ext {c1 c2 : NumDenSameDeg 𝒜 x} (hdeg : c1.deg = c2.deg) (hnum : (c1.num : A) = c2.num)
@@ -200,10 +197,7 @@ instance : Mul (NumDenSameDeg 𝒜 x)
denom_mem := Submonoid.mul_mem _ p.denom_mem q.denom_mem }
/- warning: homogeneous_localization.num_denom_same_deg.deg_mul -> HomogeneousLocalization.NumDenSameDeg.deg_mul is a dubious translation:
-lean 3 declaration is
- forall {ι : Type.{u1}} {R : Type.{u2}} {A : Type.{u3}} [_inst_1 : AddCommMonoid.{u1} ι] [_inst_2 : DecidableEq.{succ u1} ι] [_inst_3 : CommRing.{u2} R] [_inst_4 : CommRing.{u3} A] [_inst_5 : Algebra.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4))] {𝒜 : ι -> (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))} [_inst_6 : GradedAlgebra.{u1, u2, u3} ι R A (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u1} ι _inst_1) (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5 𝒜] (x : Submonoid.{u3} A (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4)))))) (c1 : HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (c2 : HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x), Eq.{succ u1} ι (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x (HMul.hMul.{max u1 u3, max u1 u3, max u1 u3} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (instHMul.{max u1 u3} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.hasMul.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x)) c1 c2)) (HAdd.hAdd.{u1, u1, u1} ι ι ι (instHAdd.{u1} ι (AddZeroClass.toHasAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι (AddCommMonoid.toAddMonoid.{u1} ι _inst_1)))) (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c1) (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c2))
-but is expected to have type
- forall {ι : Type.{u3}} {R : Type.{u2}} {A : Type.{u1}} [_inst_1 : AddCommMonoid.{u3} ι] [_inst_2 : DecidableEq.{succ u3} ι] [_inst_3 : CommRing.{u2} R] [_inst_4 : CommRing.{u1} A] [_inst_5 : Algebra.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4))] {𝒜 : ι -> (Submodule.{u2, u1} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_4))))) (Algebra.toModule.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4)) _inst_5))} [_inst_6 : GradedAlgebra.{u3, u2, u1} ι R A (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u3} ι _inst_1) (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4)) _inst_5 𝒜] (x : Submonoid.{u1} A (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4)))))) (c1 : HomogeneousLocalization.NumDenSameDeg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) (c2 : HomogeneousLocalization.NumDenSameDeg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x), Eq.{succ u3} ι (HomogeneousLocalization.NumDenSameDeg.deg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x (HMul.hMul.{max u3 u1, max u3 u1, max u3 u1} (HomogeneousLocalization.NumDenSameDeg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) (HomogeneousLocalization.NumDenSameDeg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) (HomogeneousLocalization.NumDenSameDeg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) (instHMul.{max u3 u1} (HomogeneousLocalization.NumDenSameDeg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) (HomogeneousLocalization.NumDenSameDeg.instMulNumDenSameDeg.{u3, u2, u1} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x)) c1 c2)) (HAdd.hAdd.{u3, u3, u3} ι ι ι (instHAdd.{u3} ι (AddZeroClass.toAdd.{u3} ι (AddMonoid.toAddZeroClass.{u3} ι (AddCommMonoid.toAddMonoid.{u3} ι _inst_1)))) (HomogeneousLocalization.NumDenSameDeg.deg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x c1) (HomogeneousLocalization.NumDenSameDeg.deg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x c2))
+<too large>
Case conversion may be inaccurate. Consider using '#align homogeneous_localization.num_denom_same_deg.deg_mul HomogeneousLocalization.NumDenSameDeg.deg_mulₓ'. -/
@[simp]
theorem deg_mul (c1 c2 : NumDenSameDeg 𝒜 x) : (c1 * c2).deg = c1.deg + c2.deg :=
@@ -211,10 +205,7 @@ theorem deg_mul (c1 c2 : NumDenSameDeg 𝒜 x) : (c1 * c2).deg = c1.deg + c2.deg
#align homogeneous_localization.num_denom_same_deg.deg_mul HomogeneousLocalization.NumDenSameDeg.deg_mul
/- warning: homogeneous_localization.num_denom_same_deg.num_mul -> HomogeneousLocalization.NumDenSameDeg.num_mul is a dubious translation:
-lean 3 declaration is
- forall {ι : Type.{u1}} {R : Type.{u2}} {A : Type.{u3}} [_inst_1 : AddCommMonoid.{u1} ι] [_inst_2 : DecidableEq.{succ u1} ι] [_inst_3 : CommRing.{u2} R] [_inst_4 : CommRing.{u3} A] [_inst_5 : Algebra.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4))] {𝒜 : ι -> (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))} [_inst_6 : GradedAlgebra.{u1, u2, u3} ι R A (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u1} ι _inst_1) (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5 𝒜] (x : Submonoid.{u3} A (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4)))))) (c1 : HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (c2 : HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x), Eq.{succ u3} A ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x (HMul.hMul.{max u1 u3, max u1 u3, max u1 u3} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (instHMul.{max u1 u3} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.hasMul.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x)) c1 c2)))) A (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x (HMul.hMul.{max u1 u3, max u1 u3, max u1 u3} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (instHMul.{max u1 u3} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.hasMul.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x)) c1 c2)))) A (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x (HMul.hMul.{max u1 u3, max u1 u3, max u1 u3} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (instHMul.{max u1 u3} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.hasMul.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x)) c1 c2)))) A (coeBase.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x (HMul.hMul.{max u1 u3, max u1 u3, max u1 u3} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (instHMul.{max u1 u3} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.hasMul.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x)) c1 c2)))) A (coeSubtype.{succ u3} A (fun (x_1 : A) => Membership.Mem.{u3, u3} A (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) (SetLike.hasMem.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) x_1 (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x (HMul.hMul.{max u1 u3, max u1 u3, max u1 u3} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (instHMul.{max u1 u3} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.hasMul.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x)) c1 c2)))))))) (HomogeneousLocalization.NumDenSameDeg.num.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x (HMul.hMul.{max u1 u3, max u1 u3, max u1 u3} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (instHMul.{max u1 u3} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.hasMul.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x)) c1 c2))) (HMul.hMul.{u3, u3, u3} A A A (instHMul.{u3} A (Distrib.toHasMul.{u3} A (Ring.toDistrib.{u3} A (CommRing.toRing.{u3} A _inst_4)))) ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c1))) A (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c1))) A (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c1))) A (coeBase.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c1))) A (coeSubtype.{succ u3} A (fun (x_1 : A) => Membership.Mem.{u3, u3} A (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) (SetLike.hasMem.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) x_1 (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c1))))))) (HomogeneousLocalization.NumDenSameDeg.num.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c1)) ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c2))) A (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c2))) A (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c2))) A (coeBase.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c2))) A (coeSubtype.{succ u3} A (fun (x_1 : A) => Membership.Mem.{u3, u3} A (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) (SetLike.hasMem.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) x_1 (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c2))))))) (HomogeneousLocalization.NumDenSameDeg.num.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c2)))
-but is expected to have type
- forall {ι : Type.{u3}} {R : Type.{u2}} {A : Type.{u1}} [_inst_1 : AddCommMonoid.{u3} ι] [_inst_2 : DecidableEq.{succ u3} ι] [_inst_3 : CommRing.{u2} R] [_inst_4 : CommRing.{u1} A] [_inst_5 : Algebra.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4))] {𝒜 : ι -> (Submodule.{u2, u1} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_4))))) (Algebra.toModule.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4)) _inst_5))} [_inst_6 : GradedAlgebra.{u3, u2, u1} ι R A (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u3} ι _inst_1) (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4)) _inst_5 𝒜] (x : Submonoid.{u1} A (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4)))))) (c1 : HomogeneousLocalization.NumDenSameDeg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) (c2 : HomogeneousLocalization.NumDenSameDeg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x), Eq.{succ u1} A (Subtype.val.{succ u1} A (fun (x_1 : A) => Membership.mem.{u1, u1} A (Set.{u1} A) (Set.instMembershipSet.{u1} A) x_1 (SetLike.coe.{u1, u1} (Submodule.{u2, u1} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_4))))) (Algebra.toModule.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u1} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_4))))) (Algebra.toModule.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4)) _inst_5)) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x (HMul.hMul.{max u3 u1, max u3 u1, max u3 u1} (HomogeneousLocalization.NumDenSameDeg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) (HomogeneousLocalization.NumDenSameDeg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) (HomogeneousLocalization.NumDenSameDeg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) (instHMul.{max u3 u1} (HomogeneousLocalization.NumDenSameDeg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) (HomogeneousLocalization.NumDenSameDeg.instMulNumDenSameDeg.{u3, u2, u1} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x)) c1 c2))))) (HomogeneousLocalization.NumDenSameDeg.num.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x (HMul.hMul.{max u3 u1, max u3 u1, max u3 u1} (HomogeneousLocalization.NumDenSameDeg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) (HomogeneousLocalization.NumDenSameDeg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) (HomogeneousLocalization.NumDenSameDeg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) (instHMul.{max u3 u1} (HomogeneousLocalization.NumDenSameDeg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) (HomogeneousLocalization.NumDenSameDeg.instMulNumDenSameDeg.{u3, u2, u1} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x)) c1 c2))) (HMul.hMul.{u1, u1, u1} A A A (instHMul.{u1} A (NonUnitalNonAssocRing.toMul.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_4))))) (Subtype.val.{succ u1} A (fun (x_1 : A) => Membership.mem.{u1, u1} A (Set.{u1} A) (Set.instMembershipSet.{u1} A) x_1 (SetLike.coe.{u1, u1} (Submodule.{u2, u1} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_4))))) (Algebra.toModule.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u1} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_4))))) (Algebra.toModule.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4)) _inst_5)) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x c1)))) (HomogeneousLocalization.NumDenSameDeg.num.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x c1)) (Subtype.val.{succ u1} A (fun (x_1 : A) => Membership.mem.{u1, u1} A (Set.{u1} A) (Set.instMembershipSet.{u1} A) x_1 (SetLike.coe.{u1, u1} (Submodule.{u2, u1} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_4))))) (Algebra.toModule.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u1} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_4))))) (Algebra.toModule.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4)) _inst_5)) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x c2)))) (HomogeneousLocalization.NumDenSameDeg.num.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x c2)))
+<too large>
Case conversion may be inaccurate. Consider using '#align homogeneous_localization.num_denom_same_deg.num_mul HomogeneousLocalization.NumDenSameDeg.num_mulₓ'. -/
@[simp]
theorem num_mul (c1 c2 : NumDenSameDeg 𝒜 x) : ((c1 * c2).num : A) = c1.num * c2.num :=
@@ -222,10 +213,7 @@ theorem num_mul (c1 c2 : NumDenSameDeg 𝒜 x) : ((c1 * c2).num : A) = c1.num *
#align homogeneous_localization.num_denom_same_deg.num_mul HomogeneousLocalization.NumDenSameDeg.num_mul
/- warning: homogeneous_localization.num_denom_same_deg.denom_mul -> HomogeneousLocalization.NumDenSameDeg.den_mul is a dubious translation:
-lean 3 declaration is
- forall {ι : Type.{u1}} {R : Type.{u2}} {A : Type.{u3}} [_inst_1 : AddCommMonoid.{u1} ι] [_inst_2 : DecidableEq.{succ u1} ι] [_inst_3 : CommRing.{u2} R] [_inst_4 : CommRing.{u3} A] [_inst_5 : Algebra.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4))] {𝒜 : ι -> (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))} [_inst_6 : GradedAlgebra.{u1, u2, u3} ι R A (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u1} ι _inst_1) (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5 𝒜] (x : Submonoid.{u3} A (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4)))))) (c1 : HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (c2 : HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x), Eq.{succ u3} A ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x (HMul.hMul.{max u1 u3, max u1 u3, max u1 u3} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (instHMul.{max u1 u3} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.hasMul.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x)) c1 c2)))) A (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x (HMul.hMul.{max u1 u3, max u1 u3, max u1 u3} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (instHMul.{max u1 u3} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.hasMul.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x)) c1 c2)))) A (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x (HMul.hMul.{max u1 u3, max u1 u3, max u1 u3} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (instHMul.{max u1 u3} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.hasMul.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x)) c1 c2)))) A (coeBase.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x (HMul.hMul.{max u1 u3, max u1 u3, max u1 u3} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (instHMul.{max u1 u3} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.hasMul.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x)) c1 c2)))) A (coeSubtype.{succ u3} A (fun (x_1 : A) => Membership.Mem.{u3, u3} A (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) (SetLike.hasMem.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) x_1 (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x (HMul.hMul.{max u1 u3, max u1 u3, max u1 u3} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (instHMul.{max u1 u3} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.hasMul.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x)) c1 c2)))))))) (HomogeneousLocalization.NumDenSameDeg.denom.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x (HMul.hMul.{max u1 u3, max u1 u3, max u1 u3} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (instHMul.{max u1 u3} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.hasMul.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x)) c1 c2))) (HMul.hMul.{u3, u3, u3} A A A (instHMul.{u3} A (Distrib.toHasMul.{u3} A (Ring.toDistrib.{u3} A (CommRing.toRing.{u3} A _inst_4)))) ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c1))) A (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c1))) A (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c1))) A (coeBase.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c1))) A (coeSubtype.{succ u3} A (fun (x_1 : A) => Membership.Mem.{u3, u3} A (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) (SetLike.hasMem.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) x_1 (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c1))))))) (HomogeneousLocalization.NumDenSameDeg.denom.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c1)) ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c2))) A (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c2))) A (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c2))) A (coeBase.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c2))) A (coeSubtype.{succ u3} A (fun (x_1 : A) => Membership.Mem.{u3, u3} A (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) (SetLike.hasMem.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) x_1 (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c2))))))) (HomogeneousLocalization.NumDenSameDeg.denom.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c2)))
-but is expected to have type
- forall {ι : Type.{u3}} {R : Type.{u2}} {A : Type.{u1}} [_inst_1 : AddCommMonoid.{u3} ι] [_inst_2 : DecidableEq.{succ u3} ι] [_inst_3 : CommRing.{u2} R] [_inst_4 : CommRing.{u1} A] [_inst_5 : Algebra.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4))] {𝒜 : ι -> (Submodule.{u2, u1} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_4))))) (Algebra.toModule.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4)) _inst_5))} [_inst_6 : GradedAlgebra.{u3, u2, u1} ι R A (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u3} ι _inst_1) (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4)) _inst_5 𝒜] (x : Submonoid.{u1} A (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4)))))) (c1 : HomogeneousLocalization.NumDenSameDeg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) (c2 : HomogeneousLocalization.NumDenSameDeg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x), Eq.{succ u1} A (Subtype.val.{succ u1} A (fun (x_1 : A) => Membership.mem.{u1, u1} A (Set.{u1} A) (Set.instMembershipSet.{u1} A) x_1 (SetLike.coe.{u1, u1} (Submodule.{u2, u1} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_4))))) (Algebra.toModule.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u1} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_4))))) (Algebra.toModule.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4)) _inst_5)) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x (HMul.hMul.{max u3 u1, max u3 u1, max u3 u1} (HomogeneousLocalization.NumDenSameDeg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) (HomogeneousLocalization.NumDenSameDeg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) (HomogeneousLocalization.NumDenSameDeg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) (instHMul.{max u3 u1} (HomogeneousLocalization.NumDenSameDeg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) (HomogeneousLocalization.NumDenSameDeg.instMulNumDenSameDeg.{u3, u2, u1} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x)) c1 c2))))) (HomogeneousLocalization.NumDenSameDeg.den.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x (HMul.hMul.{max u3 u1, max u3 u1, max u3 u1} (HomogeneousLocalization.NumDenSameDeg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) (HomogeneousLocalization.NumDenSameDeg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) (HomogeneousLocalization.NumDenSameDeg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) (instHMul.{max u3 u1} (HomogeneousLocalization.NumDenSameDeg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) (HomogeneousLocalization.NumDenSameDeg.instMulNumDenSameDeg.{u3, u2, u1} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x)) c1 c2))) (HMul.hMul.{u1, u1, u1} A A A (instHMul.{u1} A (NonUnitalNonAssocRing.toMul.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_4))))) (Subtype.val.{succ u1} A (fun (x_1 : A) => Membership.mem.{u1, u1} A (Set.{u1} A) (Set.instMembershipSet.{u1} A) x_1 (SetLike.coe.{u1, u1} (Submodule.{u2, u1} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_4))))) (Algebra.toModule.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u1} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_4))))) (Algebra.toModule.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4)) _inst_5)) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x c1)))) (HomogeneousLocalization.NumDenSameDeg.den.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x c1)) (Subtype.val.{succ u1} A (fun (x_1 : A) => Membership.mem.{u1, u1} A (Set.{u1} A) (Set.instMembershipSet.{u1} A) x_1 (SetLike.coe.{u1, u1} (Submodule.{u2, u1} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_4))))) (Algebra.toModule.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u1} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_4))))) (Algebra.toModule.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4)) _inst_5)) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x c2)))) (HomogeneousLocalization.NumDenSameDeg.den.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x c2)))
+<too large>
Case conversion may be inaccurate. Consider using '#align homogeneous_localization.num_denom_same_deg.denom_mul HomogeneousLocalization.NumDenSameDeg.den_mulₓ'. -/
@[simp]
theorem den_mul (c1 c2 : NumDenSameDeg 𝒜 x) : ((c1 * c2).den : A) = c1.den * c2.den :=
@@ -242,10 +230,7 @@ instance : Add (NumDenSameDeg 𝒜 x)
denom_mem := Submonoid.mul_mem _ c1.denom_mem c2.denom_mem }
/- warning: homogeneous_localization.num_denom_same_deg.deg_add -> HomogeneousLocalization.NumDenSameDeg.deg_add is a dubious translation:
-lean 3 declaration is
- forall {ι : Type.{u1}} {R : Type.{u2}} {A : Type.{u3}} [_inst_1 : AddCommMonoid.{u1} ι] [_inst_2 : DecidableEq.{succ u1} ι] [_inst_3 : CommRing.{u2} R] [_inst_4 : CommRing.{u3} A] [_inst_5 : Algebra.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4))] {𝒜 : ι -> (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))} [_inst_6 : GradedAlgebra.{u1, u2, u3} ι R A (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u1} ι _inst_1) (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5 𝒜] (x : Submonoid.{u3} A (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4)))))) (c1 : HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (c2 : HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x), Eq.{succ u1} ι (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x (HAdd.hAdd.{max u1 u3, max u1 u3, max u1 u3} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (instHAdd.{max u1 u3} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.hasAdd.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x)) c1 c2)) (HAdd.hAdd.{u1, u1, u1} ι ι ι (instHAdd.{u1} ι (AddZeroClass.toHasAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι (AddCommMonoid.toAddMonoid.{u1} ι _inst_1)))) (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c1) (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c2))
-but is expected to have type
- forall {ι : Type.{u3}} {R : Type.{u2}} {A : Type.{u1}} [_inst_1 : AddCommMonoid.{u3} ι] [_inst_2 : DecidableEq.{succ u3} ι] [_inst_3 : CommRing.{u2} R] [_inst_4 : CommRing.{u1} A] [_inst_5 : Algebra.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4))] {𝒜 : ι -> (Submodule.{u2, u1} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_4))))) (Algebra.toModule.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4)) _inst_5))} [_inst_6 : GradedAlgebra.{u3, u2, u1} ι R A (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u3} ι _inst_1) (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4)) _inst_5 𝒜] (x : Submonoid.{u1} A (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4)))))) (c1 : HomogeneousLocalization.NumDenSameDeg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) (c2 : HomogeneousLocalization.NumDenSameDeg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x), Eq.{succ u3} ι (HomogeneousLocalization.NumDenSameDeg.deg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x (HAdd.hAdd.{max u3 u1, max u3 u1, max u3 u1} (HomogeneousLocalization.NumDenSameDeg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) (HomogeneousLocalization.NumDenSameDeg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) (HomogeneousLocalization.NumDenSameDeg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) (instHAdd.{max u3 u1} (HomogeneousLocalization.NumDenSameDeg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) (HomogeneousLocalization.NumDenSameDeg.instAddNumDenSameDeg.{u3, u2, u1} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x)) c1 c2)) (HAdd.hAdd.{u3, u3, u3} ι ι ι (instHAdd.{u3} ι (AddZeroClass.toAdd.{u3} ι (AddMonoid.toAddZeroClass.{u3} ι (AddCommMonoid.toAddMonoid.{u3} ι _inst_1)))) (HomogeneousLocalization.NumDenSameDeg.deg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x c1) (HomogeneousLocalization.NumDenSameDeg.deg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x c2))
+<too large>
Case conversion may be inaccurate. Consider using '#align homogeneous_localization.num_denom_same_deg.deg_add HomogeneousLocalization.NumDenSameDeg.deg_addₓ'. -/
@[simp]
theorem deg_add (c1 c2 : NumDenSameDeg 𝒜 x) : (c1 + c2).deg = c1.deg + c2.deg :=
@@ -253,10 +238,7 @@ theorem deg_add (c1 c2 : NumDenSameDeg 𝒜 x) : (c1 + c2).deg = c1.deg + c2.deg
#align homogeneous_localization.num_denom_same_deg.deg_add HomogeneousLocalization.NumDenSameDeg.deg_add
/- warning: homogeneous_localization.num_denom_same_deg.num_add -> HomogeneousLocalization.NumDenSameDeg.num_add is a dubious translation:
-lean 3 declaration is
- forall {ι : Type.{u1}} {R : Type.{u2}} {A : Type.{u3}} [_inst_1 : AddCommMonoid.{u1} ι] [_inst_2 : DecidableEq.{succ u1} ι] [_inst_3 : CommRing.{u2} R] [_inst_4 : CommRing.{u3} A] [_inst_5 : Algebra.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4))] {𝒜 : ι -> (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))} [_inst_6 : GradedAlgebra.{u1, u2, u3} ι R A (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u1} ι _inst_1) (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5 𝒜] (x : Submonoid.{u3} A (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4)))))) (c1 : HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (c2 : HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x), Eq.{succ u3} A ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x (HAdd.hAdd.{max u1 u3, max u1 u3, max u1 u3} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (instHAdd.{max u1 u3} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.hasAdd.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x)) c1 c2)))) A (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x (HAdd.hAdd.{max u1 u3, max u1 u3, max u1 u3} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (instHAdd.{max u1 u3} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.hasAdd.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x)) c1 c2)))) A (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x (HAdd.hAdd.{max u1 u3, max u1 u3, max u1 u3} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (instHAdd.{max u1 u3} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.hasAdd.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x)) c1 c2)))) A (coeBase.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x (HAdd.hAdd.{max u1 u3, max u1 u3, max u1 u3} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (instHAdd.{max u1 u3} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.hasAdd.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x)) c1 c2)))) A (coeSubtype.{succ u3} A (fun (x_1 : A) => Membership.Mem.{u3, u3} A (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) (SetLike.hasMem.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) x_1 (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x (HAdd.hAdd.{max u1 u3, max u1 u3, max u1 u3} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (instHAdd.{max u1 u3} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.hasAdd.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x)) c1 c2)))))))) (HomogeneousLocalization.NumDenSameDeg.num.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x (HAdd.hAdd.{max u1 u3, max u1 u3, max u1 u3} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (instHAdd.{max u1 u3} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.hasAdd.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x)) c1 c2))) (HAdd.hAdd.{u3, u3, u3} A A A (instHAdd.{u3} A (Distrib.toHasAdd.{u3} A (Ring.toDistrib.{u3} A (CommRing.toRing.{u3} A _inst_4)))) (HMul.hMul.{u3, u3, u3} A A A (instHMul.{u3} A (Distrib.toHasMul.{u3} A (Ring.toDistrib.{u3} A (CommRing.toRing.{u3} A _inst_4)))) ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c1))) A (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c1))) A (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c1))) A (coeBase.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c1))) A (coeSubtype.{succ u3} A (fun (x_1 : A) => Membership.Mem.{u3, u3} A (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) (SetLike.hasMem.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) x_1 (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c1))))))) (HomogeneousLocalization.NumDenSameDeg.denom.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c1)) ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c2))) A (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c2))) A (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c2))) A (coeBase.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c2))) A (coeSubtype.{succ u3} A (fun (x_1 : A) => Membership.Mem.{u3, u3} A (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) (SetLike.hasMem.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) x_1 (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c2))))))) (HomogeneousLocalization.NumDenSameDeg.num.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c2))) (HMul.hMul.{u3, u3, u3} A A A (instHMul.{u3} A (Distrib.toHasMul.{u3} A (Ring.toDistrib.{u3} A (CommRing.toRing.{u3} A _inst_4)))) ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c2))) A (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c2))) A (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c2))) A (coeBase.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c2))) A (coeSubtype.{succ u3} A (fun (x_1 : A) => Membership.Mem.{u3, u3} A (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) (SetLike.hasMem.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) x_1 (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c2))))))) (HomogeneousLocalization.NumDenSameDeg.denom.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c2)) ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c1))) A (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c1))) A (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c1))) A (coeBase.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c1))) A (coeSubtype.{succ u3} A (fun (x_1 : A) => Membership.Mem.{u3, u3} A (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) (SetLike.hasMem.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) x_1 (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c1))))))) (HomogeneousLocalization.NumDenSameDeg.num.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c1))))
-but is expected to have type
- forall {ι : Type.{u3}} {R : Type.{u2}} {A : Type.{u1}} [_inst_1 : AddCommMonoid.{u3} ι] [_inst_2 : DecidableEq.{succ u3} ι] [_inst_3 : CommRing.{u2} R] [_inst_4 : CommRing.{u1} A] [_inst_5 : Algebra.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4))] {𝒜 : ι -> (Submodule.{u2, u1} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_4))))) (Algebra.toModule.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4)) _inst_5))} [_inst_6 : GradedAlgebra.{u3, u2, u1} ι R A (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u3} ι _inst_1) (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4)) _inst_5 𝒜] (x : Submonoid.{u1} A (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4)))))) (c1 : HomogeneousLocalization.NumDenSameDeg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) (c2 : HomogeneousLocalization.NumDenSameDeg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x), Eq.{succ u1} A (Subtype.val.{succ u1} A (fun (x_1 : A) => Membership.mem.{u1, u1} A (Set.{u1} A) (Set.instMembershipSet.{u1} A) x_1 (SetLike.coe.{u1, u1} (Submodule.{u2, u1} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_4))))) (Algebra.toModule.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u1} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_4))))) (Algebra.toModule.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4)) _inst_5)) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x (HAdd.hAdd.{max u3 u1, max u3 u1, max u3 u1} (HomogeneousLocalization.NumDenSameDeg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) (HomogeneousLocalization.NumDenSameDeg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) (HomogeneousLocalization.NumDenSameDeg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) (instHAdd.{max u3 u1} (HomogeneousLocalization.NumDenSameDeg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) (HomogeneousLocalization.NumDenSameDeg.instAddNumDenSameDeg.{u3, u2, u1} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x)) c1 c2))))) (HomogeneousLocalization.NumDenSameDeg.num.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x (HAdd.hAdd.{max u3 u1, max u3 u1, max u3 u1} (HomogeneousLocalization.NumDenSameDeg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) (HomogeneousLocalization.NumDenSameDeg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) (HomogeneousLocalization.NumDenSameDeg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) (instHAdd.{max u3 u1} (HomogeneousLocalization.NumDenSameDeg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) (HomogeneousLocalization.NumDenSameDeg.instAddNumDenSameDeg.{u3, u2, u1} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x)) c1 c2))) (HAdd.hAdd.{u1, u1, u1} A A A (instHAdd.{u1} A (Distrib.toAdd.{u1} A (NonUnitalNonAssocSemiring.toDistrib.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_4))))))) (HMul.hMul.{u1, u1, u1} A A A (instHMul.{u1} A (NonUnitalNonAssocRing.toMul.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_4))))) (Subtype.val.{succ u1} A (fun (x_1 : A) => Membership.mem.{u1, u1} A (Set.{u1} A) (Set.instMembershipSet.{u1} A) x_1 (SetLike.coe.{u1, u1} (Submodule.{u2, u1} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_4))))) (Algebra.toModule.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u1} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_4))))) (Algebra.toModule.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4)) _inst_5)) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x c1)))) (HomogeneousLocalization.NumDenSameDeg.den.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x c1)) (Subtype.val.{succ u1} A (fun (x_1 : A) => Membership.mem.{u1, u1} A (Set.{u1} A) (Set.instMembershipSet.{u1} A) x_1 (SetLike.coe.{u1, u1} (Submodule.{u2, u1} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_4))))) (Algebra.toModule.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u1} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_4))))) (Algebra.toModule.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4)) _inst_5)) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x c2)))) (HomogeneousLocalization.NumDenSameDeg.num.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x c2))) (HMul.hMul.{u1, u1, u1} A A A (instHMul.{u1} A (NonUnitalNonAssocRing.toMul.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_4))))) (Subtype.val.{succ u1} A (fun (x_1 : A) => Membership.mem.{u1, u1} A (Set.{u1} A) (Set.instMembershipSet.{u1} A) x_1 (SetLike.coe.{u1, u1} (Submodule.{u2, u1} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_4))))) (Algebra.toModule.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u1} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_4))))) (Algebra.toModule.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4)) _inst_5)) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x c2)))) (HomogeneousLocalization.NumDenSameDeg.den.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x c2)) (Subtype.val.{succ u1} A (fun (x_1 : A) => Membership.mem.{u1, u1} A (Set.{u1} A) (Set.instMembershipSet.{u1} A) x_1 (SetLike.coe.{u1, u1} (Submodule.{u2, u1} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_4))))) (Algebra.toModule.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u1} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_4))))) (Algebra.toModule.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4)) _inst_5)) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x c1)))) (HomogeneousLocalization.NumDenSameDeg.num.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x c1))))
+<too large>
Case conversion may be inaccurate. Consider using '#align homogeneous_localization.num_denom_same_deg.num_add HomogeneousLocalization.NumDenSameDeg.num_addₓ'. -/
@[simp]
theorem num_add (c1 c2 : NumDenSameDeg 𝒜 x) :
@@ -265,10 +247,7 @@ theorem num_add (c1 c2 : NumDenSameDeg 𝒜 x) :
#align homogeneous_localization.num_denom_same_deg.num_add HomogeneousLocalization.NumDenSameDeg.num_add
/- warning: homogeneous_localization.num_denom_same_deg.denom_add -> HomogeneousLocalization.NumDenSameDeg.den_add is a dubious translation:
-lean 3 declaration is
- forall {ι : Type.{u1}} {R : Type.{u2}} {A : Type.{u3}} [_inst_1 : AddCommMonoid.{u1} ι] [_inst_2 : DecidableEq.{succ u1} ι] [_inst_3 : CommRing.{u2} R] [_inst_4 : CommRing.{u3} A] [_inst_5 : Algebra.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4))] {𝒜 : ι -> (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))} [_inst_6 : GradedAlgebra.{u1, u2, u3} ι R A (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u1} ι _inst_1) (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5 𝒜] (x : Submonoid.{u3} A (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4)))))) (c1 : HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (c2 : HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x), Eq.{succ u3} A ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x (HAdd.hAdd.{max u1 u3, max u1 u3, max u1 u3} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (instHAdd.{max u1 u3} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.hasAdd.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x)) c1 c2)))) A (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x (HAdd.hAdd.{max u1 u3, max u1 u3, max u1 u3} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (instHAdd.{max u1 u3} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.hasAdd.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x)) c1 c2)))) A (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x (HAdd.hAdd.{max u1 u3, max u1 u3, max u1 u3} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (instHAdd.{max u1 u3} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.hasAdd.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x)) c1 c2)))) A (coeBase.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x (HAdd.hAdd.{max u1 u3, max u1 u3, max u1 u3} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (instHAdd.{max u1 u3} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.hasAdd.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x)) c1 c2)))) A (coeSubtype.{succ u3} A (fun (x_1 : A) => Membership.Mem.{u3, u3} A (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) (SetLike.hasMem.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) x_1 (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x (HAdd.hAdd.{max u1 u3, max u1 u3, max u1 u3} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (instHAdd.{max u1 u3} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.hasAdd.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x)) c1 c2)))))))) (HomogeneousLocalization.NumDenSameDeg.denom.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x (HAdd.hAdd.{max u1 u3, max u1 u3, max u1 u3} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (instHAdd.{max u1 u3} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.hasAdd.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x)) c1 c2))) (HMul.hMul.{u3, u3, u3} A A A (instHMul.{u3} A (Distrib.toHasMul.{u3} A (Ring.toDistrib.{u3} A (CommRing.toRing.{u3} A _inst_4)))) ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c1))) A (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c1))) A (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c1))) A (coeBase.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c1))) A (coeSubtype.{succ u3} A (fun (x_1 : A) => Membership.Mem.{u3, u3} A (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) (SetLike.hasMem.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) x_1 (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c1))))))) (HomogeneousLocalization.NumDenSameDeg.denom.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c1)) ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c2))) A (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c2))) A (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c2))) A (coeBase.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c2))) A (coeSubtype.{succ u3} A (fun (x_1 : A) => Membership.Mem.{u3, u3} A (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) (SetLike.hasMem.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) x_1 (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c2))))))) (HomogeneousLocalization.NumDenSameDeg.denom.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c2)))
-but is expected to have type
- forall {ι : Type.{u3}} {R : Type.{u2}} {A : Type.{u1}} [_inst_1 : AddCommMonoid.{u3} ι] [_inst_2 : DecidableEq.{succ u3} ι] [_inst_3 : CommRing.{u2} R] [_inst_4 : CommRing.{u1} A] [_inst_5 : Algebra.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4))] {𝒜 : ι -> (Submodule.{u2, u1} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_4))))) (Algebra.toModule.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4)) _inst_5))} [_inst_6 : GradedAlgebra.{u3, u2, u1} ι R A (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u3} ι _inst_1) (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4)) _inst_5 𝒜] (x : Submonoid.{u1} A (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4)))))) (c1 : HomogeneousLocalization.NumDenSameDeg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) (c2 : HomogeneousLocalization.NumDenSameDeg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x), Eq.{succ u1} A (Subtype.val.{succ u1} A (fun (x_1 : A) => Membership.mem.{u1, u1} A (Set.{u1} A) (Set.instMembershipSet.{u1} A) x_1 (SetLike.coe.{u1, u1} (Submodule.{u2, u1} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_4))))) (Algebra.toModule.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u1} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_4))))) (Algebra.toModule.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4)) _inst_5)) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x (HAdd.hAdd.{max u3 u1, max u3 u1, max u3 u1} (HomogeneousLocalization.NumDenSameDeg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) (HomogeneousLocalization.NumDenSameDeg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) (HomogeneousLocalization.NumDenSameDeg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) (instHAdd.{max u3 u1} (HomogeneousLocalization.NumDenSameDeg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) (HomogeneousLocalization.NumDenSameDeg.instAddNumDenSameDeg.{u3, u2, u1} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x)) c1 c2))))) (HomogeneousLocalization.NumDenSameDeg.den.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x (HAdd.hAdd.{max u3 u1, max u3 u1, max u3 u1} (HomogeneousLocalization.NumDenSameDeg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) (HomogeneousLocalization.NumDenSameDeg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) (HomogeneousLocalization.NumDenSameDeg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) (instHAdd.{max u3 u1} (HomogeneousLocalization.NumDenSameDeg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) (HomogeneousLocalization.NumDenSameDeg.instAddNumDenSameDeg.{u3, u2, u1} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x)) c1 c2))) (HMul.hMul.{u1, u1, u1} A A A (instHMul.{u1} A (NonUnitalNonAssocRing.toMul.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_4))))) (Subtype.val.{succ u1} A (fun (x_1 : A) => Membership.mem.{u1, u1} A (Set.{u1} A) (Set.instMembershipSet.{u1} A) x_1 (SetLike.coe.{u1, u1} (Submodule.{u2, u1} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_4))))) (Algebra.toModule.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u1} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_4))))) (Algebra.toModule.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4)) _inst_5)) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x c1)))) (HomogeneousLocalization.NumDenSameDeg.den.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x c1)) (Subtype.val.{succ u1} A (fun (x_1 : A) => Membership.mem.{u1, u1} A (Set.{u1} A) (Set.instMembershipSet.{u1} A) x_1 (SetLike.coe.{u1, u1} (Submodule.{u2, u1} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_4))))) (Algebra.toModule.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u1} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_4))))) (Algebra.toModule.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4)) _inst_5)) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x c2)))) (HomogeneousLocalization.NumDenSameDeg.den.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x c2)))
+<too large>
Case conversion may be inaccurate. Consider using '#align homogeneous_localization.num_denom_same_deg.denom_add HomogeneousLocalization.NumDenSameDeg.den_addₓ'. -/
@[simp]
theorem den_add (c1 c2 : NumDenSameDeg 𝒜 x) : ((c1 + c2).den : A) = c1.den * c2.den :=
@@ -290,10 +269,7 @@ theorem deg_neg (c : NumDenSameDeg 𝒜 x) : (-c).deg = c.deg :=
#align homogeneous_localization.num_denom_same_deg.deg_neg HomogeneousLocalization.NumDenSameDeg.deg_neg
/- warning: homogeneous_localization.num_denom_same_deg.num_neg -> HomogeneousLocalization.NumDenSameDeg.num_neg is a dubious translation:
-lean 3 declaration is
- forall {ι : Type.{u1}} {R : Type.{u2}} {A : Type.{u3}} [_inst_1 : AddCommMonoid.{u1} ι] [_inst_2 : DecidableEq.{succ u1} ι] [_inst_3 : CommRing.{u2} R] [_inst_4 : CommRing.{u3} A] [_inst_5 : Algebra.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4))] {𝒜 : ι -> (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))} [_inst_6 : GradedAlgebra.{u1, u2, u3} ι R A (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u1} ι _inst_1) (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5 𝒜] (x : Submonoid.{u3} A (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4)))))) (c : HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x), Eq.{succ u3} A ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x (Neg.neg.{max u1 u3} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.hasNeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) c)))) A (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x (Neg.neg.{max u1 u3} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.hasNeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) c)))) A (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x (Neg.neg.{max u1 u3} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.hasNeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) c)))) A (coeBase.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x (Neg.neg.{max u1 u3} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.hasNeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) c)))) A (coeSubtype.{succ u3} A (fun (x_1 : A) => Membership.Mem.{u3, u3} A (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) (SetLike.hasMem.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) x_1 (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x (Neg.neg.{max u1 u3} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.hasNeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) c)))))))) (HomogeneousLocalization.NumDenSameDeg.num.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x (Neg.neg.{max u1 u3} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.hasNeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) c))) (Neg.neg.{u3} A (SubNegMonoid.toHasNeg.{u3} A (AddGroup.toSubNegMonoid.{u3} A (AddGroupWithOne.toAddGroup.{u3} A (AddCommGroupWithOne.toAddGroupWithOne.{u3} A (Ring.toAddCommGroupWithOne.{u3} A (CommRing.toRing.{u3} A _inst_4)))))) ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c))) A (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c))) A (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c))) A (coeBase.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c))) A (coeSubtype.{succ u3} A (fun (x_1 : A) => Membership.Mem.{u3, u3} A (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) (SetLike.hasMem.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) x_1 (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c))))))) (HomogeneousLocalization.NumDenSameDeg.num.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c)))
-but is expected to have type
- forall {ι : Type.{u3}} {R : Type.{u2}} {A : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : CommRing.{u1} A] [_inst_3 : Algebra.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2))] {_inst_4 : ι -> (Submodule.{u2, u1} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3))} (_inst_5 : Submonoid.{u1} A (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)))))) (𝒜 : HomogeneousLocalization.NumDenSameDeg.{u3, u2, u1} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5), Eq.{succ u1} A (Subtype.val.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (Set.{u1} A) (Set.instMembershipSet.{u1} A) x (SetLike.coe.{u1, u1} (Submodule.{u2, u1} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3)) A (Submodule.setLike.{u2, u1} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3)) (_inst_4 (HomogeneousLocalization.NumDenSameDeg.deg.{u3, u2, u1} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 (Neg.neg.{max u3 u1} (HomogeneousLocalization.NumDenSameDeg.{u3, u2, u1} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5) (HomogeneousLocalization.NumDenSameDeg.instNegNumDenSameDeg.{u3, u2, u1} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5) 𝒜))))) (HomogeneousLocalization.NumDenSameDeg.num.{u3, u2, u1} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 (Neg.neg.{max u3 u1} (HomogeneousLocalization.NumDenSameDeg.{u3, u2, u1} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5) (HomogeneousLocalization.NumDenSameDeg.instNegNumDenSameDeg.{u3, u2, u1} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5) 𝒜))) (Neg.neg.{u1} A (Ring.toNeg.{u1} A (CommRing.toRing.{u1} A _inst_2)) (Subtype.val.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (Set.{u1} A) (Set.instMembershipSet.{u1} A) x (SetLike.coe.{u1, u1} (Submodule.{u2, u1} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3)) A (Submodule.setLike.{u2, u1} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3)) (_inst_4 (HomogeneousLocalization.NumDenSameDeg.deg.{u3, u2, u1} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 𝒜)))) (HomogeneousLocalization.NumDenSameDeg.num.{u3, u2, u1} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 𝒜)))
+<too large>
Case conversion may be inaccurate. Consider using '#align homogeneous_localization.num_denom_same_deg.num_neg HomogeneousLocalization.NumDenSameDeg.num_negₓ'. -/
@[simp]
theorem num_neg (c : NumDenSameDeg 𝒜 x) : ((-c).num : A) = -c.num :=
@@ -301,10 +277,7 @@ theorem num_neg (c : NumDenSameDeg 𝒜 x) : ((-c).num : A) = -c.num :=
#align homogeneous_localization.num_denom_same_deg.num_neg HomogeneousLocalization.NumDenSameDeg.num_neg
/- warning: homogeneous_localization.num_denom_same_deg.denom_neg -> HomogeneousLocalization.NumDenSameDeg.den_neg is a dubious translation:
-lean 3 declaration is
- forall {ι : Type.{u1}} {R : Type.{u2}} {A : Type.{u3}} [_inst_1 : AddCommMonoid.{u1} ι] [_inst_2 : DecidableEq.{succ u1} ι] [_inst_3 : CommRing.{u2} R] [_inst_4 : CommRing.{u3} A] [_inst_5 : Algebra.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4))] {𝒜 : ι -> (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))} [_inst_6 : GradedAlgebra.{u1, u2, u3} ι R A (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u1} ι _inst_1) (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5 𝒜] (x : Submonoid.{u3} A (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4)))))) (c : HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x), Eq.{succ u3} A ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x (Neg.neg.{max u1 u3} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.hasNeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) c)))) A (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x (Neg.neg.{max u1 u3} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.hasNeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) c)))) A (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x (Neg.neg.{max u1 u3} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.hasNeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) c)))) A (coeBase.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x (Neg.neg.{max u1 u3} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.hasNeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) c)))) A (coeSubtype.{succ u3} A (fun (x_1 : A) => Membership.Mem.{u3, u3} A (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) (SetLike.hasMem.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) x_1 (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x (Neg.neg.{max u1 u3} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.hasNeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) c)))))))) (HomogeneousLocalization.NumDenSameDeg.denom.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x (Neg.neg.{max u1 u3} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.hasNeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) c))) ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c))) A (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c))) A (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c))) A (coeBase.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c))) A (coeSubtype.{succ u3} A (fun (x_1 : A) => Membership.Mem.{u3, u3} A (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) (SetLike.hasMem.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) x_1 (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c))))))) (HomogeneousLocalization.NumDenSameDeg.denom.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c))
-but is expected to have type
- forall {ι : Type.{u3}} {R : Type.{u2}} {A : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : CommRing.{u1} A] [_inst_3 : Algebra.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2))] {_inst_4 : ι -> (Submodule.{u2, u1} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3))} (_inst_5 : Submonoid.{u1} A (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)))))) (𝒜 : HomogeneousLocalization.NumDenSameDeg.{u3, u2, u1} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5), Eq.{succ u1} A (Subtype.val.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (Set.{u1} A) (Set.instMembershipSet.{u1} A) x (SetLike.coe.{u1, u1} (Submodule.{u2, u1} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3)) A (Submodule.setLike.{u2, u1} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3)) (_inst_4 (HomogeneousLocalization.NumDenSameDeg.deg.{u3, u2, u1} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 (Neg.neg.{max u3 u1} (HomogeneousLocalization.NumDenSameDeg.{u3, u2, u1} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5) (HomogeneousLocalization.NumDenSameDeg.instNegNumDenSameDeg.{u3, u2, u1} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5) 𝒜))))) (HomogeneousLocalization.NumDenSameDeg.den.{u3, u2, u1} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 (Neg.neg.{max u3 u1} (HomogeneousLocalization.NumDenSameDeg.{u3, u2, u1} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5) (HomogeneousLocalization.NumDenSameDeg.instNegNumDenSameDeg.{u3, u2, u1} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5) 𝒜))) (Subtype.val.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (Set.{u1} A) (Set.instMembershipSet.{u1} A) x (SetLike.coe.{u1, u1} (Submodule.{u2, u1} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3)) A (Submodule.setLike.{u2, u1} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3)) (_inst_4 (HomogeneousLocalization.NumDenSameDeg.deg.{u3, u2, u1} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 𝒜)))) (HomogeneousLocalization.NumDenSameDeg.den.{u3, u2, u1} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 𝒜))
+<too large>
Case conversion may be inaccurate. Consider using '#align homogeneous_localization.num_denom_same_deg.denom_neg HomogeneousLocalization.NumDenSameDeg.den_negₓ'. -/
@[simp]
theorem den_neg (c : NumDenSameDeg 𝒜 x) : ((-c).den : A) = c.den :=
@@ -329,10 +302,7 @@ instance : Pow (NumDenSameDeg 𝒜 x) ℕ
· simpa only [pow_succ', coe_gnpow] using x.mul_mem ih c.denom_mem⟩
/- warning: homogeneous_localization.num_denom_same_deg.deg_pow -> HomogeneousLocalization.NumDenSameDeg.deg_pow is a dubious translation:
-lean 3 declaration is
- forall {ι : Type.{u1}} {R : Type.{u2}} {A : Type.{u3}} [_inst_1 : AddCommMonoid.{u1} ι] [_inst_2 : DecidableEq.{succ u1} ι] [_inst_3 : CommRing.{u2} R] [_inst_4 : CommRing.{u3} A] [_inst_5 : Algebra.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4))] {𝒜 : ι -> (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))} [_inst_6 : GradedAlgebra.{u1, u2, u3} ι R A (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u1} ι _inst_1) (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5 𝒜] (x : Submonoid.{u3} A (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4)))))) (c : HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (n : Nat), Eq.{succ u1} ι (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x (HPow.hPow.{max u1 u3, 0, max u1 u3} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) Nat (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (instHPow.{max u1 u3, 0} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) Nat (HomogeneousLocalization.NumDenSameDeg.Nat.hasPow.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x)) c n)) (SMul.smul.{0, u1} Nat ι (AddMonoid.SMul.{u1} ι (AddCommMonoid.toAddMonoid.{u1} ι _inst_1)) n (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c))
-but is expected to have type
- forall {ι : Type.{u3}} {R : Type.{u2}} {A : Type.{u1}} [_inst_1 : AddCommMonoid.{u3} ι] [_inst_2 : DecidableEq.{succ u3} ι] [_inst_3 : CommRing.{u2} R] [_inst_4 : CommRing.{u1} A] [_inst_5 : Algebra.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4))] {𝒜 : ι -> (Submodule.{u2, u1} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_4))))) (Algebra.toModule.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4)) _inst_5))} [_inst_6 : GradedAlgebra.{u3, u2, u1} ι R A (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u3} ι _inst_1) (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4)) _inst_5 𝒜] (x : Submonoid.{u1} A (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4)))))) (c : HomogeneousLocalization.NumDenSameDeg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) (n : Nat), Eq.{succ u3} ι (HomogeneousLocalization.NumDenSameDeg.deg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x (HPow.hPow.{max u3 u1, 0, max u3 u1} (HomogeneousLocalization.NumDenSameDeg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) Nat (HomogeneousLocalization.NumDenSameDeg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) (instHPow.{max u3 u1, 0} (HomogeneousLocalization.NumDenSameDeg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) Nat (HomogeneousLocalization.NumDenSameDeg.instPowNumDenSameDegNat.{u3, u2, u1} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x)) c n)) (HSMul.hSMul.{0, u3, u3} Nat ι ι (instHSMul.{0, u3} Nat ι (AddMonoid.SMul.{u3} ι (AddCommMonoid.toAddMonoid.{u3} ι _inst_1))) n (HomogeneousLocalization.NumDenSameDeg.deg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x c))
+<too large>
Case conversion may be inaccurate. Consider using '#align homogeneous_localization.num_denom_same_deg.deg_pow HomogeneousLocalization.NumDenSameDeg.deg_powₓ'. -/
@[simp]
theorem deg_pow (c : NumDenSameDeg 𝒜 x) (n : ℕ) : (c ^ n).deg = n • c.deg :=
@@ -340,10 +310,7 @@ theorem deg_pow (c : NumDenSameDeg 𝒜 x) (n : ℕ) : (c ^ n).deg = n • c.deg
#align homogeneous_localization.num_denom_same_deg.deg_pow HomogeneousLocalization.NumDenSameDeg.deg_pow
/- warning: homogeneous_localization.num_denom_same_deg.num_pow -> HomogeneousLocalization.NumDenSameDeg.num_pow is a dubious translation:
-lean 3 declaration is
- forall {ι : Type.{u1}} {R : Type.{u2}} {A : Type.{u3}} [_inst_1 : AddCommMonoid.{u1} ι] [_inst_2 : DecidableEq.{succ u1} ι] [_inst_3 : CommRing.{u2} R] [_inst_4 : CommRing.{u3} A] [_inst_5 : Algebra.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4))] {𝒜 : ι -> (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))} [_inst_6 : GradedAlgebra.{u1, u2, u3} ι R A (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u1} ι _inst_1) (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5 𝒜] (x : Submonoid.{u3} A (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4)))))) (c : HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (n : Nat), Eq.{succ u3} A ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x (HPow.hPow.{max u1 u3, 0, max u1 u3} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) Nat (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (instHPow.{max u1 u3, 0} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) Nat (HomogeneousLocalization.NumDenSameDeg.Nat.hasPow.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x)) c n)))) A (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x (HPow.hPow.{max u1 u3, 0, max u1 u3} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) Nat (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (instHPow.{max u1 u3, 0} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) Nat (HomogeneousLocalization.NumDenSameDeg.Nat.hasPow.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x)) c n)))) A (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x (HPow.hPow.{max u1 u3, 0, max u1 u3} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) Nat (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (instHPow.{max u1 u3, 0} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) Nat (HomogeneousLocalization.NumDenSameDeg.Nat.hasPow.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x)) c n)))) A (coeBase.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x (HPow.hPow.{max u1 u3, 0, max u1 u3} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) Nat (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (instHPow.{max u1 u3, 0} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) Nat (HomogeneousLocalization.NumDenSameDeg.Nat.hasPow.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x)) c n)))) A (coeSubtype.{succ u3} A (fun (x_1 : A) => Membership.Mem.{u3, u3} A (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) (SetLike.hasMem.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) x_1 (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x (HPow.hPow.{max u1 u3, 0, max u1 u3} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) Nat (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (instHPow.{max u1 u3, 0} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) Nat (HomogeneousLocalization.NumDenSameDeg.Nat.hasPow.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x)) c n)))))))) (HomogeneousLocalization.NumDenSameDeg.num.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x (HPow.hPow.{max u1 u3, 0, max u1 u3} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) Nat (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (instHPow.{max u1 u3, 0} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) Nat (HomogeneousLocalization.NumDenSameDeg.Nat.hasPow.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x)) c n))) (HPow.hPow.{u3, 0, u3} A Nat A (instHPow.{u3, 0} A Nat (Monoid.Pow.{u3} A (Ring.toMonoid.{u3} A (CommRing.toRing.{u3} A _inst_4)))) ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c))) A (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c))) A (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c))) A (coeBase.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c))) A (coeSubtype.{succ u3} A (fun (x_1 : A) => Membership.Mem.{u3, u3} A (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) (SetLike.hasMem.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) x_1 (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c))))))) (HomogeneousLocalization.NumDenSameDeg.num.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c)) n)
-but is expected to have type
- forall {ι : Type.{u3}} {R : Type.{u2}} {A : Type.{u1}} [_inst_1 : AddCommMonoid.{u3} ι] [_inst_2 : DecidableEq.{succ u3} ι] [_inst_3 : CommRing.{u2} R] [_inst_4 : CommRing.{u1} A] [_inst_5 : Algebra.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4))] {𝒜 : ι -> (Submodule.{u2, u1} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_4))))) (Algebra.toModule.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4)) _inst_5))} [_inst_6 : GradedAlgebra.{u3, u2, u1} ι R A (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u3} ι _inst_1) (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4)) _inst_5 𝒜] (x : Submonoid.{u1} A (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4)))))) (c : HomogeneousLocalization.NumDenSameDeg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) (n : Nat), Eq.{succ u1} A (Subtype.val.{succ u1} A (fun (x_1 : A) => Membership.mem.{u1, u1} A (Set.{u1} A) (Set.instMembershipSet.{u1} A) x_1 (SetLike.coe.{u1, u1} (Submodule.{u2, u1} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_4))))) (Algebra.toModule.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u1} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_4))))) (Algebra.toModule.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4)) _inst_5)) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x (HPow.hPow.{max u3 u1, 0, max u3 u1} (HomogeneousLocalization.NumDenSameDeg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) Nat (HomogeneousLocalization.NumDenSameDeg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) (instHPow.{max u3 u1, 0} (HomogeneousLocalization.NumDenSameDeg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) Nat (HomogeneousLocalization.NumDenSameDeg.instPowNumDenSameDegNat.{u3, u2, u1} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x)) c n))))) (HomogeneousLocalization.NumDenSameDeg.num.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x (HPow.hPow.{max u3 u1, 0, max u3 u1} (HomogeneousLocalization.NumDenSameDeg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) Nat (HomogeneousLocalization.NumDenSameDeg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) (instHPow.{max u3 u1, 0} (HomogeneousLocalization.NumDenSameDeg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) Nat (HomogeneousLocalization.NumDenSameDeg.instPowNumDenSameDegNat.{u3, u2, u1} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x)) c n))) (HPow.hPow.{u1, 0, u1} A Nat A (instHPow.{u1, 0} A Nat (Monoid.Pow.{u1} A (MonoidWithZero.toMonoid.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4)))))) (Subtype.val.{succ u1} A (fun (x_1 : A) => Membership.mem.{u1, u1} A (Set.{u1} A) (Set.instMembershipSet.{u1} A) x_1 (SetLike.coe.{u1, u1} (Submodule.{u2, u1} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_4))))) (Algebra.toModule.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u1} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_4))))) (Algebra.toModule.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4)) _inst_5)) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x c)))) (HomogeneousLocalization.NumDenSameDeg.num.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x c)) n)
+<too large>
Case conversion may be inaccurate. Consider using '#align homogeneous_localization.num_denom_same_deg.num_pow HomogeneousLocalization.NumDenSameDeg.num_powₓ'. -/
@[simp]
theorem num_pow (c : NumDenSameDeg 𝒜 x) (n : ℕ) : ((c ^ n).num : A) = c.num ^ n :=
@@ -351,10 +318,7 @@ theorem num_pow (c : NumDenSameDeg 𝒜 x) (n : ℕ) : ((c ^ n).num : A) = c.num
#align homogeneous_localization.num_denom_same_deg.num_pow HomogeneousLocalization.NumDenSameDeg.num_pow
/- warning: homogeneous_localization.num_denom_same_deg.denom_pow -> HomogeneousLocalization.NumDenSameDeg.den_pow is a dubious translation:
-lean 3 declaration is
- forall {ι : Type.{u1}} {R : Type.{u2}} {A : Type.{u3}} [_inst_1 : AddCommMonoid.{u1} ι] [_inst_2 : DecidableEq.{succ u1} ι] [_inst_3 : CommRing.{u2} R] [_inst_4 : CommRing.{u3} A] [_inst_5 : Algebra.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4))] {𝒜 : ι -> (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))} [_inst_6 : GradedAlgebra.{u1, u2, u3} ι R A (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u1} ι _inst_1) (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5 𝒜] (x : Submonoid.{u3} A (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4)))))) (c : HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (n : Nat), Eq.{succ u3} A ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x (HPow.hPow.{max u1 u3, 0, max u1 u3} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) Nat (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (instHPow.{max u1 u3, 0} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) Nat (HomogeneousLocalization.NumDenSameDeg.Nat.hasPow.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x)) c n)))) A (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x (HPow.hPow.{max u1 u3, 0, max u1 u3} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) Nat (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (instHPow.{max u1 u3, 0} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) Nat (HomogeneousLocalization.NumDenSameDeg.Nat.hasPow.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x)) c n)))) A (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x (HPow.hPow.{max u1 u3, 0, max u1 u3} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) Nat (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (instHPow.{max u1 u3, 0} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) Nat (HomogeneousLocalization.NumDenSameDeg.Nat.hasPow.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x)) c n)))) A (coeBase.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x (HPow.hPow.{max u1 u3, 0, max u1 u3} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) Nat (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (instHPow.{max u1 u3, 0} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) Nat (HomogeneousLocalization.NumDenSameDeg.Nat.hasPow.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x)) c n)))) A (coeSubtype.{succ u3} A (fun (x_1 : A) => Membership.Mem.{u3, u3} A (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) (SetLike.hasMem.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) x_1 (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x (HPow.hPow.{max u1 u3, 0, max u1 u3} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) Nat (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (instHPow.{max u1 u3, 0} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) Nat (HomogeneousLocalization.NumDenSameDeg.Nat.hasPow.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x)) c n)))))))) (HomogeneousLocalization.NumDenSameDeg.denom.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x (HPow.hPow.{max u1 u3, 0, max u1 u3} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) Nat (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (instHPow.{max u1 u3, 0} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) Nat (HomogeneousLocalization.NumDenSameDeg.Nat.hasPow.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x)) c n))) (HPow.hPow.{u3, 0, u3} A Nat A (instHPow.{u3, 0} A Nat (Monoid.Pow.{u3} A (Ring.toMonoid.{u3} A (CommRing.toRing.{u3} A _inst_4)))) ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c))) A (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c))) A (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c))) A (coeBase.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c))) A (coeSubtype.{succ u3} A (fun (x_1 : A) => Membership.Mem.{u3, u3} A (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) (SetLike.hasMem.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) x_1 (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c))))))) (HomogeneousLocalization.NumDenSameDeg.denom.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c)) n)
-but is expected to have type
- forall {ι : Type.{u3}} {R : Type.{u2}} {A : Type.{u1}} [_inst_1 : AddCommMonoid.{u3} ι] [_inst_2 : DecidableEq.{succ u3} ι] [_inst_3 : CommRing.{u2} R] [_inst_4 : CommRing.{u1} A] [_inst_5 : Algebra.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4))] {𝒜 : ι -> (Submodule.{u2, u1} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_4))))) (Algebra.toModule.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4)) _inst_5))} [_inst_6 : GradedAlgebra.{u3, u2, u1} ι R A (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u3} ι _inst_1) (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4)) _inst_5 𝒜] (x : Submonoid.{u1} A (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4)))))) (c : HomogeneousLocalization.NumDenSameDeg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) (n : Nat), Eq.{succ u1} A (Subtype.val.{succ u1} A (fun (x_1 : A) => Membership.mem.{u1, u1} A (Set.{u1} A) (Set.instMembershipSet.{u1} A) x_1 (SetLike.coe.{u1, u1} (Submodule.{u2, u1} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_4))))) (Algebra.toModule.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u1} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_4))))) (Algebra.toModule.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4)) _inst_5)) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x (HPow.hPow.{max u3 u1, 0, max u3 u1} (HomogeneousLocalization.NumDenSameDeg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) Nat (HomogeneousLocalization.NumDenSameDeg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) (instHPow.{max u3 u1, 0} (HomogeneousLocalization.NumDenSameDeg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) Nat (HomogeneousLocalization.NumDenSameDeg.instPowNumDenSameDegNat.{u3, u2, u1} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x)) c n))))) (HomogeneousLocalization.NumDenSameDeg.den.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x (HPow.hPow.{max u3 u1, 0, max u3 u1} (HomogeneousLocalization.NumDenSameDeg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) Nat (HomogeneousLocalization.NumDenSameDeg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) (instHPow.{max u3 u1, 0} (HomogeneousLocalization.NumDenSameDeg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) Nat (HomogeneousLocalization.NumDenSameDeg.instPowNumDenSameDegNat.{u3, u2, u1} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x)) c n))) (HPow.hPow.{u1, 0, u1} A Nat A (instHPow.{u1, 0} A Nat (Monoid.Pow.{u1} A (MonoidWithZero.toMonoid.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4)))))) (Subtype.val.{succ u1} A (fun (x_1 : A) => Membership.mem.{u1, u1} A (Set.{u1} A) (Set.instMembershipSet.{u1} A) x_1 (SetLike.coe.{u1, u1} (Submodule.{u2, u1} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_4))))) (Algebra.toModule.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u1} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_4))))) (Algebra.toModule.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4)) _inst_5)) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x c)))) (HomogeneousLocalization.NumDenSameDeg.den.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x c)) n)
+<too large>
Case conversion may be inaccurate. Consider using '#align homogeneous_localization.num_denom_same_deg.denom_pow HomogeneousLocalization.NumDenSameDeg.den_powₓ'. -/
@[simp]
theorem den_pow (c : NumDenSameDeg 𝒜 x) (n : ℕ) : ((c ^ n).den : A) = c.den ^ n :=
@@ -368,10 +332,7 @@ variable {α : Type _} [SMul α R] [SMul α A] [IsScalarTower α R A]
instance : SMul α (NumDenSameDeg 𝒜 x) where smul m c := ⟨c.deg, m • c.num, c.den, c.denom_mem⟩
/- warning: homogeneous_localization.num_denom_same_deg.deg_smul -> HomogeneousLocalization.NumDenSameDeg.deg_smul is a dubious translation:
-lean 3 declaration is
- forall {ι : Type.{u1}} {R : Type.{u2}} {A : Type.{u3}} [_inst_1 : AddCommMonoid.{u1} ι] [_inst_2 : DecidableEq.{succ u1} ι] [_inst_3 : CommRing.{u2} R] [_inst_4 : CommRing.{u3} A] [_inst_5 : Algebra.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4))] {𝒜 : ι -> (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))} [_inst_6 : GradedAlgebra.{u1, u2, u3} ι R A (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u1} ι _inst_1) (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5 𝒜] (x : Submonoid.{u3} A (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4)))))) {α : Type.{u4}} [_inst_7 : SMul.{u4, u2} α R] [_inst_8 : SMul.{u4, u3} α A] [_inst_9 : IsScalarTower.{u4, u2, u3} α R A _inst_7 (SMulZeroClass.toHasSmul.{u2, u3} R A (AddZeroClass.toHasZero.{u3} A (AddMonoid.toAddZeroClass.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} R A (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} A (AddMonoid.toAddZeroClass.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} R A (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddZeroClass.toHasZero.{u3} A (AddMonoid.toAddZeroClass.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)))))))) (Module.toMulActionWithZero.{u2, u3} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))))) _inst_8] (c : HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (m : α), Eq.{succ u1} ι (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x (SMul.smul.{u4, max u1 u3} α (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.hasSmul.{u1, u2, u3, u4} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x α _inst_7 _inst_8 _inst_9) m c)) (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c)
-but is expected to have type
- forall {ι : Type.{u4}} {R : Type.{u3}} {A : Type.{u2}} [_inst_1 : CommRing.{u3} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u3, u2} R A (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))] {_inst_4 : ι -> (Submodule.{u3, u2} R A (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u3, u2} R A (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3))} (_inst_5 : Submonoid.{u2} A (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)))))) {𝒜 : Type.{u1}} [_inst_6 : SMul.{u1, u3} 𝒜 R] [x : SMul.{u1, u2} 𝒜 A] [α : IsScalarTower.{u1, u3, u2} 𝒜 R A _inst_6 (Algebra.toSMul.{u3, u2} R A (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3) x] (_inst_7 : HomogeneousLocalization.NumDenSameDeg.{u4, u3, u2} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5) (_inst_8 : 𝒜), Eq.{succ u4} ι (HomogeneousLocalization.NumDenSameDeg.deg.{u4, u3, u2} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 (HSMul.hSMul.{u1, max u4 u2, max u4 u2} 𝒜 (HomogeneousLocalization.NumDenSameDeg.{u4, u3, u2} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5) (HomogeneousLocalization.NumDenSameDeg.{u4, u3, u2} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5) (instHSMul.{u1, max u4 u2} 𝒜 (HomogeneousLocalization.NumDenSameDeg.{u4, u3, u2} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5) (HomogeneousLocalization.NumDenSameDeg.instSMulNumDenSameDeg.{u4, u3, u2, u1} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x α)) _inst_8 _inst_7)) (HomogeneousLocalization.NumDenSameDeg.deg.{u4, u3, u2} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_7)
+<too large>
Case conversion may be inaccurate. Consider using '#align homogeneous_localization.num_denom_same_deg.deg_smul HomogeneousLocalization.NumDenSameDeg.deg_smulₓ'. -/
@[simp]
theorem deg_smul (c : NumDenSameDeg 𝒜 x) (m : α) : (m • c).deg = c.deg :=
@@ -379,10 +340,7 @@ theorem deg_smul (c : NumDenSameDeg 𝒜 x) (m : α) : (m • c).deg = c.deg :=
#align homogeneous_localization.num_denom_same_deg.deg_smul HomogeneousLocalization.NumDenSameDeg.deg_smul
/- warning: homogeneous_localization.num_denom_same_deg.num_smul -> HomogeneousLocalization.NumDenSameDeg.num_smul is a dubious translation:
-lean 3 declaration is
- forall {ι : Type.{u1}} {R : Type.{u2}} {A : Type.{u3}} [_inst_1 : AddCommMonoid.{u1} ι] [_inst_2 : DecidableEq.{succ u1} ι] [_inst_3 : CommRing.{u2} R] [_inst_4 : CommRing.{u3} A] [_inst_5 : Algebra.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4))] {𝒜 : ι -> (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))} [_inst_6 : GradedAlgebra.{u1, u2, u3} ι R A (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u1} ι _inst_1) (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5 𝒜] (x : Submonoid.{u3} A (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4)))))) {α : Type.{u4}} [_inst_7 : SMul.{u4, u2} α R] [_inst_8 : SMul.{u4, u3} α A] [_inst_9 : IsScalarTower.{u4, u2, u3} α R A _inst_7 (SMulZeroClass.toHasSmul.{u2, u3} R A (AddZeroClass.toHasZero.{u3} A (AddMonoid.toAddZeroClass.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} R A (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} A (AddMonoid.toAddZeroClass.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} R A (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddZeroClass.toHasZero.{u3} A (AddMonoid.toAddZeroClass.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)))))))) (Module.toMulActionWithZero.{u2, u3} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))))) _inst_8] (c : HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (m : α), Eq.{succ u3} A ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x (SMul.smul.{u4, max u1 u3} α (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.hasSmul.{u1, u2, u3, u4} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x α _inst_7 _inst_8 _inst_9) m c)))) A (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x (SMul.smul.{u4, max u1 u3} α (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.hasSmul.{u1, u2, u3, u4} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x α _inst_7 _inst_8 _inst_9) m c)))) A (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x (SMul.smul.{u4, max u1 u3} α (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.hasSmul.{u1, u2, u3, u4} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x α _inst_7 _inst_8 _inst_9) m c)))) A (coeBase.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x (SMul.smul.{u4, max u1 u3} α (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.hasSmul.{u1, u2, u3, u4} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x α _inst_7 _inst_8 _inst_9) m c)))) A (coeSubtype.{succ u3} A (fun (x_1 : A) => Membership.Mem.{u3, u3} A (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) (SetLike.hasMem.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) x_1 (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x (SMul.smul.{u4, max u1 u3} α (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.hasSmul.{u1, u2, u3, u4} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x α _inst_7 _inst_8 _inst_9) m c)))))))) (HomogeneousLocalization.NumDenSameDeg.num.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x (SMul.smul.{u4, max u1 u3} α (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.hasSmul.{u1, u2, u3, u4} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x α _inst_7 _inst_8 _inst_9) m c))) (SMul.smul.{u4, u3} α A _inst_8 m ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c))) A (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c))) A (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c))) A (coeBase.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c))) A (coeSubtype.{succ u3} A (fun (x_1 : A) => Membership.Mem.{u3, u3} A (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) (SetLike.hasMem.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) x_1 (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c))))))) (HomogeneousLocalization.NumDenSameDeg.num.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c)))
-but is expected to have type
- forall {ι : Type.{u4}} {R : Type.{u3}} {A : Type.{u2}} [_inst_1 : CommRing.{u3} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u3, u2} R A (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))] {_inst_4 : ι -> (Submodule.{u3, u2} R A (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u3, u2} R A (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3))} (_inst_5 : Submonoid.{u2} A (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)))))) {𝒜 : Type.{u1}} [_inst_6 : SMul.{u1, u3} 𝒜 R] [x : SMul.{u1, u2} 𝒜 A] [α : IsScalarTower.{u1, u3, u2} 𝒜 R A _inst_6 (Algebra.toSMul.{u3, u2} R A (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3) x] (_inst_7 : HomogeneousLocalization.NumDenSameDeg.{u4, u3, u2} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5) (_inst_8 : 𝒜), Eq.{succ u2} A (Subtype.val.{succ u2} A (fun (x_1 : A) => Membership.mem.{u2, u2} A (Set.{u2} A) (Set.instMembershipSet.{u2} A) x_1 (SetLike.coe.{u2, u2} (Submodule.{u3, u2} R A (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u3, u2} R A (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (Submodule.setLike.{u3, u2} R A (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u3, u2} R A (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (_inst_4 (HomogeneousLocalization.NumDenSameDeg.deg.{u4, u3, u2} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 (HSMul.hSMul.{u1, max u4 u2, max u4 u2} 𝒜 (HomogeneousLocalization.NumDenSameDeg.{u4, u3, u2} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5) (HomogeneousLocalization.NumDenSameDeg.{u4, u3, u2} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5) (instHSMul.{u1, max u4 u2} 𝒜 (HomogeneousLocalization.NumDenSameDeg.{u4, u3, u2} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5) (HomogeneousLocalization.NumDenSameDeg.instSMulNumDenSameDeg.{u4, u3, u2, u1} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x α)) _inst_8 _inst_7))))) (HomogeneousLocalization.NumDenSameDeg.num.{u4, u3, u2} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 (HSMul.hSMul.{u1, max u4 u2, max u4 u2} 𝒜 (HomogeneousLocalization.NumDenSameDeg.{u4, u3, u2} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5) (HomogeneousLocalization.NumDenSameDeg.{u4, u3, u2} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5) (instHSMul.{u1, max u4 u2} 𝒜 (HomogeneousLocalization.NumDenSameDeg.{u4, u3, u2} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5) (HomogeneousLocalization.NumDenSameDeg.instSMulNumDenSameDeg.{u4, u3, u2, u1} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x α)) _inst_8 _inst_7))) (Subtype.val.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Set.{u2} A) (Set.instMembershipSet.{u2} A) x (SetLike.coe.{u2, u2} (Submodule.{u3, u2} R A (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u3, u2} R A (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (Submodule.setLike.{u3, u2} R A (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u3, u2} R A (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (_inst_4 (HomogeneousLocalization.NumDenSameDeg.deg.{u4, u3, u2} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_7)))) (HSMul.hSMul.{u1, u2, u2} 𝒜 (Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u3, u2} R A (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u3, u2} R A (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R A (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u3, u2} R A (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (Submodule.setLike.{u3, u2} R A (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u3, u2} R A (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3))) x (_inst_4 (HomogeneousLocalization.NumDenSameDeg.deg.{u4, u3, u2} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_7)))) (Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u3, u2} R A (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u3, u2} R A (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R A (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u3, u2} R A (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (Submodule.setLike.{u3, u2} R A (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u3, u2} R A (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3))) x (_inst_4 (HomogeneousLocalization.NumDenSameDeg.deg.{u4, u3, u2} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_7)))) (instHSMul.{u1, u2} 𝒜 (Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u3, u2} R A (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u3, u2} R A (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R A (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u3, u2} R A (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (Submodule.setLike.{u3, u2} R A (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u3, u2} R A (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3))) x (_inst_4 (HomogeneousLocalization.NumDenSameDeg.deg.{u4, u3, u2} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_7)))) (Submodule.smul.{u1, u3, u2} 𝒜 R A (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u3, u2} R A (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3) (_inst_4 (HomogeneousLocalization.NumDenSameDeg.deg.{u4, u3, u2} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_7)) _inst_6 x α)) _inst_8 (HomogeneousLocalization.NumDenSameDeg.num.{u4, u3, u2} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_7)))
+<too large>
Case conversion may be inaccurate. Consider using '#align homogeneous_localization.num_denom_same_deg.num_smul HomogeneousLocalization.NumDenSameDeg.num_smulₓ'. -/
@[simp]
theorem num_smul (c : NumDenSameDeg 𝒜 x) (m : α) : ((m • c).num : A) = m • c.num :=
@@ -390,10 +348,7 @@ theorem num_smul (c : NumDenSameDeg 𝒜 x) (m : α) : ((m • c).num : A) = m
#align homogeneous_localization.num_denom_same_deg.num_smul HomogeneousLocalization.NumDenSameDeg.num_smul
/- warning: homogeneous_localization.num_denom_same_deg.denom_smul -> HomogeneousLocalization.NumDenSameDeg.den_smul is a dubious translation:
-lean 3 declaration is
- forall {ι : Type.{u1}} {R : Type.{u2}} {A : Type.{u3}} [_inst_1 : AddCommMonoid.{u1} ι] [_inst_2 : DecidableEq.{succ u1} ι] [_inst_3 : CommRing.{u2} R] [_inst_4 : CommRing.{u3} A] [_inst_5 : Algebra.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4))] {𝒜 : ι -> (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))} [_inst_6 : GradedAlgebra.{u1, u2, u3} ι R A (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u1} ι _inst_1) (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5 𝒜] (x : Submonoid.{u3} A (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4)))))) {α : Type.{u4}} [_inst_7 : SMul.{u4, u2} α R] [_inst_8 : SMul.{u4, u3} α A] [_inst_9 : IsScalarTower.{u4, u2, u3} α R A _inst_7 (SMulZeroClass.toHasSmul.{u2, u3} R A (AddZeroClass.toHasZero.{u3} A (AddMonoid.toAddZeroClass.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} R A (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} A (AddMonoid.toAddZeroClass.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} R A (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddZeroClass.toHasZero.{u3} A (AddMonoid.toAddZeroClass.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)))))))) (Module.toMulActionWithZero.{u2, u3} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))))) _inst_8] (c : HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (m : α), Eq.{succ u3} A ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x (SMul.smul.{u4, max u1 u3} α (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.hasSmul.{u1, u2, u3, u4} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x α _inst_7 _inst_8 _inst_9) m c)))) A (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x (SMul.smul.{u4, max u1 u3} α (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.hasSmul.{u1, u2, u3, u4} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x α _inst_7 _inst_8 _inst_9) m c)))) A (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x (SMul.smul.{u4, max u1 u3} α (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.hasSmul.{u1, u2, u3, u4} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x α _inst_7 _inst_8 _inst_9) m c)))) A (coeBase.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x (SMul.smul.{u4, max u1 u3} α (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.hasSmul.{u1, u2, u3, u4} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x α _inst_7 _inst_8 _inst_9) m c)))) A (coeSubtype.{succ u3} A (fun (x_1 : A) => Membership.Mem.{u3, u3} A (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) (SetLike.hasMem.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) x_1 (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x (SMul.smul.{u4, max u1 u3} α (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.hasSmul.{u1, u2, u3, u4} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x α _inst_7 _inst_8 _inst_9) m c)))))))) (HomogeneousLocalization.NumDenSameDeg.denom.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x (SMul.smul.{u4, max u1 u3} α (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.hasSmul.{u1, u2, u3, u4} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x α _inst_7 _inst_8 _inst_9) m c))) ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c))) A (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c))) A (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c))) A (coeBase.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c))) A (coeSubtype.{succ u3} A (fun (x_1 : A) => Membership.Mem.{u3, u3} A (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) (SetLike.hasMem.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) x_1 (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c))))))) (HomogeneousLocalization.NumDenSameDeg.denom.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c))
-but is expected to have type
- forall {ι : Type.{u4}} {R : Type.{u3}} {A : Type.{u2}} [_inst_1 : CommRing.{u3} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u3, u2} R A (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))] {_inst_4 : ι -> (Submodule.{u3, u2} R A (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u3, u2} R A (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3))} (_inst_5 : Submonoid.{u2} A (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)))))) {𝒜 : Type.{u1}} [_inst_6 : SMul.{u1, u3} 𝒜 R] [x : SMul.{u1, u2} 𝒜 A] [α : IsScalarTower.{u1, u3, u2} 𝒜 R A _inst_6 (Algebra.toSMul.{u3, u2} R A (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3) x] (_inst_7 : HomogeneousLocalization.NumDenSameDeg.{u4, u3, u2} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5) (_inst_8 : 𝒜), Eq.{succ u2} A (Subtype.val.{succ u2} A (fun (x_1 : A) => Membership.mem.{u2, u2} A (Set.{u2} A) (Set.instMembershipSet.{u2} A) x_1 (SetLike.coe.{u2, u2} (Submodule.{u3, u2} R A (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u3, u2} R A (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (Submodule.setLike.{u3, u2} R A (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u3, u2} R A (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (_inst_4 (HomogeneousLocalization.NumDenSameDeg.deg.{u4, u3, u2} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 (HSMul.hSMul.{u1, max u4 u2, max u4 u2} 𝒜 (HomogeneousLocalization.NumDenSameDeg.{u4, u3, u2} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5) (HomogeneousLocalization.NumDenSameDeg.{u4, u3, u2} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5) (instHSMul.{u1, max u4 u2} 𝒜 (HomogeneousLocalization.NumDenSameDeg.{u4, u3, u2} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5) (HomogeneousLocalization.NumDenSameDeg.instSMulNumDenSameDeg.{u4, u3, u2, u1} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x α)) _inst_8 _inst_7))))) (HomogeneousLocalization.NumDenSameDeg.den.{u4, u3, u2} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 (HSMul.hSMul.{u1, max u4 u2, max u4 u2} 𝒜 (HomogeneousLocalization.NumDenSameDeg.{u4, u3, u2} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5) (HomogeneousLocalization.NumDenSameDeg.{u4, u3, u2} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5) (instHSMul.{u1, max u4 u2} 𝒜 (HomogeneousLocalization.NumDenSameDeg.{u4, u3, u2} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5) (HomogeneousLocalization.NumDenSameDeg.instSMulNumDenSameDeg.{u4, u3, u2, u1} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x α)) _inst_8 _inst_7))) (Subtype.val.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Set.{u2} A) (Set.instMembershipSet.{u2} A) x (SetLike.coe.{u2, u2} (Submodule.{u3, u2} R A (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u3, u2} R A (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (Submodule.setLike.{u3, u2} R A (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u3, u2} R A (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (_inst_4 (HomogeneousLocalization.NumDenSameDeg.deg.{u4, u3, u2} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_7)))) (HomogeneousLocalization.NumDenSameDeg.den.{u4, u3, u2} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_7))
+<too large>
Case conversion may be inaccurate. Consider using '#align homogeneous_localization.num_denom_same_deg.denom_smul HomogeneousLocalization.NumDenSameDeg.den_smulₓ'. -/
@[simp]
theorem den_smul (c : NumDenSameDeg 𝒜 x) (m : α) : ((m • c).den : A) = c.den :=
@@ -457,10 +412,7 @@ def val (y : HomogeneousLocalization 𝒜 x) : at x :=
#align homogeneous_localization.val HomogeneousLocalization.val
/- warning: homogeneous_localization.val_mk' -> HomogeneousLocalization.val_mk'' is a dubious translation:
-lean 3 declaration is
- forall {ι : Type.{u1}} {R : Type.{u2}} {A : Type.{u3}} [_inst_1 : AddCommMonoid.{u1} ι] [_inst_2 : DecidableEq.{succ u1} ι] [_inst_3 : CommRing.{u2} R] [_inst_4 : CommRing.{u3} A] [_inst_5 : Algebra.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4))] {𝒜 : ι -> (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))} [_inst_6 : GradedAlgebra.{u1, u2, u3} ι R A (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u1} ι _inst_1) (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5 𝒜] {x : Submonoid.{u3} A (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4)))))} (i : HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x), Eq.{succ u3} (Localization.{u3} A (CommRing.toCommMonoid.{u3} A _inst_4) x) (HomogeneousLocalization.val.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x (Quotient.mk''.{max (succ u1) (succ u3)} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => (fun (a : ι) (b : ι) => _inst_2 a b) a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (Setoid.ker.{max u1 u3, u3} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => (fun (a : ι) (b : ι) => _inst_2 a b) a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (Localization.{u3} A (CommRing.toCommMonoid.{u3} A _inst_4) x) (HomogeneousLocalization.NumDenSameDeg.embedding.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => (fun (a : ι) (b : ι) => _inst_2 a b) a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x)) i)) (Localization.mk.{u3} A (CommRing.toCommMonoid.{u3} A _inst_4) x ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x i))) A (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x i))) A (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x i))) A (coeBase.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x i))) A (coeSubtype.{succ u3} A (fun (x_1 : A) => Membership.Mem.{u3, u3} A (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) (SetLike.hasMem.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) x_1 (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x i))))))) (HomogeneousLocalization.NumDenSameDeg.num.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x i)) (Subtype.mk.{succ u3} A (fun (x_1 : A) => Membership.Mem.{u3, u3} A (Submonoid.{u3} A (Monoid.toMulOneClass.{u3} A (CommMonoid.toMonoid.{u3} A (CommRing.toCommMonoid.{u3} A _inst_4)))) (SetLike.hasMem.{u3, u3} (Submonoid.{u3} A (Monoid.toMulOneClass.{u3} A (CommMonoid.toMonoid.{u3} A (CommRing.toCommMonoid.{u3} A _inst_4)))) A (Submonoid.setLike.{u3} A (Monoid.toMulOneClass.{u3} A (CommMonoid.toMonoid.{u3} A (CommRing.toCommMonoid.{u3} A _inst_4))))) x_1 x) ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x i))) A (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x i))) A (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x i))) A (coeBase.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x i))) A (coeSubtype.{succ u3} A (fun (x_1 : A) => Membership.Mem.{u3, u3} A (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) (SetLike.hasMem.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) x_1 (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x i))))))) (HomogeneousLocalization.NumDenSameDeg.denom.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x i)) (HomogeneousLocalization.NumDenSameDeg.denom_mem.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x i)))
-but is expected to have type
- forall {ι : Type.{u3}} {R : Type.{u2}} {A : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : CommRing.{u1} A] [_inst_3 : Algebra.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2))] {_inst_4 : ι -> (Submodule.{u2, u1} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3))} {_inst_5 : Submonoid.{u1} A (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)))))} (𝒜 : HomogeneousLocalization.NumDenSameDeg.{u3, u2, u1} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5), Eq.{succ u1} (Localization.{u1} A (CommRing.toCommMonoid.{u1} A _inst_2) _inst_5) (HomogeneousLocalization.val.{u3, u2, u1} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 (Quotient.mk''.{max (succ u1) (succ u3)} (HomogeneousLocalization.NumDenSameDeg.{u3, u2, u1} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5) (Setoid.ker.{max u3 u1, u1} (HomogeneousLocalization.NumDenSameDeg.{u3, u2, u1} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5) (Localization.{u1} A (CommRing.toCommMonoid.{u1} A _inst_2) _inst_5) (HomogeneousLocalization.NumDenSameDeg.embedding.{u3, u2, u1} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5)) 𝒜)) (Localization.mk.{u1} A (CommRing.toCommMonoid.{u1} A _inst_2) _inst_5 (Subtype.val.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (Set.{u1} A) (Set.instMembershipSet.{u1} A) x (SetLike.coe.{u1, u1} (Submodule.{u2, u1} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3)) A (Submodule.setLike.{u2, u1} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3)) (_inst_4 (HomogeneousLocalization.NumDenSameDeg.deg.{u3, u2, u1} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 𝒜)))) (HomogeneousLocalization.NumDenSameDeg.num.{u3, u2, u1} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 𝒜)) (Subtype.mk.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (Submonoid.{u1} A (Monoid.toMulOneClass.{u1} A (CommMonoid.toMonoid.{u1} A (CommRing.toCommMonoid.{u1} A _inst_2)))) (SetLike.instMembership.{u1, u1} (Submonoid.{u1} A (Monoid.toMulOneClass.{u1} A (CommMonoid.toMonoid.{u1} A (CommRing.toCommMonoid.{u1} A _inst_2)))) A (Submonoid.instSetLikeSubmonoid.{u1} A (Monoid.toMulOneClass.{u1} A (CommMonoid.toMonoid.{u1} A (CommRing.toCommMonoid.{u1} A _inst_2))))) x _inst_5) (Subtype.val.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (Set.{u1} A) (Set.instMembershipSet.{u1} A) x (SetLike.coe.{u1, u1} (Submodule.{u2, u1} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3)) A (Submodule.setLike.{u2, u1} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3)) (_inst_4 (HomogeneousLocalization.NumDenSameDeg.deg.{u3, u2, u1} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 𝒜)))) (HomogeneousLocalization.NumDenSameDeg.den.{u3, u2, u1} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 𝒜)) (HomogeneousLocalization.NumDenSameDeg.den_mem.{u3, u2, u1} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 𝒜)))
+<too large>
Case conversion may be inaccurate. Consider using '#align homogeneous_localization.val_mk' HomogeneousLocalization.val_mk''ₓ'. -/
@[simp]
theorem val_mk'' (i : NumDenSameDeg 𝒜 x) :
@@ -508,10 +460,7 @@ instance : SMul α (HomogeneousLocalization 𝒜 x)
convert congr_arg (fun z : at x => m • z) h <;> rw [Localization.smul_mk] <;> rfl
/- warning: homogeneous_localization.smul_val -> HomogeneousLocalization.smul_val is a dubious translation:
-lean 3 declaration is
- forall {ι : Type.{u1}} {R : Type.{u2}} {A : Type.{u3}} [_inst_1 : AddCommMonoid.{u1} ι] [_inst_2 : DecidableEq.{succ u1} ι] [_inst_3 : CommRing.{u2} R] [_inst_4 : CommRing.{u3} A] [_inst_5 : Algebra.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4))] {𝒜 : ι -> (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))} [_inst_6 : GradedAlgebra.{u1, u2, u3} ι R A (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u1} ι _inst_1) (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5 𝒜] (x : Submonoid.{u3} A (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4)))))) {α : Type.{u4}} [_inst_7 : SMul.{u4, u2} α R] [_inst_8 : SMul.{u4, u3} α A] [_inst_9 : IsScalarTower.{u4, u2, u3} α R A _inst_7 (SMulZeroClass.toHasSmul.{u2, u3} R A (AddZeroClass.toHasZero.{u3} A (AddMonoid.toAddZeroClass.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} R A (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} A (AddMonoid.toAddZeroClass.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} R A (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddZeroClass.toHasZero.{u3} A (AddMonoid.toAddZeroClass.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)))))))) (Module.toMulActionWithZero.{u2, u3} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))))) _inst_8] [_inst_10 : IsScalarTower.{u4, u3, u3} α A A _inst_8 (Mul.toSMul.{u3} A (Distrib.toHasMul.{u3} A (Ring.toDistrib.{u3} A (CommRing.toRing.{u3} A _inst_4)))) _inst_8] (y : HomogeneousLocalization.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (n : α), Eq.{succ u3} (Localization.{u3} A (CommRing.toCommMonoid.{u3} A _inst_4) x) (HomogeneousLocalization.val.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x (SMul.smul.{u4, max u1 u3} α (HomogeneousLocalization.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.hasSmul.{u1, u2, u3, u4} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x α _inst_7 _inst_8 _inst_9 _inst_10) n y)) (SMul.smul.{u4, u3} α (Localization.{u3} A (CommRing.toCommMonoid.{u3} A _inst_4) x) (Localization.hasSmul.{u3, u4} A (CommRing.toCommMonoid.{u3} A _inst_4) x α _inst_8 _inst_10) n (HomogeneousLocalization.val.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x y))
-but is expected to have type
- forall {ι : Type.{u4}} {R : Type.{u3}} {A : Type.{u2}} [_inst_1 : CommRing.{u3} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u3, u2} R A (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))] {_inst_4 : ι -> (Submodule.{u3, u2} R A (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u3, u2} R A (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3))} (_inst_5 : Submonoid.{u2} A (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)))))) {𝒜 : Type.{u1}} [_inst_6 : SMul.{u1, u3} 𝒜 R] [x : SMul.{u1, u2} 𝒜 A] [α : IsScalarTower.{u1, u3, u2} 𝒜 R A _inst_6 (Algebra.toSMul.{u3, u2} R A (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3) x] [_inst_7 : IsScalarTower.{u1, u2, u2} 𝒜 A A x (Algebra.toSMul.{u2, u2} A A (CommRing.toCommSemiring.{u2} A _inst_2) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (Algebra.id.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))) x] (_inst_8 : HomogeneousLocalization.{u4, u3, u2} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5) (_inst_9 : 𝒜), Eq.{succ u2} (Localization.{u2} A (CommRing.toCommMonoid.{u2} A _inst_2) _inst_5) (HomogeneousLocalization.val.{u4, u3, u2} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 (HSMul.hSMul.{u1, max u4 u2, max u4 u2} 𝒜 (HomogeneousLocalization.{u4, u3, u2} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5) (HomogeneousLocalization.{u4, u3, u2} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5) (instHSMul.{u1, max u4 u2} 𝒜 (HomogeneousLocalization.{u4, u3, u2} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5) (HomogeneousLocalization.instSMulHomogeneousLocalization.{u4, u3, u2, u1} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x α _inst_7)) _inst_9 _inst_8)) (HSMul.hSMul.{u1, u2, u2} 𝒜 (Localization.{u2} A (CommRing.toCommMonoid.{u2} A _inst_2) _inst_5) (Localization.{u2} A (CommRing.toCommMonoid.{u2} A _inst_2) _inst_5) (instHSMul.{u1, u2} 𝒜 (Localization.{u2} A (CommRing.toCommMonoid.{u2} A _inst_2) _inst_5) (Localization.instSMulLocalization.{u2, u1} A (CommRing.toCommMonoid.{u2} A _inst_2) _inst_5 𝒜 x _inst_7)) _inst_9 (HomogeneousLocalization.val.{u4, u3, u2} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_8))
+<too large>
Case conversion may be inaccurate. Consider using '#align homogeneous_localization.smul_val HomogeneousLocalization.smul_valₓ'. -/
@[simp]
theorem smul_val (y : HomogeneousLocalization 𝒜 x) (n : α) : (n • y).val = n • y.val :=
@@ -562,20 +511,14 @@ instance : One (HomogeneousLocalization 𝒜 x) where one := Quotient.mk'' 1
instance : Zero (HomogeneousLocalization 𝒜 x) where zero := Quotient.mk'' 0
/- warning: homogeneous_localization.zero_eq -> HomogeneousLocalization.zero_eq is a dubious translation:
-lean 3 declaration is
- forall {ι : Type.{u1}} {R : Type.{u2}} {A : Type.{u3}} [_inst_1 : AddCommMonoid.{u1} ι] [_inst_2 : DecidableEq.{succ u1} ι] [_inst_3 : CommRing.{u2} R] [_inst_4 : CommRing.{u3} A] [_inst_5 : Algebra.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4))] {𝒜 : ι -> (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))} [_inst_6 : GradedAlgebra.{u1, u2, u3} ι R A (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u1} ι _inst_1) (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5 𝒜] (x : Submonoid.{u3} A (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4)))))), Eq.{succ (max u1 u3)} (HomogeneousLocalization.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (OfNat.ofNat.{max u1 u3} (HomogeneousLocalization.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) 0 (OfNat.mk.{max u1 u3} (HomogeneousLocalization.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) 0 (Zero.zero.{max u1 u3} (HomogeneousLocalization.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.hasZero.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x)))) (Quotient.mk''.{max (succ u1) (succ u3)} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => (fun (a : ι) (b : ι) => _inst_2 a b) a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (Setoid.ker.{max u1 u3, u3} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => (fun (a : ι) (b : ι) => _inst_2 a b) a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (Localization.{u3} A (CommRing.toCommMonoid.{u3} A _inst_4) x) (HomogeneousLocalization.NumDenSameDeg.embedding.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => (fun (a : ι) (b : ι) => _inst_2 a b) a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x)) (OfNat.ofNat.{max u1 u3} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => (fun (a : ι) (b : ι) => _inst_2 a b) a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) 0 (OfNat.mk.{max u1 u3} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => (fun (a : ι) (b : ι) => _inst_2 a b) a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) 0 (Zero.zero.{max u1 u3} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => (fun (a : ι) (b : ι) => _inst_2 a b) a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.hasZero.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => (fun (a : ι) (b : ι) => _inst_2 a b) a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x)))))
-but is expected to have type
- forall {ι : Type.{u3}} {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : AddCommMonoid.{u3} ι] [_inst_2 : DecidableEq.{succ u3} ι] [_inst_3 : CommRing.{u1} R] [_inst_4 : CommRing.{u2} A] [_inst_5 : Algebra.{u1, u2} R A (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_4))] {𝒜 : ι -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_4))))) (Algebra.toModule.{u1, u2} R A (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_4)) _inst_5))} [_inst_6 : GradedAlgebra.{u3, u1, u2} ι R A (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u3} ι _inst_1) (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_4)) _inst_5 𝒜] (x : Submonoid.{u2} A (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_4)))))), Eq.{max (succ u3) (succ u2)} (HomogeneousLocalization.{u3, u1, u2} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) (OfNat.ofNat.{max u3 u2} (HomogeneousLocalization.{u3, u1, u2} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) 0 (Zero.toOfNat0.{max u3 u2} (HomogeneousLocalization.{u3, u1, u2} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) (HomogeneousLocalization.instZeroHomogeneousLocalization.{u3, u1, u2} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x))) (Quotient.mk''.{succ (max u3 u2)} (HomogeneousLocalization.NumDenSameDeg.{u3, u1, u2} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) (Setoid.ker.{max u3 u2, u2} (HomogeneousLocalization.NumDenSameDeg.{u3, u1, u2} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) (Localization.{u2} A (CommRing.toCommMonoid.{u2} A _inst_4) x) (HomogeneousLocalization.NumDenSameDeg.embedding.{u3, u1, u2} ι R A _inst_3 _inst_4 _inst_5 𝒜 x)) (OfNat.ofNat.{max u3 u2} (HomogeneousLocalization.NumDenSameDeg.{u3, u1, u2} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) 0 (Zero.toOfNat0.{max u3 u2} (HomogeneousLocalization.NumDenSameDeg.{u3, u1, u2} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) (HomogeneousLocalization.NumDenSameDeg.instZeroNumDenSameDeg.{u3, u1, u2} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x))))
+<too large>
Case conversion may be inaccurate. Consider using '#align homogeneous_localization.zero_eq HomogeneousLocalization.zero_eqₓ'. -/
theorem zero_eq : (0 : HomogeneousLocalization 𝒜 x) = Quotient.mk'' 0 :=
rfl
#align homogeneous_localization.zero_eq HomogeneousLocalization.zero_eq
/- warning: homogeneous_localization.one_eq -> HomogeneousLocalization.one_eq is a dubious translation:
-lean 3 declaration is
- forall {ι : Type.{u1}} {R : Type.{u2}} {A : Type.{u3}} [_inst_1 : AddCommMonoid.{u1} ι] [_inst_2 : DecidableEq.{succ u1} ι] [_inst_3 : CommRing.{u2} R] [_inst_4 : CommRing.{u3} A] [_inst_5 : Algebra.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4))] {𝒜 : ι -> (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))} [_inst_6 : GradedAlgebra.{u1, u2, u3} ι R A (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u1} ι _inst_1) (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5 𝒜] (x : Submonoid.{u3} A (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4)))))), Eq.{succ (max u1 u3)} (HomogeneousLocalization.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (OfNat.ofNat.{max u1 u3} (HomogeneousLocalization.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) 1 (OfNat.mk.{max u1 u3} (HomogeneousLocalization.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) 1 (One.one.{max u1 u3} (HomogeneousLocalization.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.hasOne.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x)))) (Quotient.mk''.{max (succ u1) (succ u3)} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => (fun (a : ι) (b : ι) => _inst_2 a b) a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (Setoid.ker.{max u1 u3, u3} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => (fun (a : ι) (b : ι) => _inst_2 a b) a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (Localization.{u3} A (CommRing.toCommMonoid.{u3} A _inst_4) x) (HomogeneousLocalization.NumDenSameDeg.embedding.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => (fun (a : ι) (b : ι) => _inst_2 a b) a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x)) (OfNat.ofNat.{max u1 u3} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => (fun (a : ι) (b : ι) => _inst_2 a b) a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) 1 (OfNat.mk.{max u1 u3} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => (fun (a : ι) (b : ι) => _inst_2 a b) a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) 1 (One.one.{max u1 u3} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => (fun (a : ι) (b : ι) => _inst_2 a b) a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.hasOne.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => (fun (a : ι) (b : ι) => _inst_2 a b) a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x)))))
-but is expected to have type
- forall {ι : Type.{u3}} {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : AddCommMonoid.{u3} ι] [_inst_2 : DecidableEq.{succ u3} ι] [_inst_3 : CommRing.{u1} R] [_inst_4 : CommRing.{u2} A] [_inst_5 : Algebra.{u1, u2} R A (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_4))] {𝒜 : ι -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_4))))) (Algebra.toModule.{u1, u2} R A (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_4)) _inst_5))} [_inst_6 : GradedAlgebra.{u3, u1, u2} ι R A (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u3} ι _inst_1) (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_4)) _inst_5 𝒜] (x : Submonoid.{u2} A (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_4)))))), Eq.{max (succ u3) (succ u2)} (HomogeneousLocalization.{u3, u1, u2} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) (OfNat.ofNat.{max u3 u2} (HomogeneousLocalization.{u3, u1, u2} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) 1 (One.toOfNat1.{max u3 u2} (HomogeneousLocalization.{u3, u1, u2} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) (HomogeneousLocalization.instOneHomogeneousLocalization.{u3, u1, u2} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x))) (Quotient.mk''.{succ (max u3 u2)} (HomogeneousLocalization.NumDenSameDeg.{u3, u1, u2} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) (Setoid.ker.{max u3 u2, u2} (HomogeneousLocalization.NumDenSameDeg.{u3, u1, u2} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) (Localization.{u2} A (CommRing.toCommMonoid.{u2} A _inst_4) x) (HomogeneousLocalization.NumDenSameDeg.embedding.{u3, u1, u2} ι R A _inst_3 _inst_4 _inst_5 𝒜 x)) (OfNat.ofNat.{max u3 u2} (HomogeneousLocalization.NumDenSameDeg.{u3, u1, u2} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) 1 (One.toOfNat1.{max u3 u2} (HomogeneousLocalization.NumDenSameDeg.{u3, u1, u2} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) (HomogeneousLocalization.NumDenSameDeg.instOneNumDenSameDeg.{u3, u1, u2} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x))))
+<too large>
Case conversion may be inaccurate. Consider using '#align homogeneous_localization.one_eq HomogeneousLocalization.one_eqₓ'. -/
theorem one_eq : (1 : HomogeneousLocalization 𝒜 x) = Quotient.mk'' 1 :=
rfl
@@ -604,10 +547,7 @@ theorem one_val : (1 : HomogeneousLocalization 𝒜 x).val = 1 :=
#align homogeneous_localization.one_val HomogeneousLocalization.one_val
/- warning: homogeneous_localization.add_val -> HomogeneousLocalization.add_val is a dubious translation:
-lean 3 declaration is
- forall {ι : Type.{u1}} {R : Type.{u2}} {A : Type.{u3}} [_inst_1 : AddCommMonoid.{u1} ι] [_inst_2 : DecidableEq.{succ u1} ι] [_inst_3 : CommRing.{u2} R] [_inst_4 : CommRing.{u3} A] [_inst_5 : Algebra.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4))] {𝒜 : ι -> (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))} [_inst_6 : GradedAlgebra.{u1, u2, u3} ι R A (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u1} ι _inst_1) (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5 𝒜] {x : Submonoid.{u3} A (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4)))))} (y1 : HomogeneousLocalization.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (y2 : HomogeneousLocalization.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x), Eq.{succ u3} (Localization.{u3} A (CommRing.toCommMonoid.{u3} A _inst_4) x) (HomogeneousLocalization.val.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x (HAdd.hAdd.{max u1 u3, max u1 u3, max u1 u3} (HomogeneousLocalization.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (instHAdd.{max u1 u3} (HomogeneousLocalization.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.hasAdd.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x)) y1 y2)) (HAdd.hAdd.{u3, u3, u3} (Localization.{u3} A (CommRing.toCommMonoid.{u3} A _inst_4) x) (Localization.{u3} A (CommRing.toCommMonoid.{u3} A _inst_4) x) (Localization.{u3} A (CommRing.toCommMonoid.{u3} A _inst_4) x) (instHAdd.{u3} (Localization.{u3} A (CommRing.toCommMonoid.{u3} A _inst_4) x) (Localization.hasAdd.{u3} A (CommRing.toCommSemiring.{u3} A _inst_4) x)) (HomogeneousLocalization.val.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x y1) (HomogeneousLocalization.val.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x y2))
-but is expected to have type
- forall {ι : Type.{u3}} {R : Type.{u2}} {A : Type.{u1}} [_inst_1 : AddCommMonoid.{u3} ι] [_inst_2 : DecidableEq.{succ u3} ι] [_inst_3 : CommRing.{u2} R] [_inst_4 : CommRing.{u1} A] [_inst_5 : Algebra.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4))] {𝒜 : ι -> (Submodule.{u2, u1} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_4))))) (Algebra.toModule.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4)) _inst_5))} [_inst_6 : GradedAlgebra.{u3, u2, u1} ι R A (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u3} ι _inst_1) (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4)) _inst_5 𝒜] {x : Submonoid.{u1} A (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4)))))} (y1 : HomogeneousLocalization.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) (y2 : HomogeneousLocalization.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x), Eq.{succ u1} (Localization.{u1} A (CommRing.toCommMonoid.{u1} A _inst_4) x) (HomogeneousLocalization.val.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x (HAdd.hAdd.{max u3 u1, max u3 u1, max u3 u1} (HomogeneousLocalization.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) (HomogeneousLocalization.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) (HomogeneousLocalization.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) (instHAdd.{max u3 u1} (HomogeneousLocalization.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) (HomogeneousLocalization.instAddHomogeneousLocalization.{u3, u2, u1} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x)) y1 y2)) (HAdd.hAdd.{u1, u1, u1} (Localization.{u1} A (CommRing.toCommMonoid.{u1} A _inst_4) x) (Localization.{u1} A (CommRing.toCommMonoid.{u1} A _inst_4) x) (Localization.{u1} A (CommRing.toCommMonoid.{u1} A _inst_4) x) (instHAdd.{u1} (Localization.{u1} A (CommRing.toCommMonoid.{u1} A _inst_4) x) (Localization.instAddLocalizationToCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4) x)) (HomogeneousLocalization.val.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x y1) (HomogeneousLocalization.val.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x y2))
+<too large>
Case conversion may be inaccurate. Consider using '#align homogeneous_localization.add_val HomogeneousLocalization.add_valₓ'. -/
@[simp]
theorem add_val (y1 y2 : HomogeneousLocalization 𝒜 x) : (y1 + y2).val = y1.val + y2.val :=
@@ -623,10 +563,7 @@ theorem add_val (y1 y2 : HomogeneousLocalization 𝒜 x) : (y1 + y2).val = y1.va
#align homogeneous_localization.add_val HomogeneousLocalization.add_val
/- warning: homogeneous_localization.mul_val -> HomogeneousLocalization.mul_val is a dubious translation:
-lean 3 declaration is
- forall {ι : Type.{u1}} {R : Type.{u2}} {A : Type.{u3}} [_inst_1 : AddCommMonoid.{u1} ι] [_inst_2 : DecidableEq.{succ u1} ι] [_inst_3 : CommRing.{u2} R] [_inst_4 : CommRing.{u3} A] [_inst_5 : Algebra.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4))] {𝒜 : ι -> (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))} [_inst_6 : GradedAlgebra.{u1, u2, u3} ι R A (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u1} ι _inst_1) (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5 𝒜] {x : Submonoid.{u3} A (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4)))))} (y1 : HomogeneousLocalization.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (y2 : HomogeneousLocalization.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x), Eq.{succ u3} (Localization.{u3} A (CommRing.toCommMonoid.{u3} A _inst_4) x) (HomogeneousLocalization.val.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x (HMul.hMul.{max u1 u3, max u1 u3, max u1 u3} (HomogeneousLocalization.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (instHMul.{max u1 u3} (HomogeneousLocalization.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.hasMul.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x)) y1 y2)) (HMul.hMul.{u3, u3, u3} (Localization.{u3} A (CommRing.toCommMonoid.{u3} A _inst_4) x) (Localization.{u3} A (CommRing.toCommMonoid.{u3} A _inst_4) x) (Localization.{u3} A (CommRing.toCommMonoid.{u3} A _inst_4) x) (instHMul.{u3} (Localization.{u3} A (CommRing.toCommMonoid.{u3} A _inst_4) x) (Localization.hasMul.{u3} A (CommRing.toCommMonoid.{u3} A _inst_4) x)) (HomogeneousLocalization.val.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x y1) (HomogeneousLocalization.val.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x y2))
-but is expected to have type
- forall {ι : Type.{u3}} {R : Type.{u2}} {A : Type.{u1}} [_inst_1 : AddCommMonoid.{u3} ι] [_inst_2 : DecidableEq.{succ u3} ι] [_inst_3 : CommRing.{u2} R] [_inst_4 : CommRing.{u1} A] [_inst_5 : Algebra.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4))] {𝒜 : ι -> (Submodule.{u2, u1} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_4))))) (Algebra.toModule.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4)) _inst_5))} [_inst_6 : GradedAlgebra.{u3, u2, u1} ι R A (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u3} ι _inst_1) (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4)) _inst_5 𝒜] {x : Submonoid.{u1} A (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4)))))} (y1 : HomogeneousLocalization.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) (y2 : HomogeneousLocalization.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x), Eq.{succ u1} (Localization.{u1} A (CommRing.toCommMonoid.{u1} A _inst_4) x) (HomogeneousLocalization.val.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x (HMul.hMul.{max u3 u1, max u3 u1, max u3 u1} (HomogeneousLocalization.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) (HomogeneousLocalization.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) (HomogeneousLocalization.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) (instHMul.{max u3 u1} (HomogeneousLocalization.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) (HomogeneousLocalization.instMulHomogeneousLocalization.{u3, u2, u1} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x)) y1 y2)) (HMul.hMul.{u1, u1, u1} (Localization.{u1} A (CommRing.toCommMonoid.{u1} A _inst_4) x) (Localization.{u1} A (CommRing.toCommMonoid.{u1} A _inst_4) x) (Localization.{u1} A (CommRing.toCommMonoid.{u1} A _inst_4) x) (instHMul.{u1} (Localization.{u1} A (CommRing.toCommMonoid.{u1} A _inst_4) x) (Localization.instMulLocalization.{u1} A (CommRing.toCommMonoid.{u1} A _inst_4) x)) (HomogeneousLocalization.val.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x y1) (HomogeneousLocalization.val.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x y2))
+<too large>
Case conversion may be inaccurate. Consider using '#align homogeneous_localization.mul_val HomogeneousLocalization.mul_valₓ'. -/
@[simp]
theorem mul_val (y1 y2 : HomogeneousLocalization 𝒜 x) : (y1 * y2).val = y1.val * y2.val :=
@@ -660,10 +597,7 @@ theorem neg_val (y : HomogeneousLocalization 𝒜 x) : (-y).val = -y.val :=
#align homogeneous_localization.neg_val HomogeneousLocalization.neg_val
/- warning: homogeneous_localization.sub_val -> HomogeneousLocalization.sub_val is a dubious translation:
-lean 3 declaration is
- forall {ι : Type.{u1}} {R : Type.{u2}} {A : Type.{u3}} [_inst_1 : AddCommMonoid.{u1} ι] [_inst_2 : DecidableEq.{succ u1} ι] [_inst_3 : CommRing.{u2} R] [_inst_4 : CommRing.{u3} A] [_inst_5 : Algebra.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4))] {𝒜 : ι -> (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))} [_inst_6 : GradedAlgebra.{u1, u2, u3} ι R A (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u1} ι _inst_1) (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5 𝒜] {x : Submonoid.{u3} A (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4)))))} (y1 : HomogeneousLocalization.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (y2 : HomogeneousLocalization.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x), Eq.{succ u3} (Localization.{u3} A (CommRing.toCommMonoid.{u3} A _inst_4) x) (HomogeneousLocalization.val.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x (HSub.hSub.{max u1 u3, max u1 u3, max u1 u3} (HomogeneousLocalization.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (instHSub.{max u1 u3} (HomogeneousLocalization.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.hasSub.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x)) y1 y2)) (HSub.hSub.{u3, u3, u3} (Localization.{u3} A (CommRing.toCommMonoid.{u3} A _inst_4) x) (Localization.{u3} A (CommRing.toCommMonoid.{u3} A _inst_4) x) (Localization.{u3} A (CommRing.toCommMonoid.{u3} A _inst_4) x) (instHSub.{u3} (Localization.{u3} A (CommRing.toCommMonoid.{u3} A _inst_4) x) (SubNegMonoid.toHasSub.{u3} (Localization.{u3} A (CommRing.toCommMonoid.{u3} A _inst_4) x) (AddGroup.toSubNegMonoid.{u3} (Localization.{u3} A (CommRing.toCommMonoid.{u3} A _inst_4) x) (AddGroupWithOne.toAddGroup.{u3} (Localization.{u3} A (CommRing.toCommMonoid.{u3} A _inst_4) x) (AddCommGroupWithOne.toAddGroupWithOne.{u3} (Localization.{u3} A (CommRing.toCommMonoid.{u3} A _inst_4) x) (Ring.toAddCommGroupWithOne.{u3} (Localization.{u3} A (CommRing.toCommMonoid.{u3} A _inst_4) x) (CommRing.toRing.{u3} (Localization.{u3} A (CommRing.toCommMonoid.{u3} A _inst_4) x) (Localization.commRing.{u3} A _inst_4 x)))))))) (HomogeneousLocalization.val.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x y1) (HomogeneousLocalization.val.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x y2))
-but is expected to have type
- forall {ι : Type.{u3}} {R : Type.{u2}} {A : Type.{u1}} [_inst_1 : AddCommMonoid.{u3} ι] [_inst_2 : DecidableEq.{succ u3} ι] [_inst_3 : CommRing.{u2} R] [_inst_4 : CommRing.{u1} A] [_inst_5 : Algebra.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4))] {𝒜 : ι -> (Submodule.{u2, u1} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_4))))) (Algebra.toModule.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4)) _inst_5))} [_inst_6 : GradedAlgebra.{u3, u2, u1} ι R A (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u3} ι _inst_1) (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4)) _inst_5 𝒜] {x : Submonoid.{u1} A (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4)))))} (y1 : HomogeneousLocalization.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) (y2 : HomogeneousLocalization.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x), Eq.{succ u1} (Localization.{u1} A (CommRing.toCommMonoid.{u1} A _inst_4) x) (HomogeneousLocalization.val.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x (HSub.hSub.{max u3 u1, max u3 u1, max u3 u1} (HomogeneousLocalization.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) (HomogeneousLocalization.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) (HomogeneousLocalization.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) (instHSub.{max u3 u1} (HomogeneousLocalization.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) (HomogeneousLocalization.instSubHomogeneousLocalization.{u3, u2, u1} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x)) y1 y2)) (HSub.hSub.{u1, u1, u1} (Localization.{u1} A (CommRing.toCommMonoid.{u1} A _inst_4) x) (Localization.{u1} A (CommRing.toCommMonoid.{u1} A _inst_4) x) (Localization.{u1} A (CommRing.toCommMonoid.{u1} A _inst_4) x) (instHSub.{u1} (Localization.{u1} A (CommRing.toCommMonoid.{u1} A _inst_4) x) (Ring.toSub.{u1} (Localization.{u1} A (CommRing.toCommMonoid.{u1} A _inst_4) x) (CommRing.toRing.{u1} (Localization.{u1} A (CommRing.toCommMonoid.{u1} A _inst_4) x) (Localization.instCommRingLocalizationToCommMonoid.{u1} A _inst_4 x)))) (HomogeneousLocalization.val.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x y1) (HomogeneousLocalization.val.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x y2))
+<too large>
Case conversion may be inaccurate. Consider using '#align homogeneous_localization.sub_val HomogeneousLocalization.sub_valₓ'. -/
@[simp]
theorem sub_val (y1 y2 : HomogeneousLocalization 𝒜 x) : (y1 - y2).val = y1.val - y2.val := by
@@ -671,10 +605,7 @@ theorem sub_val (y1 y2 : HomogeneousLocalization 𝒜 x) : (y1 - y2).val = y1.va
#align homogeneous_localization.sub_val HomogeneousLocalization.sub_val
/- warning: homogeneous_localization.pow_val -> HomogeneousLocalization.pow_val is a dubious translation:
-lean 3 declaration is
- forall {ι : Type.{u1}} {R : Type.{u2}} {A : Type.{u3}} [_inst_1 : AddCommMonoid.{u1} ι] [_inst_2 : DecidableEq.{succ u1} ι] [_inst_3 : CommRing.{u2} R] [_inst_4 : CommRing.{u3} A] [_inst_5 : Algebra.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4))] {𝒜 : ι -> (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))} [_inst_6 : GradedAlgebra.{u1, u2, u3} ι R A (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u1} ι _inst_1) (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5 𝒜] {x : Submonoid.{u3} A (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4)))))} (y : HomogeneousLocalization.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (n : Nat), Eq.{succ u3} (Localization.{u3} A (CommRing.toCommMonoid.{u3} A _inst_4) x) (HomogeneousLocalization.val.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x (HPow.hPow.{max u1 u3, 0, max u1 u3} (HomogeneousLocalization.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) Nat (HomogeneousLocalization.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (instHPow.{max u1 u3, 0} (HomogeneousLocalization.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) Nat (HomogeneousLocalization.hasPow.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x)) y n)) (HPow.hPow.{u3, 0, u3} (Localization.{u3} A (CommRing.toCommMonoid.{u3} A _inst_4) x) Nat (Localization.{u3} A (CommRing.toCommMonoid.{u3} A _inst_4) x) (instHPow.{u3, 0} (Localization.{u3} A (CommRing.toCommMonoid.{u3} A _inst_4) x) Nat (Monoid.Pow.{u3} (Localization.{u3} A (CommRing.toCommMonoid.{u3} A _inst_4) x) (Ring.toMonoid.{u3} (Localization.{u3} A (CommRing.toCommMonoid.{u3} A _inst_4) x) (CommRing.toRing.{u3} (Localization.{u3} A (CommRing.toCommMonoid.{u3} A _inst_4) x) (Localization.commRing.{u3} A _inst_4 x))))) (HomogeneousLocalization.val.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x y) n)
-but is expected to have type
- forall {ι : Type.{u3}} {R : Type.{u2}} {A : Type.{u1}} [_inst_1 : AddCommMonoid.{u3} ι] [_inst_2 : DecidableEq.{succ u3} ι] [_inst_3 : CommRing.{u2} R] [_inst_4 : CommRing.{u1} A] [_inst_5 : Algebra.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4))] {𝒜 : ι -> (Submodule.{u2, u1} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_4))))) (Algebra.toModule.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4)) _inst_5))} [_inst_6 : GradedAlgebra.{u3, u2, u1} ι R A (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u3} ι _inst_1) (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4)) _inst_5 𝒜] {x : Submonoid.{u1} A (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4)))))} (y : HomogeneousLocalization.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) (n : Nat), Eq.{succ u1} (Localization.{u1} A (CommRing.toCommMonoid.{u1} A _inst_4) x) (HomogeneousLocalization.val.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x (HPow.hPow.{max u3 u1, 0, max u3 u1} (HomogeneousLocalization.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) Nat (HomogeneousLocalization.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) (instHPow.{max u3 u1, 0} (HomogeneousLocalization.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) Nat (HomogeneousLocalization.hasPow.{u3, u2, u1} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x)) y n)) (HPow.hPow.{u1, 0, u1} (Localization.{u1} A (CommRing.toCommMonoid.{u1} A _inst_4) x) Nat (Localization.{u1} A (CommRing.toCommMonoid.{u1} A _inst_4) x) (instHPow.{u1, 0} (Localization.{u1} A (CommRing.toCommMonoid.{u1} A _inst_4) x) Nat (Monoid.Pow.{u1} (Localization.{u1} A (CommRing.toCommMonoid.{u1} A _inst_4) x) (MonoidWithZero.toMonoid.{u1} (Localization.{u1} A (CommRing.toCommMonoid.{u1} A _inst_4) x) (Semiring.toMonoidWithZero.{u1} (Localization.{u1} A (CommRing.toCommMonoid.{u1} A _inst_4) x) (CommSemiring.toSemiring.{u1} (Localization.{u1} A (CommRing.toCommMonoid.{u1} A _inst_4) x) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4) x)))))) (HomogeneousLocalization.val.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x y) n)
+<too large>
Case conversion may be inaccurate. Consider using '#align homogeneous_localization.pow_val HomogeneousLocalization.pow_valₓ'. -/
@[simp]
theorem pow_val (y : HomogeneousLocalization 𝒜 x) (n : ℕ) : (y ^ n).val = y.val ^ n :=
@@ -695,10 +626,7 @@ instance : IntCast (HomogeneousLocalization 𝒜 x) :=
⟨Int.castDef⟩
/- warning: homogeneous_localization.nat_cast_val -> HomogeneousLocalization.natCast_val is a dubious translation:
-lean 3 declaration is
- forall {ι : Type.{u1}} {R : Type.{u2}} {A : Type.{u3}} [_inst_1 : AddCommMonoid.{u1} ι] [_inst_2 : DecidableEq.{succ u1} ι] [_inst_3 : CommRing.{u2} R] [_inst_4 : CommRing.{u3} A] [_inst_5 : Algebra.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4))] {𝒜 : ι -> (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))} [_inst_6 : GradedAlgebra.{u1, u2, u3} ι R A (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u1} ι _inst_1) (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5 𝒜] {x : Submonoid.{u3} A (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4)))))} (n : Nat), Eq.{succ u3} (Localization.{u3} A (CommRing.toCommMonoid.{u3} A _inst_4) x) (HomogeneousLocalization.val.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x ((fun (a : Type) (b : Type.{max u1 u3}) [self : HasLiftT.{1, succ (max u1 u3)} a b] => self.0) Nat (HomogeneousLocalization.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HasLiftT.mk.{1, succ (max u1 u3)} Nat (HomogeneousLocalization.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (CoeTCₓ.coe.{1, succ (max u1 u3)} Nat (HomogeneousLocalization.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (Nat.castCoe.{max u1 u3} (HomogeneousLocalization.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.hasNatCast.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x)))) n)) ((fun (a : Type) (b : Type.{u3}) [self : HasLiftT.{1, succ u3} a b] => self.0) Nat (Localization.{u3} A (CommRing.toCommMonoid.{u3} A _inst_4) x) (HasLiftT.mk.{1, succ u3} Nat (Localization.{u3} A (CommRing.toCommMonoid.{u3} A _inst_4) x) (CoeTCₓ.coe.{1, succ u3} Nat (Localization.{u3} A (CommRing.toCommMonoid.{u3} A _inst_4) x) (Nat.castCoe.{u3} (Localization.{u3} A (CommRing.toCommMonoid.{u3} A _inst_4) x) (AddMonoidWithOne.toNatCast.{u3} (Localization.{u3} A (CommRing.toCommMonoid.{u3} A _inst_4) x) (AddGroupWithOne.toAddMonoidWithOne.{u3} (Localization.{u3} A (CommRing.toCommMonoid.{u3} A _inst_4) x) (AddCommGroupWithOne.toAddGroupWithOne.{u3} (Localization.{u3} A (CommRing.toCommMonoid.{u3} A _inst_4) x) (Ring.toAddCommGroupWithOne.{u3} (Localization.{u3} A (CommRing.toCommMonoid.{u3} A _inst_4) x) (CommRing.toRing.{u3} (Localization.{u3} A (CommRing.toCommMonoid.{u3} A _inst_4) x) (Localization.commRing.{u3} A _inst_4 x))))))))) n)
-but is expected to have type
- forall {ι : Type.{u2}} {R : Type.{u1}} {A : Type.{u3}} [_inst_1 : AddCommMonoid.{u2} ι] [_inst_2 : DecidableEq.{succ u2} ι] [_inst_3 : CommRing.{u1} R] [_inst_4 : CommRing.{u3} A] [_inst_5 : Algebra.{u1, u3} R A (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_4))] {𝒜 : ι -> (Submodule.{u1, u3} R A (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u1, u3} R A (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_4)) _inst_5))} [_inst_6 : GradedAlgebra.{u2, u1, u3} ι R A (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u2} ι _inst_1) (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_4)) _inst_5 𝒜] {x : Submonoid.{u3} A (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_4)))))} (n : Nat), Eq.{succ u3} (Localization.{u3} A (CommRing.toCommMonoid.{u3} A _inst_4) x) (HomogeneousLocalization.val.{u2, u1, u3} ι R A _inst_3 _inst_4 _inst_5 𝒜 x (Nat.cast.{max u2 u3} (HomogeneousLocalization.{u2, u1, u3} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) (HomogeneousLocalization.instNatCastHomogeneousLocalization.{u2, u1, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) n)) (Nat.cast.{u3} (Localization.{u3} A (CommRing.toCommMonoid.{u3} A _inst_4) x) (Semiring.toNatCast.{u3} (Localization.{u3} A (CommRing.toCommMonoid.{u3} A _inst_4) x) (CommSemiring.toSemiring.{u3} (Localization.{u3} A (CommRing.toCommMonoid.{u3} A _inst_4) x) (Localization.instCommSemiringLocalizationToCommMonoid.{u3} A (CommRing.toCommSemiring.{u3} A _inst_4) x))) n)
+<too large>
Case conversion may be inaccurate. Consider using '#align homogeneous_localization.nat_cast_val HomogeneousLocalization.natCast_valₓ'. -/
@[simp]
theorem natCast_val (n : ℕ) : (n : HomogeneousLocalization 𝒜 x).val = n :=
@@ -706,10 +634,7 @@ theorem natCast_val (n : ℕ) : (n : HomogeneousLocalization 𝒜 x).val = n :=
#align homogeneous_localization.nat_cast_val HomogeneousLocalization.natCast_val
/- warning: homogeneous_localization.int_cast_val -> HomogeneousLocalization.intCast_val is a dubious translation:
-lean 3 declaration is
- forall {ι : Type.{u1}} {R : Type.{u2}} {A : Type.{u3}} [_inst_1 : AddCommMonoid.{u1} ι] [_inst_2 : DecidableEq.{succ u1} ι] [_inst_3 : CommRing.{u2} R] [_inst_4 : CommRing.{u3} A] [_inst_5 : Algebra.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4))] {𝒜 : ι -> (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))} [_inst_6 : GradedAlgebra.{u1, u2, u3} ι R A (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u1} ι _inst_1) (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5 𝒜] {x : Submonoid.{u3} A (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4)))))} (n : Int), Eq.{succ u3} (Localization.{u3} A (CommRing.toCommMonoid.{u3} A _inst_4) x) (HomogeneousLocalization.val.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x ((fun (a : Type) (b : Type.{max u1 u3}) [self : HasLiftT.{1, succ (max u1 u3)} a b] => self.0) Int (HomogeneousLocalization.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HasLiftT.mk.{1, succ (max u1 u3)} Int (HomogeneousLocalization.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (CoeTCₓ.coe.{1, succ (max u1 u3)} Int (HomogeneousLocalization.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (Int.castCoe.{max u1 u3} (HomogeneousLocalization.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.hasIntCast.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x)))) n)) ((fun (a : Type) (b : Type.{u3}) [self : HasLiftT.{1, succ u3} a b] => self.0) Int (Localization.{u3} A (CommRing.toCommMonoid.{u3} A _inst_4) x) (HasLiftT.mk.{1, succ u3} Int (Localization.{u3} A (CommRing.toCommMonoid.{u3} A _inst_4) x) (CoeTCₓ.coe.{1, succ u3} Int (Localization.{u3} A (CommRing.toCommMonoid.{u3} A _inst_4) x) (Int.castCoe.{u3} (Localization.{u3} A (CommRing.toCommMonoid.{u3} A _inst_4) x) (AddGroupWithOne.toHasIntCast.{u3} (Localization.{u3} A (CommRing.toCommMonoid.{u3} A _inst_4) x) (AddCommGroupWithOne.toAddGroupWithOne.{u3} (Localization.{u3} A (CommRing.toCommMonoid.{u3} A _inst_4) x) (Ring.toAddCommGroupWithOne.{u3} (Localization.{u3} A (CommRing.toCommMonoid.{u3} A _inst_4) x) (CommRing.toRing.{u3} (Localization.{u3} A (CommRing.toCommMonoid.{u3} A _inst_4) x) (Localization.commRing.{u3} A _inst_4 x)))))))) n)
-but is expected to have type
- forall {ι : Type.{u2}} {R : Type.{u1}} {A : Type.{u3}} [_inst_1 : AddCommMonoid.{u2} ι] [_inst_2 : DecidableEq.{succ u2} ι] [_inst_3 : CommRing.{u1} R] [_inst_4 : CommRing.{u3} A] [_inst_5 : Algebra.{u1, u3} R A (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_4))] {𝒜 : ι -> (Submodule.{u1, u3} R A (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u1, u3} R A (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_4)) _inst_5))} [_inst_6 : GradedAlgebra.{u2, u1, u3} ι R A (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u2} ι _inst_1) (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_4)) _inst_5 𝒜] {x : Submonoid.{u3} A (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_4)))))} (n : Int), Eq.{succ u3} (Localization.{u3} A (CommRing.toCommMonoid.{u3} A _inst_4) x) (HomogeneousLocalization.val.{u2, u1, u3} ι R A _inst_3 _inst_4 _inst_5 𝒜 x (Int.cast.{max u2 u3} (HomogeneousLocalization.{u2, u1, u3} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) (HomogeneousLocalization.instIntCastHomogeneousLocalization.{u2, u1, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) n)) (Int.cast.{u3} (Localization.{u3} A (CommRing.toCommMonoid.{u3} A _inst_4) x) (Ring.toIntCast.{u3} (Localization.{u3} A (CommRing.toCommMonoid.{u3} A _inst_4) x) (CommRing.toRing.{u3} (Localization.{u3} A (CommRing.toCommMonoid.{u3} A _inst_4) x) (Localization.instCommRingLocalizationToCommMonoid.{u3} A _inst_4 x))) n)
+<too large>
Case conversion may be inaccurate. Consider using '#align homogeneous_localization.int_cast_val HomogeneousLocalization.intCast_valₓ'. -/
@[simp]
theorem intCast_val (n : ℤ) : (n : HomogeneousLocalization 𝒜 x).val = n :=
@@ -858,10 +783,7 @@ abbrev AtPrime :=
#align homogeneous_localization.at_prime HomogeneousLocalization.AtPrime
/- warning: homogeneous_localization.is_unit_iff_is_unit_val -> HomogeneousLocalization.isUnit_iff_isUnit_val is a dubious translation:
-lean 3 declaration is
- forall {ι : Type.{u1}} {R : Type.{u2}} {A : Type.{u3}} [_inst_1 : AddCommMonoid.{u1} ι] [_inst_2 : DecidableEq.{succ u1} ι] [_inst_3 : CommRing.{u2} R] [_inst_4 : CommRing.{u3} A] [_inst_5 : Algebra.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4))] (𝒜 : ι -> (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) [_inst_6 : GradedAlgebra.{u1, u2, u3} ι R A (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u1} ι _inst_1) (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5 𝒜] (𝔭 : Ideal.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4))) [_inst_7 : Ideal.IsPrime.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) 𝔭] (f : HomogeneousLocalization.AtPrime.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 𝔭 _inst_7), Iff (IsUnit.{u3} (Localization.{u3} A (CommRing.toCommMonoid.{u3} A _inst_4) (Ideal.primeCompl.{u3} A (CommRing.toCommSemiring.{u3} A _inst_4) 𝔭 _inst_7)) (Ring.toMonoid.{u3} (Localization.{u3} A (CommRing.toCommMonoid.{u3} A _inst_4) (Ideal.primeCompl.{u3} A (CommRing.toCommSemiring.{u3} A _inst_4) 𝔭 _inst_7)) (CommRing.toRing.{u3} (Localization.{u3} A (CommRing.toCommMonoid.{u3} A _inst_4) (Ideal.primeCompl.{u3} A (CommRing.toCommSemiring.{u3} A _inst_4) 𝔭 _inst_7)) (Localization.commRing.{u3} A _inst_4 (Ideal.primeCompl.{u3} A (CommRing.toCommSemiring.{u3} A _inst_4) 𝔭 _inst_7)))) (HomogeneousLocalization.val.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 (Ideal.primeCompl.{u3} A (CommRing.toCommSemiring.{u3} A _inst_4) 𝔭 _inst_7) f)) (IsUnit.{max u1 u3} (HomogeneousLocalization.AtPrime.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 𝔭 _inst_7) (Ring.toMonoid.{max u1 u3} (HomogeneousLocalization.AtPrime.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 𝔭 _inst_7) (CommRing.toRing.{max u1 u3} (HomogeneousLocalization.AtPrime.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 𝔭 _inst_7) (HomogeneousLocalization.homogenousLocalizationCommRing.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => (fun (a : ι) (b : ι) => _inst_2 a b) a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 (Ideal.primeCompl.{u3} A (CommRing.toCommSemiring.{u3} A _inst_4) 𝔭 _inst_7)))) f)
-but is expected to have type
- forall {ι : Type.{u3}} {R : Type.{u2}} {A : Type.{u1}} [_inst_1 : AddCommMonoid.{u3} ι] [_inst_2 : DecidableEq.{succ u3} ι] [_inst_3 : CommRing.{u2} R] [_inst_4 : CommRing.{u1} A] [_inst_5 : Algebra.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4))] (𝒜 : ι -> (Submodule.{u2, u1} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_4))))) (Algebra.toModule.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4)) _inst_5))) [_inst_6 : GradedAlgebra.{u3, u2, u1} ι R A (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u3} ι _inst_1) (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4)) _inst_5 𝒜] (𝔭 : Ideal.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4))) [_inst_7 : Ideal.IsPrime.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4)) 𝔭] (f : HomogeneousLocalization.AtPrime.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 𝔭 _inst_7), Iff (IsUnit.{u1} (Localization.{u1} A (CommRing.toCommMonoid.{u1} A _inst_4) (Ideal.primeCompl.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4) 𝔭 _inst_7)) (MonoidWithZero.toMonoid.{u1} (Localization.{u1} A (CommRing.toCommMonoid.{u1} A _inst_4) (Ideal.primeCompl.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4) 𝔭 _inst_7)) (Semiring.toMonoidWithZero.{u1} (Localization.{u1} A (CommRing.toCommMonoid.{u1} A _inst_4) (Ideal.primeCompl.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4) 𝔭 _inst_7)) (CommSemiring.toSemiring.{u1} (Localization.{u1} A (CommRing.toCommMonoid.{u1} A _inst_4) (Ideal.primeCompl.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4) 𝔭 _inst_7)) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4) (Ideal.primeCompl.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4) 𝔭 _inst_7))))) (HomogeneousLocalization.val.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 (Ideal.primeCompl.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4) 𝔭 _inst_7) f)) (IsUnit.{max u3 u1} (HomogeneousLocalization.AtPrime.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 𝔭 _inst_7) (MonoidWithZero.toMonoid.{max u3 u1} (HomogeneousLocalization.AtPrime.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 𝔭 _inst_7) (Semiring.toMonoidWithZero.{max u3 u1} (HomogeneousLocalization.AtPrime.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 𝔭 _inst_7) (CommSemiring.toSemiring.{max u3 u1} (HomogeneousLocalization.AtPrime.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 𝔭 _inst_7) (CommRing.toCommSemiring.{max u3 u1} (HomogeneousLocalization.AtPrime.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 𝔭 _inst_7) (HomogeneousLocalization.homogenousLocalizationCommRing.{u3, u2, u1} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 (Ideal.primeCompl.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4) 𝔭 _inst_7)))))) f)
+<too large>
Case conversion may be inaccurate. Consider using '#align homogeneous_localization.is_unit_iff_is_unit_val HomogeneousLocalization.isUnit_iff_isUnit_valₓ'. -/
theorem isUnit_iff_isUnit_val (f : HomogeneousLocalization.AtPrime 𝒜 𝔭) : IsUnit f.val ↔ IsUnit f :=
⟨fun h1 => by
mathlib commit https://github.com/leanprover-community/mathlib/commit/75e7fca56381d056096ce5d05e938f63a6567828
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
Authors: Jujian Zhang, Eric Wieser
! This file was ported from Lean 3 source module ring_theory.graded_algebra.homogeneous_localization
-! leanprover-community/mathlib commit 831c494092374cfe9f50591ed0ac81a25efc5b86
+! leanprover-community/mathlib commit 4280f5f32e16755ec7985ce11e189b6cd6ff6735
! Please do not edit these lines, except to modify the commit id
! if you have ported upstream changes.
-/
@@ -14,6 +14,9 @@ import Mathbin.RingTheory.GradedAlgebra.Basic
/-!
# Homogeneous Localization
+> THIS FILE IS SYNCHRONIZED WITH MATHLIB4.
+> Any changes to this file require a corresponding PR to mathlib4.
+
## Notation
- `ι` is a commutative monoid;
- `R` is a commutative semiring;
mathlib commit https://github.com/leanprover-community/mathlib/commit/33c67ae661dd8988516ff7f247b0be3018cdd952
@@ -89,16 +89,22 @@ namespace HomogeneousLocalization
section
+/- warning: homogeneous_localization.num_denom_same_deg -> HomogeneousLocalization.NumDenSameDeg is a dubious translation:
+lean 3 declaration is
+ forall {ι : Type.{u1}} {R : Type.{u2}} {A : Type.{u3}} [_inst_1 : AddCommMonoid.{u1} ι] [_inst_2 : DecidableEq.{succ u1} ι] [_inst_3 : CommRing.{u2} R] [_inst_4 : CommRing.{u3} A] [_inst_5 : Algebra.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4))] (𝒜 : ι -> (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) [_inst_6 : GradedAlgebra.{u1, u2, u3} ι R A (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u1} ι _inst_1) (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5 𝒜], (Submonoid.{u3} A (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4)))))) -> Sort.{max (succ u1) (succ u3)}
+but is expected to have type
+ forall {ι : Type.{u1}} {R : Type.{u2}} {A : Type.{u3}} [_inst_1 : CommRing.{u2} R] [_inst_2 : CommRing.{u3} A] [_inst_3 : Algebra.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_2))], (ι -> (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_2))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_2)) _inst_3))) -> (Submonoid.{u3} A (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_2)))))) -> Sort.{max (succ u1) (succ u3)}
+Case conversion may be inaccurate. Consider using '#align homogeneous_localization.num_denom_same_deg HomogeneousLocalization.NumDenSameDegₓ'. -/
/--
Let `x` be a submonoid of `A`, then `num_denom_same_deg 𝒜 x` is a structure with a numerator and a
denominator with same grading such that the denominator is contained in `x`.
-/
@[nolint has_nonempty_instance]
-structure NumDenomSameDeg where
+structure NumDenSameDeg where
deg : ι
(num den : 𝒜 deg)
denom_mem : (denom : A) ∈ x
-#align homogeneous_localization.num_denom_same_deg HomogeneousLocalization.NumDenomSameDeg
+#align homogeneous_localization.num_denom_same_deg HomogeneousLocalization.NumDenSameDeg
end
@@ -108,78 +114,122 @@ open SetLike.GradedMonoid Submodule
variable {𝒜}
+/- warning: homogeneous_localization.num_denom_same_deg.ext -> HomogeneousLocalization.NumDenSameDeg.ext is a dubious translation:
+lean 3 declaration is
+ forall {ι : Type.{u1}} {R : Type.{u2}} {A : Type.{u3}} [_inst_1 : AddCommMonoid.{u1} ι] [_inst_2 : DecidableEq.{succ u1} ι] [_inst_3 : CommRing.{u2} R] [_inst_4 : CommRing.{u3} A] [_inst_5 : Algebra.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4))] {𝒜 : ι -> (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))} [_inst_6 : GradedAlgebra.{u1, u2, u3} ι R A (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u1} ι _inst_1) (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5 𝒜] (x : Submonoid.{u3} A (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4)))))) {c1 : HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x} {c2 : HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x}, (Eq.{succ u1} ι (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c1) (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c2)) -> (Eq.{succ u3} A ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c1))) A (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c1))) A (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c1))) A (coeBase.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c1))) A (coeSubtype.{succ u3} A (fun (x_1 : A) => Membership.Mem.{u3, u3} A (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) (SetLike.hasMem.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) x_1 (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c1))))))) (HomogeneousLocalization.NumDenSameDeg.num.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c1)) ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c2))) A (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c2))) A (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c2))) A (coeBase.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c2))) A (coeSubtype.{succ u3} A (fun (x_1 : A) => Membership.Mem.{u3, u3} A (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) (SetLike.hasMem.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) x_1 (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c2))))))) (HomogeneousLocalization.NumDenSameDeg.num.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c2))) -> (Eq.{succ u3} A ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c1))) A (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c1))) A (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c1))) A (coeBase.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c1))) A (coeSubtype.{succ u3} A (fun (x_1 : A) => Membership.Mem.{u3, u3} A (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) (SetLike.hasMem.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) x_1 (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c1))))))) (HomogeneousLocalization.NumDenSameDeg.denom.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c1)) ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c2))) A (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c2))) A (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c2))) A (coeBase.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c2))) A (coeSubtype.{succ u3} A (fun (x_1 : A) => Membership.Mem.{u3, u3} A (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) (SetLike.hasMem.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) x_1 (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c2))))))) (HomogeneousLocalization.NumDenSameDeg.denom.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c2))) -> (Eq.{max (succ u1) (succ u3)} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) c1 c2)
+but is expected to have type
+ forall {ι : Type.{u3}} {R : Type.{u2}} {A : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : CommRing.{u1} A] [_inst_3 : Algebra.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2))] {_inst_4 : ι -> (Submodule.{u2, u1} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3))} (_inst_5 : Submonoid.{u1} A (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)))))) {𝒜 : HomogeneousLocalization.NumDenSameDeg.{u3, u2, u1} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5} {_inst_6 : HomogeneousLocalization.NumDenSameDeg.{u3, u2, u1} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5}, (Eq.{succ u3} ι (HomogeneousLocalization.NumDenSameDeg.deg.{u3, u2, u1} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 𝒜) (HomogeneousLocalization.NumDenSameDeg.deg.{u3, u2, u1} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6)) -> (Eq.{succ u1} A (Subtype.val.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (Set.{u1} A) (Set.instMembershipSet.{u1} A) x (SetLike.coe.{u1, u1} (Submodule.{u2, u1} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3)) A (Submodule.setLike.{u2, u1} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3)) (_inst_4 (HomogeneousLocalization.NumDenSameDeg.deg.{u3, u2, u1} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 𝒜)))) (HomogeneousLocalization.NumDenSameDeg.num.{u3, u2, u1} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 𝒜)) (Subtype.val.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (Set.{u1} A) (Set.instMembershipSet.{u1} A) x (SetLike.coe.{u1, u1} (Submodule.{u2, u1} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3)) A (Submodule.setLike.{u2, u1} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3)) (_inst_4 (HomogeneousLocalization.NumDenSameDeg.deg.{u3, u2, u1} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6)))) (HomogeneousLocalization.NumDenSameDeg.num.{u3, u2, u1} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6))) -> (Eq.{succ u1} A (Subtype.val.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (Set.{u1} A) (Set.instMembershipSet.{u1} A) x (SetLike.coe.{u1, u1} (Submodule.{u2, u1} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3)) A (Submodule.setLike.{u2, u1} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3)) (_inst_4 (HomogeneousLocalization.NumDenSameDeg.deg.{u3, u2, u1} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 𝒜)))) (HomogeneousLocalization.NumDenSameDeg.den.{u3, u2, u1} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 𝒜)) (Subtype.val.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (Set.{u1} A) (Set.instMembershipSet.{u1} A) x (SetLike.coe.{u1, u1} (Submodule.{u2, u1} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3)) A (Submodule.setLike.{u2, u1} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3)) (_inst_4 (HomogeneousLocalization.NumDenSameDeg.deg.{u3, u2, u1} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6)))) (HomogeneousLocalization.NumDenSameDeg.den.{u3, u2, u1} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6))) -> (Eq.{max (succ u3) (succ u1)} (HomogeneousLocalization.NumDenSameDeg.{u3, u2, u1} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5) 𝒜 _inst_6)
+Case conversion may be inaccurate. Consider using '#align homogeneous_localization.num_denom_same_deg.ext HomogeneousLocalization.NumDenSameDeg.extₓ'. -/
@[ext]
-theorem ext {c1 c2 : NumDenomSameDeg 𝒜 x} (hdeg : c1.deg = c2.deg) (hnum : (c1.num : A) = c2.num)
+theorem ext {c1 c2 : NumDenSameDeg 𝒜 x} (hdeg : c1.deg = c2.deg) (hnum : (c1.num : A) = c2.num)
(hdenom : (c1.den : A) = c2.den) : c1 = c2 :=
by
rcases c1 with ⟨i1, ⟨n1, hn1⟩, ⟨d1, hd1⟩, h1⟩
rcases c2 with ⟨i2, ⟨n2, hn2⟩, ⟨d2, hd2⟩, h2⟩
dsimp only [Subtype.coe_mk] at *
simp only; exact ⟨hdeg, by subst hdeg <;> subst hnum, by subst hdeg <;> subst hdenom⟩
-#align homogeneous_localization.num_denom_same_deg.ext HomogeneousLocalization.NumDenomSameDeg.ext
+#align homogeneous_localization.num_denom_same_deg.ext HomogeneousLocalization.NumDenSameDeg.ext
-instance : One (NumDenomSameDeg 𝒜 x)
+instance : One (NumDenSameDeg 𝒜 x)
where one :=
{ deg := 0
num := ⟨1, one_mem⟩
den := ⟨1, one_mem⟩
denom_mem := Submonoid.one_mem _ }
+/- warning: homogeneous_localization.num_denom_same_deg.deg_one -> HomogeneousLocalization.NumDenSameDeg.deg_one is a dubious translation:
+lean 3 declaration is
+ forall {ι : Type.{u1}} {R : Type.{u2}} {A : Type.{u3}} [_inst_1 : AddCommMonoid.{u1} ι] [_inst_2 : DecidableEq.{succ u1} ι] [_inst_3 : CommRing.{u2} R] [_inst_4 : CommRing.{u3} A] [_inst_5 : Algebra.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4))] {𝒜 : ι -> (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))} [_inst_6 : GradedAlgebra.{u1, u2, u3} ι R A (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u1} ι _inst_1) (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5 𝒜] (x : Submonoid.{u3} A (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4)))))), Eq.{succ u1} ι (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x (OfNat.ofNat.{max u1 u3} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) 1 (OfNat.mk.{max u1 u3} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) 1 (One.one.{max u1 u3} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.hasOne.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x))))) (OfNat.ofNat.{u1} ι 0 (OfNat.mk.{u1} ι 0 (Zero.zero.{u1} ι (AddZeroClass.toHasZero.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι (AddCommMonoid.toAddMonoid.{u1} ι _inst_1))))))
+but is expected to have type
+ forall {ι : Type.{u3}} {R : Type.{u2}} {A : Type.{u1}} [_inst_1 : AddCommMonoid.{u3} ι] [_inst_2 : DecidableEq.{succ u3} ι] [_inst_3 : CommRing.{u2} R] [_inst_4 : CommRing.{u1} A] [_inst_5 : Algebra.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4))] {𝒜 : ι -> (Submodule.{u2, u1} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_4))))) (Algebra.toModule.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4)) _inst_5))} [_inst_6 : GradedAlgebra.{u3, u2, u1} ι R A (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u3} ι _inst_1) (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4)) _inst_5 𝒜] (x : Submonoid.{u1} A (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4)))))), Eq.{succ u3} ι (HomogeneousLocalization.NumDenSameDeg.deg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x (OfNat.ofNat.{max u3 u1} (HomogeneousLocalization.NumDenSameDeg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) 1 (One.toOfNat1.{max u3 u1} (HomogeneousLocalization.NumDenSameDeg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) (HomogeneousLocalization.NumDenSameDeg.instOneNumDenSameDeg.{u3, u2, u1} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x)))) (OfNat.ofNat.{u3} ι 0 (Zero.toOfNat0.{u3} ι (AddMonoid.toZero.{u3} ι (AddCommMonoid.toAddMonoid.{u3} ι _inst_1))))
+Case conversion may be inaccurate. Consider using '#align homogeneous_localization.num_denom_same_deg.deg_one HomogeneousLocalization.NumDenSameDeg.deg_oneₓ'. -/
@[simp]
-theorem deg_one : (1 : NumDenomSameDeg 𝒜 x).deg = 0 :=
+theorem deg_one : (1 : NumDenSameDeg 𝒜 x).deg = 0 :=
rfl
-#align homogeneous_localization.num_denom_same_deg.deg_one HomogeneousLocalization.NumDenomSameDeg.deg_one
+#align homogeneous_localization.num_denom_same_deg.deg_one HomogeneousLocalization.NumDenSameDeg.deg_one
+#print HomogeneousLocalization.NumDenSameDeg.num_one /-
@[simp]
-theorem num_one : ((1 : NumDenomSameDeg 𝒜 x).num : A) = 1 :=
+theorem num_one : ((1 : NumDenSameDeg 𝒜 x).num : A) = 1 :=
rfl
-#align homogeneous_localization.num_denom_same_deg.num_one HomogeneousLocalization.NumDenomSameDeg.num_one
+#align homogeneous_localization.num_denom_same_deg.num_one HomogeneousLocalization.NumDenSameDeg.num_one
+-/
+#print HomogeneousLocalization.NumDenSameDeg.den_one /-
@[simp]
-theorem denom_one : ((1 : NumDenomSameDeg 𝒜 x).den : A) = 1 :=
+theorem den_one : ((1 : NumDenSameDeg 𝒜 x).den : A) = 1 :=
rfl
-#align homogeneous_localization.num_denom_same_deg.denom_one HomogeneousLocalization.NumDenomSameDeg.denom_one
+#align homogeneous_localization.num_denom_same_deg.denom_one HomogeneousLocalization.NumDenSameDeg.den_one
+-/
-instance : Zero (NumDenomSameDeg 𝒜 x) where zero := ⟨0, 0, ⟨1, one_mem⟩, Submonoid.one_mem _⟩
+instance : Zero (NumDenSameDeg 𝒜 x) where zero := ⟨0, 0, ⟨1, one_mem⟩, Submonoid.one_mem _⟩
+/- warning: homogeneous_localization.num_denom_same_deg.deg_zero -> HomogeneousLocalization.NumDenSameDeg.deg_zero is a dubious translation:
+lean 3 declaration is
+ forall {ι : Type.{u1}} {R : Type.{u2}} {A : Type.{u3}} [_inst_1 : AddCommMonoid.{u1} ι] [_inst_2 : DecidableEq.{succ u1} ι] [_inst_3 : CommRing.{u2} R] [_inst_4 : CommRing.{u3} A] [_inst_5 : Algebra.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4))] {𝒜 : ι -> (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))} [_inst_6 : GradedAlgebra.{u1, u2, u3} ι R A (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u1} ι _inst_1) (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5 𝒜] (x : Submonoid.{u3} A (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4)))))), Eq.{succ u1} ι (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x (OfNat.ofNat.{max u1 u3} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) 0 (OfNat.mk.{max u1 u3} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) 0 (Zero.zero.{max u1 u3} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.hasZero.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x))))) (OfNat.ofNat.{u1} ι 0 (OfNat.mk.{u1} ι 0 (Zero.zero.{u1} ι (AddZeroClass.toHasZero.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι (AddCommMonoid.toAddMonoid.{u1} ι _inst_1))))))
+but is expected to have type
+ forall {ι : Type.{u3}} {R : Type.{u2}} {A : Type.{u1}} [_inst_1 : AddCommMonoid.{u3} ι] [_inst_2 : DecidableEq.{succ u3} ι] [_inst_3 : CommRing.{u2} R] [_inst_4 : CommRing.{u1} A] [_inst_5 : Algebra.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4))] {𝒜 : ι -> (Submodule.{u2, u1} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_4))))) (Algebra.toModule.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4)) _inst_5))} [_inst_6 : GradedAlgebra.{u3, u2, u1} ι R A (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u3} ι _inst_1) (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4)) _inst_5 𝒜] (x : Submonoid.{u1} A (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4)))))), Eq.{succ u3} ι (HomogeneousLocalization.NumDenSameDeg.deg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x (OfNat.ofNat.{max u3 u1} (HomogeneousLocalization.NumDenSameDeg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) 0 (Zero.toOfNat0.{max u3 u1} (HomogeneousLocalization.NumDenSameDeg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) (HomogeneousLocalization.NumDenSameDeg.instZeroNumDenSameDeg.{u3, u2, u1} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x)))) (OfNat.ofNat.{u3} ι 0 (Zero.toOfNat0.{u3} ι (AddMonoid.toZero.{u3} ι (AddCommMonoid.toAddMonoid.{u3} ι _inst_1))))
+Case conversion may be inaccurate. Consider using '#align homogeneous_localization.num_denom_same_deg.deg_zero HomogeneousLocalization.NumDenSameDeg.deg_zeroₓ'. -/
@[simp]
-theorem deg_zero : (0 : NumDenomSameDeg 𝒜 x).deg = 0 :=
+theorem deg_zero : (0 : NumDenSameDeg 𝒜 x).deg = 0 :=
rfl
-#align homogeneous_localization.num_denom_same_deg.deg_zero HomogeneousLocalization.NumDenomSameDeg.deg_zero
+#align homogeneous_localization.num_denom_same_deg.deg_zero HomogeneousLocalization.NumDenSameDeg.deg_zero
+#print HomogeneousLocalization.NumDenSameDeg.num_zero /-
@[simp]
-theorem num_zero : (0 : NumDenomSameDeg 𝒜 x).num = 0 :=
+theorem num_zero : (0 : NumDenSameDeg 𝒜 x).num = 0 :=
rfl
-#align homogeneous_localization.num_denom_same_deg.num_zero HomogeneousLocalization.NumDenomSameDeg.num_zero
+#align homogeneous_localization.num_denom_same_deg.num_zero HomogeneousLocalization.NumDenSameDeg.num_zero
+-/
+#print HomogeneousLocalization.NumDenSameDeg.den_zero /-
@[simp]
-theorem denom_zero : ((0 : NumDenomSameDeg 𝒜 x).den : A) = 1 :=
+theorem den_zero : ((0 : NumDenSameDeg 𝒜 x).den : A) = 1 :=
rfl
-#align homogeneous_localization.num_denom_same_deg.denom_zero HomogeneousLocalization.NumDenomSameDeg.denom_zero
+#align homogeneous_localization.num_denom_same_deg.denom_zero HomogeneousLocalization.NumDenSameDeg.den_zero
+-/
-instance : Mul (NumDenomSameDeg 𝒜 x)
+instance : Mul (NumDenSameDeg 𝒜 x)
where mul p q :=
{ deg := p.deg + q.deg
num := ⟨p.num * q.num, mul_mem p.num.Prop q.num.Prop⟩
den := ⟨p.den * q.den, mul_mem p.den.Prop q.den.Prop⟩
denom_mem := Submonoid.mul_mem _ p.denom_mem q.denom_mem }
+/- warning: homogeneous_localization.num_denom_same_deg.deg_mul -> HomogeneousLocalization.NumDenSameDeg.deg_mul is a dubious translation:
+lean 3 declaration is
+ forall {ι : Type.{u1}} {R : Type.{u2}} {A : Type.{u3}} [_inst_1 : AddCommMonoid.{u1} ι] [_inst_2 : DecidableEq.{succ u1} ι] [_inst_3 : CommRing.{u2} R] [_inst_4 : CommRing.{u3} A] [_inst_5 : Algebra.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4))] {𝒜 : ι -> (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))} [_inst_6 : GradedAlgebra.{u1, u2, u3} ι R A (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u1} ι _inst_1) (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5 𝒜] (x : Submonoid.{u3} A (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4)))))) (c1 : HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (c2 : HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x), Eq.{succ u1} ι (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x (HMul.hMul.{max u1 u3, max u1 u3, max u1 u3} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (instHMul.{max u1 u3} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.hasMul.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x)) c1 c2)) (HAdd.hAdd.{u1, u1, u1} ι ι ι (instHAdd.{u1} ι (AddZeroClass.toHasAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι (AddCommMonoid.toAddMonoid.{u1} ι _inst_1)))) (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c1) (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c2))
+but is expected to have type
+ forall {ι : Type.{u3}} {R : Type.{u2}} {A : Type.{u1}} [_inst_1 : AddCommMonoid.{u3} ι] [_inst_2 : DecidableEq.{succ u3} ι] [_inst_3 : CommRing.{u2} R] [_inst_4 : CommRing.{u1} A] [_inst_5 : Algebra.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4))] {𝒜 : ι -> (Submodule.{u2, u1} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_4))))) (Algebra.toModule.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4)) _inst_5))} [_inst_6 : GradedAlgebra.{u3, u2, u1} ι R A (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u3} ι _inst_1) (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4)) _inst_5 𝒜] (x : Submonoid.{u1} A (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4)))))) (c1 : HomogeneousLocalization.NumDenSameDeg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) (c2 : HomogeneousLocalization.NumDenSameDeg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x), Eq.{succ u3} ι (HomogeneousLocalization.NumDenSameDeg.deg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x (HMul.hMul.{max u3 u1, max u3 u1, max u3 u1} (HomogeneousLocalization.NumDenSameDeg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) (HomogeneousLocalization.NumDenSameDeg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) (HomogeneousLocalization.NumDenSameDeg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) (instHMul.{max u3 u1} (HomogeneousLocalization.NumDenSameDeg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) (HomogeneousLocalization.NumDenSameDeg.instMulNumDenSameDeg.{u3, u2, u1} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x)) c1 c2)) (HAdd.hAdd.{u3, u3, u3} ι ι ι (instHAdd.{u3} ι (AddZeroClass.toAdd.{u3} ι (AddMonoid.toAddZeroClass.{u3} ι (AddCommMonoid.toAddMonoid.{u3} ι _inst_1)))) (HomogeneousLocalization.NumDenSameDeg.deg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x c1) (HomogeneousLocalization.NumDenSameDeg.deg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x c2))
+Case conversion may be inaccurate. Consider using '#align homogeneous_localization.num_denom_same_deg.deg_mul HomogeneousLocalization.NumDenSameDeg.deg_mulₓ'. -/
@[simp]
-theorem deg_mul (c1 c2 : NumDenomSameDeg 𝒜 x) : (c1 * c2).deg = c1.deg + c2.deg :=
+theorem deg_mul (c1 c2 : NumDenSameDeg 𝒜 x) : (c1 * c2).deg = c1.deg + c2.deg :=
rfl
-#align homogeneous_localization.num_denom_same_deg.deg_mul HomogeneousLocalization.NumDenomSameDeg.deg_mul
-
+#align homogeneous_localization.num_denom_same_deg.deg_mul HomogeneousLocalization.NumDenSameDeg.deg_mul
+
+/- warning: homogeneous_localization.num_denom_same_deg.num_mul -> HomogeneousLocalization.NumDenSameDeg.num_mul is a dubious translation:
+lean 3 declaration is
+ forall {ι : Type.{u1}} {R : Type.{u2}} {A : Type.{u3}} [_inst_1 : AddCommMonoid.{u1} ι] [_inst_2 : DecidableEq.{succ u1} ι] [_inst_3 : CommRing.{u2} R] [_inst_4 : CommRing.{u3} A] [_inst_5 : Algebra.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4))] {𝒜 : ι -> (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))} [_inst_6 : GradedAlgebra.{u1, u2, u3} ι R A (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u1} ι _inst_1) (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5 𝒜] (x : Submonoid.{u3} A (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4)))))) (c1 : HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (c2 : HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x), Eq.{succ u3} A ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x (HMul.hMul.{max u1 u3, max u1 u3, max u1 u3} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (instHMul.{max u1 u3} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.hasMul.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x)) c1 c2)))) A (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x (HMul.hMul.{max u1 u3, max u1 u3, max u1 u3} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (instHMul.{max u1 u3} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.hasMul.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x)) c1 c2)))) A (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x (HMul.hMul.{max u1 u3, max u1 u3, max u1 u3} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (instHMul.{max u1 u3} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.hasMul.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x)) c1 c2)))) A (coeBase.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x (HMul.hMul.{max u1 u3, max u1 u3, max u1 u3} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (instHMul.{max u1 u3} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.hasMul.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x)) c1 c2)))) A (coeSubtype.{succ u3} A (fun (x_1 : A) => Membership.Mem.{u3, u3} A (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) (SetLike.hasMem.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) x_1 (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x (HMul.hMul.{max u1 u3, max u1 u3, max u1 u3} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (instHMul.{max u1 u3} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.hasMul.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x)) c1 c2)))))))) (HomogeneousLocalization.NumDenSameDeg.num.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x (HMul.hMul.{max u1 u3, max u1 u3, max u1 u3} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (instHMul.{max u1 u3} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.hasMul.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x)) c1 c2))) (HMul.hMul.{u3, u3, u3} A A A (instHMul.{u3} A (Distrib.toHasMul.{u3} A (Ring.toDistrib.{u3} A (CommRing.toRing.{u3} A _inst_4)))) ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c1))) A (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c1))) A (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c1))) A (coeBase.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c1))) A (coeSubtype.{succ u3} A (fun (x_1 : A) => Membership.Mem.{u3, u3} A (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) (SetLike.hasMem.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) x_1 (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c1))))))) (HomogeneousLocalization.NumDenSameDeg.num.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c1)) ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c2))) A (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c2))) A (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c2))) A (coeBase.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c2))) A (coeSubtype.{succ u3} A (fun (x_1 : A) => Membership.Mem.{u3, u3} A (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) (SetLike.hasMem.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) x_1 (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c2))))))) (HomogeneousLocalization.NumDenSameDeg.num.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c2)))
+but is expected to have type
+ forall {ι : Type.{u3}} {R : Type.{u2}} {A : Type.{u1}} [_inst_1 : AddCommMonoid.{u3} ι] [_inst_2 : DecidableEq.{succ u3} ι] [_inst_3 : CommRing.{u2} R] [_inst_4 : CommRing.{u1} A] [_inst_5 : Algebra.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4))] {𝒜 : ι -> (Submodule.{u2, u1} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_4))))) (Algebra.toModule.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4)) _inst_5))} [_inst_6 : GradedAlgebra.{u3, u2, u1} ι R A (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u3} ι _inst_1) (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4)) _inst_5 𝒜] (x : Submonoid.{u1} A (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4)))))) (c1 : HomogeneousLocalization.NumDenSameDeg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) (c2 : HomogeneousLocalization.NumDenSameDeg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x), Eq.{succ u1} A (Subtype.val.{succ u1} A (fun (x_1 : A) => Membership.mem.{u1, u1} A (Set.{u1} A) (Set.instMembershipSet.{u1} A) x_1 (SetLike.coe.{u1, u1} (Submodule.{u2, u1} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_4))))) (Algebra.toModule.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u1} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_4))))) (Algebra.toModule.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4)) _inst_5)) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x (HMul.hMul.{max u3 u1, max u3 u1, max u3 u1} (HomogeneousLocalization.NumDenSameDeg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) (HomogeneousLocalization.NumDenSameDeg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) (HomogeneousLocalization.NumDenSameDeg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) (instHMul.{max u3 u1} (HomogeneousLocalization.NumDenSameDeg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) (HomogeneousLocalization.NumDenSameDeg.instMulNumDenSameDeg.{u3, u2, u1} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x)) c1 c2))))) (HomogeneousLocalization.NumDenSameDeg.num.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x (HMul.hMul.{max u3 u1, max u3 u1, max u3 u1} (HomogeneousLocalization.NumDenSameDeg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) (HomogeneousLocalization.NumDenSameDeg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) (HomogeneousLocalization.NumDenSameDeg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) (instHMul.{max u3 u1} (HomogeneousLocalization.NumDenSameDeg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) (HomogeneousLocalization.NumDenSameDeg.instMulNumDenSameDeg.{u3, u2, u1} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x)) c1 c2))) (HMul.hMul.{u1, u1, u1} A A A (instHMul.{u1} A (NonUnitalNonAssocRing.toMul.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_4))))) (Subtype.val.{succ u1} A (fun (x_1 : A) => Membership.mem.{u1, u1} A (Set.{u1} A) (Set.instMembershipSet.{u1} A) x_1 (SetLike.coe.{u1, u1} (Submodule.{u2, u1} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_4))))) (Algebra.toModule.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u1} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_4))))) (Algebra.toModule.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4)) _inst_5)) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x c1)))) (HomogeneousLocalization.NumDenSameDeg.num.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x c1)) (Subtype.val.{succ u1} A (fun (x_1 : A) => Membership.mem.{u1, u1} A (Set.{u1} A) (Set.instMembershipSet.{u1} A) x_1 (SetLike.coe.{u1, u1} (Submodule.{u2, u1} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_4))))) (Algebra.toModule.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u1} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_4))))) (Algebra.toModule.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4)) _inst_5)) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x c2)))) (HomogeneousLocalization.NumDenSameDeg.num.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x c2)))
+Case conversion may be inaccurate. Consider using '#align homogeneous_localization.num_denom_same_deg.num_mul HomogeneousLocalization.NumDenSameDeg.num_mulₓ'. -/
@[simp]
-theorem num_mul (c1 c2 : NumDenomSameDeg 𝒜 x) : ((c1 * c2).num : A) = c1.num * c2.num :=
+theorem num_mul (c1 c2 : NumDenSameDeg 𝒜 x) : ((c1 * c2).num : A) = c1.num * c2.num :=
rfl
-#align homogeneous_localization.num_denom_same_deg.num_mul HomogeneousLocalization.NumDenomSameDeg.num_mul
-
+#align homogeneous_localization.num_denom_same_deg.num_mul HomogeneousLocalization.NumDenSameDeg.num_mul
+
+/- warning: homogeneous_localization.num_denom_same_deg.denom_mul -> HomogeneousLocalization.NumDenSameDeg.den_mul is a dubious translation:
+lean 3 declaration is
+ forall {ι : Type.{u1}} {R : Type.{u2}} {A : Type.{u3}} [_inst_1 : AddCommMonoid.{u1} ι] [_inst_2 : DecidableEq.{succ u1} ι] [_inst_3 : CommRing.{u2} R] [_inst_4 : CommRing.{u3} A] [_inst_5 : Algebra.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4))] {𝒜 : ι -> (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))} [_inst_6 : GradedAlgebra.{u1, u2, u3} ι R A (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u1} ι _inst_1) (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5 𝒜] (x : Submonoid.{u3} A (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4)))))) (c1 : HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (c2 : HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x), Eq.{succ u3} A ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x (HMul.hMul.{max u1 u3, max u1 u3, max u1 u3} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (instHMul.{max u1 u3} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.hasMul.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x)) c1 c2)))) A (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x (HMul.hMul.{max u1 u3, max u1 u3, max u1 u3} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (instHMul.{max u1 u3} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.hasMul.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x)) c1 c2)))) A (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x (HMul.hMul.{max u1 u3, max u1 u3, max u1 u3} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (instHMul.{max u1 u3} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.hasMul.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x)) c1 c2)))) A (coeBase.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x (HMul.hMul.{max u1 u3, max u1 u3, max u1 u3} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (instHMul.{max u1 u3} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.hasMul.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x)) c1 c2)))) A (coeSubtype.{succ u3} A (fun (x_1 : A) => Membership.Mem.{u3, u3} A (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) (SetLike.hasMem.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) x_1 (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x (HMul.hMul.{max u1 u3, max u1 u3, max u1 u3} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (instHMul.{max u1 u3} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.hasMul.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x)) c1 c2)))))))) (HomogeneousLocalization.NumDenSameDeg.denom.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x (HMul.hMul.{max u1 u3, max u1 u3, max u1 u3} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (instHMul.{max u1 u3} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.hasMul.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x)) c1 c2))) (HMul.hMul.{u3, u3, u3} A A A (instHMul.{u3} A (Distrib.toHasMul.{u3} A (Ring.toDistrib.{u3} A (CommRing.toRing.{u3} A _inst_4)))) ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c1))) A (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c1))) A (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c1))) A (coeBase.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c1))) A (coeSubtype.{succ u3} A (fun (x_1 : A) => Membership.Mem.{u3, u3} A (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) (SetLike.hasMem.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) x_1 (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c1))))))) (HomogeneousLocalization.NumDenSameDeg.denom.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c1)) ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c2))) A (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c2))) A (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c2))) A (coeBase.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c2))) A (coeSubtype.{succ u3} A (fun (x_1 : A) => Membership.Mem.{u3, u3} A (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) (SetLike.hasMem.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) x_1 (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c2))))))) (HomogeneousLocalization.NumDenSameDeg.denom.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c2)))
+but is expected to have type
+ forall {ι : Type.{u3}} {R : Type.{u2}} {A : Type.{u1}} [_inst_1 : AddCommMonoid.{u3} ι] [_inst_2 : DecidableEq.{succ u3} ι] [_inst_3 : CommRing.{u2} R] [_inst_4 : CommRing.{u1} A] [_inst_5 : Algebra.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4))] {𝒜 : ι -> (Submodule.{u2, u1} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_4))))) (Algebra.toModule.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4)) _inst_5))} [_inst_6 : GradedAlgebra.{u3, u2, u1} ι R A (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u3} ι _inst_1) (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4)) _inst_5 𝒜] (x : Submonoid.{u1} A (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4)))))) (c1 : HomogeneousLocalization.NumDenSameDeg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) (c2 : HomogeneousLocalization.NumDenSameDeg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x), Eq.{succ u1} A (Subtype.val.{succ u1} A (fun (x_1 : A) => Membership.mem.{u1, u1} A (Set.{u1} A) (Set.instMembershipSet.{u1} A) x_1 (SetLike.coe.{u1, u1} (Submodule.{u2, u1} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_4))))) (Algebra.toModule.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u1} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_4))))) (Algebra.toModule.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4)) _inst_5)) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x (HMul.hMul.{max u3 u1, max u3 u1, max u3 u1} (HomogeneousLocalization.NumDenSameDeg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) (HomogeneousLocalization.NumDenSameDeg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) (HomogeneousLocalization.NumDenSameDeg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) (instHMul.{max u3 u1} (HomogeneousLocalization.NumDenSameDeg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) (HomogeneousLocalization.NumDenSameDeg.instMulNumDenSameDeg.{u3, u2, u1} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x)) c1 c2))))) (HomogeneousLocalization.NumDenSameDeg.den.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x (HMul.hMul.{max u3 u1, max u3 u1, max u3 u1} (HomogeneousLocalization.NumDenSameDeg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) (HomogeneousLocalization.NumDenSameDeg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) (HomogeneousLocalization.NumDenSameDeg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) (instHMul.{max u3 u1} (HomogeneousLocalization.NumDenSameDeg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) (HomogeneousLocalization.NumDenSameDeg.instMulNumDenSameDeg.{u3, u2, u1} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x)) c1 c2))) (HMul.hMul.{u1, u1, u1} A A A (instHMul.{u1} A (NonUnitalNonAssocRing.toMul.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_4))))) (Subtype.val.{succ u1} A (fun (x_1 : A) => Membership.mem.{u1, u1} A (Set.{u1} A) (Set.instMembershipSet.{u1} A) x_1 (SetLike.coe.{u1, u1} (Submodule.{u2, u1} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_4))))) (Algebra.toModule.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u1} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_4))))) (Algebra.toModule.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4)) _inst_5)) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x c1)))) (HomogeneousLocalization.NumDenSameDeg.den.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x c1)) (Subtype.val.{succ u1} A (fun (x_1 : A) => Membership.mem.{u1, u1} A (Set.{u1} A) (Set.instMembershipSet.{u1} A) x_1 (SetLike.coe.{u1, u1} (Submodule.{u2, u1} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_4))))) (Algebra.toModule.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u1} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_4))))) (Algebra.toModule.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4)) _inst_5)) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x c2)))) (HomogeneousLocalization.NumDenSameDeg.den.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x c2)))
+Case conversion may be inaccurate. Consider using '#align homogeneous_localization.num_denom_same_deg.denom_mul HomogeneousLocalization.NumDenSameDeg.den_mulₓ'. -/
@[simp]
-theorem denom_mul (c1 c2 : NumDenomSameDeg 𝒜 x) : ((c1 * c2).den : A) = c1.den * c2.den :=
+theorem den_mul (c1 c2 : NumDenSameDeg 𝒜 x) : ((c1 * c2).den : A) = c1.den * c2.den :=
rfl
-#align homogeneous_localization.num_denom_same_deg.denom_mul HomogeneousLocalization.NumDenomSameDeg.denom_mul
+#align homogeneous_localization.num_denom_same_deg.denom_mul HomogeneousLocalization.NumDenSameDeg.den_mul
-instance : Add (NumDenomSameDeg 𝒜 x)
+instance : Add (NumDenSameDeg 𝒜 x)
where add c1 c2 :=
{ deg := c1.deg + c2.deg
num :=
@@ -188,42 +238,77 @@ instance : Add (NumDenomSameDeg 𝒜 x)
den := ⟨c1.den * c2.den, mul_mem c1.den.2 c2.den.2⟩
denom_mem := Submonoid.mul_mem _ c1.denom_mem c2.denom_mem }
+/- warning: homogeneous_localization.num_denom_same_deg.deg_add -> HomogeneousLocalization.NumDenSameDeg.deg_add is a dubious translation:
+lean 3 declaration is
+ forall {ι : Type.{u1}} {R : Type.{u2}} {A : Type.{u3}} [_inst_1 : AddCommMonoid.{u1} ι] [_inst_2 : DecidableEq.{succ u1} ι] [_inst_3 : CommRing.{u2} R] [_inst_4 : CommRing.{u3} A] [_inst_5 : Algebra.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4))] {𝒜 : ι -> (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))} [_inst_6 : GradedAlgebra.{u1, u2, u3} ι R A (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u1} ι _inst_1) (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5 𝒜] (x : Submonoid.{u3} A (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4)))))) (c1 : HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (c2 : HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x), Eq.{succ u1} ι (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x (HAdd.hAdd.{max u1 u3, max u1 u3, max u1 u3} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (instHAdd.{max u1 u3} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.hasAdd.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x)) c1 c2)) (HAdd.hAdd.{u1, u1, u1} ι ι ι (instHAdd.{u1} ι (AddZeroClass.toHasAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι (AddCommMonoid.toAddMonoid.{u1} ι _inst_1)))) (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c1) (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c2))
+but is expected to have type
+ forall {ι : Type.{u3}} {R : Type.{u2}} {A : Type.{u1}} [_inst_1 : AddCommMonoid.{u3} ι] [_inst_2 : DecidableEq.{succ u3} ι] [_inst_3 : CommRing.{u2} R] [_inst_4 : CommRing.{u1} A] [_inst_5 : Algebra.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4))] {𝒜 : ι -> (Submodule.{u2, u1} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_4))))) (Algebra.toModule.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4)) _inst_5))} [_inst_6 : GradedAlgebra.{u3, u2, u1} ι R A (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u3} ι _inst_1) (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4)) _inst_5 𝒜] (x : Submonoid.{u1} A (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4)))))) (c1 : HomogeneousLocalization.NumDenSameDeg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) (c2 : HomogeneousLocalization.NumDenSameDeg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x), Eq.{succ u3} ι (HomogeneousLocalization.NumDenSameDeg.deg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x (HAdd.hAdd.{max u3 u1, max u3 u1, max u3 u1} (HomogeneousLocalization.NumDenSameDeg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) (HomogeneousLocalization.NumDenSameDeg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) (HomogeneousLocalization.NumDenSameDeg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) (instHAdd.{max u3 u1} (HomogeneousLocalization.NumDenSameDeg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) (HomogeneousLocalization.NumDenSameDeg.instAddNumDenSameDeg.{u3, u2, u1} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x)) c1 c2)) (HAdd.hAdd.{u3, u3, u3} ι ι ι (instHAdd.{u3} ι (AddZeroClass.toAdd.{u3} ι (AddMonoid.toAddZeroClass.{u3} ι (AddCommMonoid.toAddMonoid.{u3} ι _inst_1)))) (HomogeneousLocalization.NumDenSameDeg.deg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x c1) (HomogeneousLocalization.NumDenSameDeg.deg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x c2))
+Case conversion may be inaccurate. Consider using '#align homogeneous_localization.num_denom_same_deg.deg_add HomogeneousLocalization.NumDenSameDeg.deg_addₓ'. -/
@[simp]
-theorem deg_add (c1 c2 : NumDenomSameDeg 𝒜 x) : (c1 + c2).deg = c1.deg + c2.deg :=
+theorem deg_add (c1 c2 : NumDenSameDeg 𝒜 x) : (c1 + c2).deg = c1.deg + c2.deg :=
rfl
-#align homogeneous_localization.num_denom_same_deg.deg_add HomogeneousLocalization.NumDenomSameDeg.deg_add
-
+#align homogeneous_localization.num_denom_same_deg.deg_add HomogeneousLocalization.NumDenSameDeg.deg_add
+
+/- warning: homogeneous_localization.num_denom_same_deg.num_add -> HomogeneousLocalization.NumDenSameDeg.num_add is a dubious translation:
+lean 3 declaration is
+ forall {ι : Type.{u1}} {R : Type.{u2}} {A : Type.{u3}} [_inst_1 : AddCommMonoid.{u1} ι] [_inst_2 : DecidableEq.{succ u1} ι] [_inst_3 : CommRing.{u2} R] [_inst_4 : CommRing.{u3} A] [_inst_5 : Algebra.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4))] {𝒜 : ι -> (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))} [_inst_6 : GradedAlgebra.{u1, u2, u3} ι R A (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u1} ι _inst_1) (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5 𝒜] (x : Submonoid.{u3} A (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4)))))) (c1 : HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (c2 : HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x), Eq.{succ u3} A ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x (HAdd.hAdd.{max u1 u3, max u1 u3, max u1 u3} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (instHAdd.{max u1 u3} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.hasAdd.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x)) c1 c2)))) A (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x (HAdd.hAdd.{max u1 u3, max u1 u3, max u1 u3} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (instHAdd.{max u1 u3} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.hasAdd.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x)) c1 c2)))) A (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x (HAdd.hAdd.{max u1 u3, max u1 u3, max u1 u3} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (instHAdd.{max u1 u3} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.hasAdd.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x)) c1 c2)))) A (coeBase.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x (HAdd.hAdd.{max u1 u3, max u1 u3, max u1 u3} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (instHAdd.{max u1 u3} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.hasAdd.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x)) c1 c2)))) A (coeSubtype.{succ u3} A (fun (x_1 : A) => Membership.Mem.{u3, u3} A (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) (SetLike.hasMem.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) x_1 (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x (HAdd.hAdd.{max u1 u3, max u1 u3, max u1 u3} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (instHAdd.{max u1 u3} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.hasAdd.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x)) c1 c2)))))))) (HomogeneousLocalization.NumDenSameDeg.num.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x (HAdd.hAdd.{max u1 u3, max u1 u3, max u1 u3} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (instHAdd.{max u1 u3} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.hasAdd.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x)) c1 c2))) (HAdd.hAdd.{u3, u3, u3} A A A (instHAdd.{u3} A (Distrib.toHasAdd.{u3} A (Ring.toDistrib.{u3} A (CommRing.toRing.{u3} A _inst_4)))) (HMul.hMul.{u3, u3, u3} A A A (instHMul.{u3} A (Distrib.toHasMul.{u3} A (Ring.toDistrib.{u3} A (CommRing.toRing.{u3} A _inst_4)))) ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c1))) A (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c1))) A (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c1))) A (coeBase.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c1))) A (coeSubtype.{succ u3} A (fun (x_1 : A) => Membership.Mem.{u3, u3} A (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) (SetLike.hasMem.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) x_1 (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c1))))))) (HomogeneousLocalization.NumDenSameDeg.denom.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c1)) ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c2))) A (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c2))) A (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c2))) A (coeBase.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c2))) A (coeSubtype.{succ u3} A (fun (x_1 : A) => Membership.Mem.{u3, u3} A (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) (SetLike.hasMem.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) x_1 (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c2))))))) (HomogeneousLocalization.NumDenSameDeg.num.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c2))) (HMul.hMul.{u3, u3, u3} A A A (instHMul.{u3} A (Distrib.toHasMul.{u3} A (Ring.toDistrib.{u3} A (CommRing.toRing.{u3} A _inst_4)))) ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c2))) A (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c2))) A (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c2))) A (coeBase.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c2))) A (coeSubtype.{succ u3} A (fun (x_1 : A) => Membership.Mem.{u3, u3} A (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) (SetLike.hasMem.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) x_1 (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c2))))))) (HomogeneousLocalization.NumDenSameDeg.denom.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c2)) ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c1))) A (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c1))) A (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c1))) A (coeBase.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c1))) A (coeSubtype.{succ u3} A (fun (x_1 : A) => Membership.Mem.{u3, u3} A (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) (SetLike.hasMem.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) x_1 (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c1))))))) (HomogeneousLocalization.NumDenSameDeg.num.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c1))))
+but is expected to have type
+ forall {ι : Type.{u3}} {R : Type.{u2}} {A : Type.{u1}} [_inst_1 : AddCommMonoid.{u3} ι] [_inst_2 : DecidableEq.{succ u3} ι] [_inst_3 : CommRing.{u2} R] [_inst_4 : CommRing.{u1} A] [_inst_5 : Algebra.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4))] {𝒜 : ι -> (Submodule.{u2, u1} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_4))))) (Algebra.toModule.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4)) _inst_5))} [_inst_6 : GradedAlgebra.{u3, u2, u1} ι R A (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u3} ι _inst_1) (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4)) _inst_5 𝒜] (x : Submonoid.{u1} A (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4)))))) (c1 : HomogeneousLocalization.NumDenSameDeg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) (c2 : HomogeneousLocalization.NumDenSameDeg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x), Eq.{succ u1} A (Subtype.val.{succ u1} A (fun (x_1 : A) => Membership.mem.{u1, u1} A (Set.{u1} A) (Set.instMembershipSet.{u1} A) x_1 (SetLike.coe.{u1, u1} (Submodule.{u2, u1} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_4))))) (Algebra.toModule.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u1} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_4))))) (Algebra.toModule.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4)) _inst_5)) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x (HAdd.hAdd.{max u3 u1, max u3 u1, max u3 u1} (HomogeneousLocalization.NumDenSameDeg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) (HomogeneousLocalization.NumDenSameDeg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) (HomogeneousLocalization.NumDenSameDeg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) (instHAdd.{max u3 u1} (HomogeneousLocalization.NumDenSameDeg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) (HomogeneousLocalization.NumDenSameDeg.instAddNumDenSameDeg.{u3, u2, u1} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x)) c1 c2))))) (HomogeneousLocalization.NumDenSameDeg.num.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x (HAdd.hAdd.{max u3 u1, max u3 u1, max u3 u1} (HomogeneousLocalization.NumDenSameDeg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) (HomogeneousLocalization.NumDenSameDeg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) (HomogeneousLocalization.NumDenSameDeg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) (instHAdd.{max u3 u1} (HomogeneousLocalization.NumDenSameDeg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) (HomogeneousLocalization.NumDenSameDeg.instAddNumDenSameDeg.{u3, u2, u1} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x)) c1 c2))) (HAdd.hAdd.{u1, u1, u1} A A A (instHAdd.{u1} A (Distrib.toAdd.{u1} A (NonUnitalNonAssocSemiring.toDistrib.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_4))))))) (HMul.hMul.{u1, u1, u1} A A A (instHMul.{u1} A (NonUnitalNonAssocRing.toMul.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_4))))) (Subtype.val.{succ u1} A (fun (x_1 : A) => Membership.mem.{u1, u1} A (Set.{u1} A) (Set.instMembershipSet.{u1} A) x_1 (SetLike.coe.{u1, u1} (Submodule.{u2, u1} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_4))))) (Algebra.toModule.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u1} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_4))))) (Algebra.toModule.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4)) _inst_5)) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x c1)))) (HomogeneousLocalization.NumDenSameDeg.den.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x c1)) (Subtype.val.{succ u1} A (fun (x_1 : A) => Membership.mem.{u1, u1} A (Set.{u1} A) (Set.instMembershipSet.{u1} A) x_1 (SetLike.coe.{u1, u1} (Submodule.{u2, u1} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_4))))) (Algebra.toModule.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u1} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_4))))) (Algebra.toModule.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4)) _inst_5)) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x c2)))) (HomogeneousLocalization.NumDenSameDeg.num.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x c2))) (HMul.hMul.{u1, u1, u1} A A A (instHMul.{u1} A (NonUnitalNonAssocRing.toMul.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_4))))) (Subtype.val.{succ u1} A (fun (x_1 : A) => Membership.mem.{u1, u1} A (Set.{u1} A) (Set.instMembershipSet.{u1} A) x_1 (SetLike.coe.{u1, u1} (Submodule.{u2, u1} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_4))))) (Algebra.toModule.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u1} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_4))))) (Algebra.toModule.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4)) _inst_5)) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x c2)))) (HomogeneousLocalization.NumDenSameDeg.den.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x c2)) (Subtype.val.{succ u1} A (fun (x_1 : A) => Membership.mem.{u1, u1} A (Set.{u1} A) (Set.instMembershipSet.{u1} A) x_1 (SetLike.coe.{u1, u1} (Submodule.{u2, u1} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_4))))) (Algebra.toModule.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u1} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_4))))) (Algebra.toModule.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4)) _inst_5)) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x c1)))) (HomogeneousLocalization.NumDenSameDeg.num.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x c1))))
+Case conversion may be inaccurate. Consider using '#align homogeneous_localization.num_denom_same_deg.num_add HomogeneousLocalization.NumDenSameDeg.num_addₓ'. -/
@[simp]
-theorem num_add (c1 c2 : NumDenomSameDeg 𝒜 x) :
+theorem num_add (c1 c2 : NumDenSameDeg 𝒜 x) :
((c1 + c2).num : A) = c1.den * c2.num + c2.den * c1.num :=
rfl
-#align homogeneous_localization.num_denom_same_deg.num_add HomogeneousLocalization.NumDenomSameDeg.num_add
-
+#align homogeneous_localization.num_denom_same_deg.num_add HomogeneousLocalization.NumDenSameDeg.num_add
+
+/- warning: homogeneous_localization.num_denom_same_deg.denom_add -> HomogeneousLocalization.NumDenSameDeg.den_add is a dubious translation:
+lean 3 declaration is
+ forall {ι : Type.{u1}} {R : Type.{u2}} {A : Type.{u3}} [_inst_1 : AddCommMonoid.{u1} ι] [_inst_2 : DecidableEq.{succ u1} ι] [_inst_3 : CommRing.{u2} R] [_inst_4 : CommRing.{u3} A] [_inst_5 : Algebra.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4))] {𝒜 : ι -> (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))} [_inst_6 : GradedAlgebra.{u1, u2, u3} ι R A (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u1} ι _inst_1) (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5 𝒜] (x : Submonoid.{u3} A (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4)))))) (c1 : HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (c2 : HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x), Eq.{succ u3} A ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x (HAdd.hAdd.{max u1 u3, max u1 u3, max u1 u3} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (instHAdd.{max u1 u3} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.hasAdd.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x)) c1 c2)))) A (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x (HAdd.hAdd.{max u1 u3, max u1 u3, max u1 u3} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (instHAdd.{max u1 u3} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.hasAdd.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x)) c1 c2)))) A (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x (HAdd.hAdd.{max u1 u3, max u1 u3, max u1 u3} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (instHAdd.{max u1 u3} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.hasAdd.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x)) c1 c2)))) A (coeBase.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x (HAdd.hAdd.{max u1 u3, max u1 u3, max u1 u3} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (instHAdd.{max u1 u3} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.hasAdd.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x)) c1 c2)))) A (coeSubtype.{succ u3} A (fun (x_1 : A) => Membership.Mem.{u3, u3} A (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) (SetLike.hasMem.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) x_1 (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x (HAdd.hAdd.{max u1 u3, max u1 u3, max u1 u3} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (instHAdd.{max u1 u3} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.hasAdd.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x)) c1 c2)))))))) (HomogeneousLocalization.NumDenSameDeg.denom.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x (HAdd.hAdd.{max u1 u3, max u1 u3, max u1 u3} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (instHAdd.{max u1 u3} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.hasAdd.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x)) c1 c2))) (HMul.hMul.{u3, u3, u3} A A A (instHMul.{u3} A (Distrib.toHasMul.{u3} A (Ring.toDistrib.{u3} A (CommRing.toRing.{u3} A _inst_4)))) ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c1))) A (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c1))) A (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c1))) A (coeBase.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c1))) A (coeSubtype.{succ u3} A (fun (x_1 : A) => Membership.Mem.{u3, u3} A (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) (SetLike.hasMem.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) x_1 (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c1))))))) (HomogeneousLocalization.NumDenSameDeg.denom.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c1)) ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c2))) A (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c2))) A (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c2))) A (coeBase.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c2))) A (coeSubtype.{succ u3} A (fun (x_1 : A) => Membership.Mem.{u3, u3} A (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) (SetLike.hasMem.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) x_1 (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c2))))))) (HomogeneousLocalization.NumDenSameDeg.denom.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c2)))
+but is expected to have type
+ forall {ι : Type.{u3}} {R : Type.{u2}} {A : Type.{u1}} [_inst_1 : AddCommMonoid.{u3} ι] [_inst_2 : DecidableEq.{succ u3} ι] [_inst_3 : CommRing.{u2} R] [_inst_4 : CommRing.{u1} A] [_inst_5 : Algebra.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4))] {𝒜 : ι -> (Submodule.{u2, u1} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_4))))) (Algebra.toModule.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4)) _inst_5))} [_inst_6 : GradedAlgebra.{u3, u2, u1} ι R A (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u3} ι _inst_1) (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4)) _inst_5 𝒜] (x : Submonoid.{u1} A (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4)))))) (c1 : HomogeneousLocalization.NumDenSameDeg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) (c2 : HomogeneousLocalization.NumDenSameDeg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x), Eq.{succ u1} A (Subtype.val.{succ u1} A (fun (x_1 : A) => Membership.mem.{u1, u1} A (Set.{u1} A) (Set.instMembershipSet.{u1} A) x_1 (SetLike.coe.{u1, u1} (Submodule.{u2, u1} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_4))))) (Algebra.toModule.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u1} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_4))))) (Algebra.toModule.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4)) _inst_5)) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x (HAdd.hAdd.{max u3 u1, max u3 u1, max u3 u1} (HomogeneousLocalization.NumDenSameDeg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) (HomogeneousLocalization.NumDenSameDeg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) (HomogeneousLocalization.NumDenSameDeg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) (instHAdd.{max u3 u1} (HomogeneousLocalization.NumDenSameDeg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) (HomogeneousLocalization.NumDenSameDeg.instAddNumDenSameDeg.{u3, u2, u1} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x)) c1 c2))))) (HomogeneousLocalization.NumDenSameDeg.den.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x (HAdd.hAdd.{max u3 u1, max u3 u1, max u3 u1} (HomogeneousLocalization.NumDenSameDeg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) (HomogeneousLocalization.NumDenSameDeg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) (HomogeneousLocalization.NumDenSameDeg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) (instHAdd.{max u3 u1} (HomogeneousLocalization.NumDenSameDeg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) (HomogeneousLocalization.NumDenSameDeg.instAddNumDenSameDeg.{u3, u2, u1} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x)) c1 c2))) (HMul.hMul.{u1, u1, u1} A A A (instHMul.{u1} A (NonUnitalNonAssocRing.toMul.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_4))))) (Subtype.val.{succ u1} A (fun (x_1 : A) => Membership.mem.{u1, u1} A (Set.{u1} A) (Set.instMembershipSet.{u1} A) x_1 (SetLike.coe.{u1, u1} (Submodule.{u2, u1} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_4))))) (Algebra.toModule.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u1} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_4))))) (Algebra.toModule.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4)) _inst_5)) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x c1)))) (HomogeneousLocalization.NumDenSameDeg.den.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x c1)) (Subtype.val.{succ u1} A (fun (x_1 : A) => Membership.mem.{u1, u1} A (Set.{u1} A) (Set.instMembershipSet.{u1} A) x_1 (SetLike.coe.{u1, u1} (Submodule.{u2, u1} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_4))))) (Algebra.toModule.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u1} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_4))))) (Algebra.toModule.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4)) _inst_5)) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x c2)))) (HomogeneousLocalization.NumDenSameDeg.den.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x c2)))
+Case conversion may be inaccurate. Consider using '#align homogeneous_localization.num_denom_same_deg.denom_add HomogeneousLocalization.NumDenSameDeg.den_addₓ'. -/
@[simp]
-theorem denom_add (c1 c2 : NumDenomSameDeg 𝒜 x) : ((c1 + c2).den : A) = c1.den * c2.den :=
+theorem den_add (c1 c2 : NumDenSameDeg 𝒜 x) : ((c1 + c2).den : A) = c1.den * c2.den :=
rfl
-#align homogeneous_localization.num_denom_same_deg.denom_add HomogeneousLocalization.NumDenomSameDeg.denom_add
+#align homogeneous_localization.num_denom_same_deg.denom_add HomogeneousLocalization.NumDenSameDeg.den_add
-instance : Neg (NumDenomSameDeg 𝒜 x)
+instance : Neg (NumDenSameDeg 𝒜 x)
where neg c := ⟨c.deg, ⟨-c.num, neg_mem c.num.2⟩, c.den, c.denom_mem⟩
+/- warning: homogeneous_localization.num_denom_same_deg.deg_neg -> HomogeneousLocalization.NumDenSameDeg.deg_neg is a dubious translation:
+lean 3 declaration is
+ forall {ι : Type.{u1}} {R : Type.{u2}} {A : Type.{u3}} [_inst_1 : AddCommMonoid.{u1} ι] [_inst_2 : DecidableEq.{succ u1} ι] [_inst_3 : CommRing.{u2} R] [_inst_4 : CommRing.{u3} A] [_inst_5 : Algebra.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4))] {𝒜 : ι -> (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))} [_inst_6 : GradedAlgebra.{u1, u2, u3} ι R A (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u1} ι _inst_1) (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5 𝒜] (x : Submonoid.{u3} A (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4)))))) (c : HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x), Eq.{succ u1} ι (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x (Neg.neg.{max u1 u3} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.hasNeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) c)) (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c)
+but is expected to have type
+ forall {ι : Type.{u3}} {R : Type.{u2}} {A : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : CommRing.{u1} A] [_inst_3 : Algebra.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2))] {_inst_4 : ι -> (Submodule.{u2, u1} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3))} (_inst_5 : Submonoid.{u1} A (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)))))) (𝒜 : HomogeneousLocalization.NumDenSameDeg.{u3, u2, u1} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5), Eq.{succ u3} ι (HomogeneousLocalization.NumDenSameDeg.deg.{u3, u2, u1} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 (Neg.neg.{max u3 u1} (HomogeneousLocalization.NumDenSameDeg.{u3, u2, u1} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5) (HomogeneousLocalization.NumDenSameDeg.instNegNumDenSameDeg.{u3, u2, u1} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5) 𝒜)) (HomogeneousLocalization.NumDenSameDeg.deg.{u3, u2, u1} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 𝒜)
+Case conversion may be inaccurate. Consider using '#align homogeneous_localization.num_denom_same_deg.deg_neg HomogeneousLocalization.NumDenSameDeg.deg_negₓ'. -/
@[simp]
-theorem deg_neg (c : NumDenomSameDeg 𝒜 x) : (-c).deg = c.deg :=
+theorem deg_neg (c : NumDenSameDeg 𝒜 x) : (-c).deg = c.deg :=
rfl
-#align homogeneous_localization.num_denom_same_deg.deg_neg HomogeneousLocalization.NumDenomSameDeg.deg_neg
-
+#align homogeneous_localization.num_denom_same_deg.deg_neg HomogeneousLocalization.NumDenSameDeg.deg_neg
+
+/- warning: homogeneous_localization.num_denom_same_deg.num_neg -> HomogeneousLocalization.NumDenSameDeg.num_neg is a dubious translation:
+lean 3 declaration is
+ forall {ι : Type.{u1}} {R : Type.{u2}} {A : Type.{u3}} [_inst_1 : AddCommMonoid.{u1} ι] [_inst_2 : DecidableEq.{succ u1} ι] [_inst_3 : CommRing.{u2} R] [_inst_4 : CommRing.{u3} A] [_inst_5 : Algebra.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4))] {𝒜 : ι -> (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))} [_inst_6 : GradedAlgebra.{u1, u2, u3} ι R A (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u1} ι _inst_1) (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5 𝒜] (x : Submonoid.{u3} A (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4)))))) (c : HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x), Eq.{succ u3} A ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x (Neg.neg.{max u1 u3} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.hasNeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) c)))) A (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x (Neg.neg.{max u1 u3} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.hasNeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) c)))) A (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x (Neg.neg.{max u1 u3} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.hasNeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) c)))) A (coeBase.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x (Neg.neg.{max u1 u3} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.hasNeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) c)))) A (coeSubtype.{succ u3} A (fun (x_1 : A) => Membership.Mem.{u3, u3} A (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) (SetLike.hasMem.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) x_1 (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x (Neg.neg.{max u1 u3} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.hasNeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) c)))))))) (HomogeneousLocalization.NumDenSameDeg.num.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x (Neg.neg.{max u1 u3} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.hasNeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) c))) (Neg.neg.{u3} A (SubNegMonoid.toHasNeg.{u3} A (AddGroup.toSubNegMonoid.{u3} A (AddGroupWithOne.toAddGroup.{u3} A (AddCommGroupWithOne.toAddGroupWithOne.{u3} A (Ring.toAddCommGroupWithOne.{u3} A (CommRing.toRing.{u3} A _inst_4)))))) ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c))) A (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c))) A (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c))) A (coeBase.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c))) A (coeSubtype.{succ u3} A (fun (x_1 : A) => Membership.Mem.{u3, u3} A (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) (SetLike.hasMem.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) x_1 (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c))))))) (HomogeneousLocalization.NumDenSameDeg.num.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c)))
+but is expected to have type
+ forall {ι : Type.{u3}} {R : Type.{u2}} {A : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : CommRing.{u1} A] [_inst_3 : Algebra.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2))] {_inst_4 : ι -> (Submodule.{u2, u1} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3))} (_inst_5 : Submonoid.{u1} A (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)))))) (𝒜 : HomogeneousLocalization.NumDenSameDeg.{u3, u2, u1} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5), Eq.{succ u1} A (Subtype.val.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (Set.{u1} A) (Set.instMembershipSet.{u1} A) x (SetLike.coe.{u1, u1} (Submodule.{u2, u1} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3)) A (Submodule.setLike.{u2, u1} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3)) (_inst_4 (HomogeneousLocalization.NumDenSameDeg.deg.{u3, u2, u1} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 (Neg.neg.{max u3 u1} (HomogeneousLocalization.NumDenSameDeg.{u3, u2, u1} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5) (HomogeneousLocalization.NumDenSameDeg.instNegNumDenSameDeg.{u3, u2, u1} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5) 𝒜))))) (HomogeneousLocalization.NumDenSameDeg.num.{u3, u2, u1} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 (Neg.neg.{max u3 u1} (HomogeneousLocalization.NumDenSameDeg.{u3, u2, u1} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5) (HomogeneousLocalization.NumDenSameDeg.instNegNumDenSameDeg.{u3, u2, u1} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5) 𝒜))) (Neg.neg.{u1} A (Ring.toNeg.{u1} A (CommRing.toRing.{u1} A _inst_2)) (Subtype.val.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (Set.{u1} A) (Set.instMembershipSet.{u1} A) x (SetLike.coe.{u1, u1} (Submodule.{u2, u1} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3)) A (Submodule.setLike.{u2, u1} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3)) (_inst_4 (HomogeneousLocalization.NumDenSameDeg.deg.{u3, u2, u1} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 𝒜)))) (HomogeneousLocalization.NumDenSameDeg.num.{u3, u2, u1} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 𝒜)))
+Case conversion may be inaccurate. Consider using '#align homogeneous_localization.num_denom_same_deg.num_neg HomogeneousLocalization.NumDenSameDeg.num_negₓ'. -/
@[simp]
-theorem num_neg (c : NumDenomSameDeg 𝒜 x) : ((-c).num : A) = -c.num :=
+theorem num_neg (c : NumDenSameDeg 𝒜 x) : ((-c).num : A) = -c.num :=
rfl
-#align homogeneous_localization.num_denom_same_deg.num_neg HomogeneousLocalization.NumDenomSameDeg.num_neg
-
+#align homogeneous_localization.num_denom_same_deg.num_neg HomogeneousLocalization.NumDenSameDeg.num_neg
+
+/- warning: homogeneous_localization.num_denom_same_deg.denom_neg -> HomogeneousLocalization.NumDenSameDeg.den_neg is a dubious translation:
+lean 3 declaration is
+ forall {ι : Type.{u1}} {R : Type.{u2}} {A : Type.{u3}} [_inst_1 : AddCommMonoid.{u1} ι] [_inst_2 : DecidableEq.{succ u1} ι] [_inst_3 : CommRing.{u2} R] [_inst_4 : CommRing.{u3} A] [_inst_5 : Algebra.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4))] {𝒜 : ι -> (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))} [_inst_6 : GradedAlgebra.{u1, u2, u3} ι R A (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u1} ι _inst_1) (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5 𝒜] (x : Submonoid.{u3} A (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4)))))) (c : HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x), Eq.{succ u3} A ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x (Neg.neg.{max u1 u3} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.hasNeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) c)))) A (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x (Neg.neg.{max u1 u3} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.hasNeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) c)))) A (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x (Neg.neg.{max u1 u3} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.hasNeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) c)))) A (coeBase.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x (Neg.neg.{max u1 u3} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.hasNeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) c)))) A (coeSubtype.{succ u3} A (fun (x_1 : A) => Membership.Mem.{u3, u3} A (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) (SetLike.hasMem.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) x_1 (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x (Neg.neg.{max u1 u3} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.hasNeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) c)))))))) (HomogeneousLocalization.NumDenSameDeg.denom.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x (Neg.neg.{max u1 u3} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.hasNeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) c))) ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c))) A (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c))) A (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c))) A (coeBase.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c))) A (coeSubtype.{succ u3} A (fun (x_1 : A) => Membership.Mem.{u3, u3} A (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) (SetLike.hasMem.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) x_1 (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c))))))) (HomogeneousLocalization.NumDenSameDeg.denom.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c))
+but is expected to have type
+ forall {ι : Type.{u3}} {R : Type.{u2}} {A : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : CommRing.{u1} A] [_inst_3 : Algebra.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2))] {_inst_4 : ι -> (Submodule.{u2, u1} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3))} (_inst_5 : Submonoid.{u1} A (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)))))) (𝒜 : HomogeneousLocalization.NumDenSameDeg.{u3, u2, u1} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5), Eq.{succ u1} A (Subtype.val.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (Set.{u1} A) (Set.instMembershipSet.{u1} A) x (SetLike.coe.{u1, u1} (Submodule.{u2, u1} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3)) A (Submodule.setLike.{u2, u1} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3)) (_inst_4 (HomogeneousLocalization.NumDenSameDeg.deg.{u3, u2, u1} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 (Neg.neg.{max u3 u1} (HomogeneousLocalization.NumDenSameDeg.{u3, u2, u1} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5) (HomogeneousLocalization.NumDenSameDeg.instNegNumDenSameDeg.{u3, u2, u1} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5) 𝒜))))) (HomogeneousLocalization.NumDenSameDeg.den.{u3, u2, u1} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 (Neg.neg.{max u3 u1} (HomogeneousLocalization.NumDenSameDeg.{u3, u2, u1} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5) (HomogeneousLocalization.NumDenSameDeg.instNegNumDenSameDeg.{u3, u2, u1} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5) 𝒜))) (Subtype.val.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (Set.{u1} A) (Set.instMembershipSet.{u1} A) x (SetLike.coe.{u1, u1} (Submodule.{u2, u1} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3)) A (Submodule.setLike.{u2, u1} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3)) (_inst_4 (HomogeneousLocalization.NumDenSameDeg.deg.{u3, u2, u1} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 𝒜)))) (HomogeneousLocalization.NumDenSameDeg.den.{u3, u2, u1} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 𝒜))
+Case conversion may be inaccurate. Consider using '#align homogeneous_localization.num_denom_same_deg.denom_neg HomogeneousLocalization.NumDenSameDeg.den_negₓ'. -/
@[simp]
-theorem denom_neg (c : NumDenomSameDeg 𝒜 x) : ((-c).den : A) = c.den :=
+theorem den_neg (c : NumDenSameDeg 𝒜 x) : ((-c).den : A) = c.den :=
rfl
-#align homogeneous_localization.num_denom_same_deg.denom_neg HomogeneousLocalization.NumDenomSameDeg.denom_neg
+#align homogeneous_localization.num_denom_same_deg.denom_neg HomogeneousLocalization.NumDenSameDeg.den_neg
-instance : CommMonoid (NumDenomSameDeg 𝒜 x)
- where
+instance : CommMonoid (NumDenSameDeg 𝒜 x) where
one := 1
mul := (· * ·)
mul_assoc c1 c2 c3 := ext _ (add_assoc _ _ _) (mul_assoc _ _ _) (mul_assoc _ _ _)
@@ -231,7 +316,7 @@ instance : CommMonoid (NumDenomSameDeg 𝒜 x)
mul_one c := ext _ (add_zero _) (mul_one _) (mul_one _)
mul_comm c1 c2 := ext _ (add_comm _ _) (mul_comm _ _) (mul_comm _ _)
-instance : Pow (NumDenomSameDeg 𝒜 x) ℕ
+instance : Pow (NumDenSameDeg 𝒜 x) ℕ
where pow c n :=
⟨n • c.deg, @GradedMonoid.GMonoid.gnpow _ (fun i => ↥(𝒜 i)) _ _ n _ c.num,
@GradedMonoid.GMonoid.gnpow _ (fun i => ↥(𝒜 i)) _ _ n _ c.den,
@@ -240,57 +325,105 @@ instance : Pow (NumDenomSameDeg 𝒜 x) ℕ
· simpa only [coe_gnpow, pow_zero] using Submonoid.one_mem _
· simpa only [pow_succ', coe_gnpow] using x.mul_mem ih c.denom_mem⟩
+/- warning: homogeneous_localization.num_denom_same_deg.deg_pow -> HomogeneousLocalization.NumDenSameDeg.deg_pow is a dubious translation:
+lean 3 declaration is
+ forall {ι : Type.{u1}} {R : Type.{u2}} {A : Type.{u3}} [_inst_1 : AddCommMonoid.{u1} ι] [_inst_2 : DecidableEq.{succ u1} ι] [_inst_3 : CommRing.{u2} R] [_inst_4 : CommRing.{u3} A] [_inst_5 : Algebra.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4))] {𝒜 : ι -> (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))} [_inst_6 : GradedAlgebra.{u1, u2, u3} ι R A (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u1} ι _inst_1) (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5 𝒜] (x : Submonoid.{u3} A (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4)))))) (c : HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (n : Nat), Eq.{succ u1} ι (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x (HPow.hPow.{max u1 u3, 0, max u1 u3} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) Nat (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (instHPow.{max u1 u3, 0} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) Nat (HomogeneousLocalization.NumDenSameDeg.Nat.hasPow.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x)) c n)) (SMul.smul.{0, u1} Nat ι (AddMonoid.SMul.{u1} ι (AddCommMonoid.toAddMonoid.{u1} ι _inst_1)) n (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c))
+but is expected to have type
+ forall {ι : Type.{u3}} {R : Type.{u2}} {A : Type.{u1}} [_inst_1 : AddCommMonoid.{u3} ι] [_inst_2 : DecidableEq.{succ u3} ι] [_inst_3 : CommRing.{u2} R] [_inst_4 : CommRing.{u1} A] [_inst_5 : Algebra.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4))] {𝒜 : ι -> (Submodule.{u2, u1} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_4))))) (Algebra.toModule.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4)) _inst_5))} [_inst_6 : GradedAlgebra.{u3, u2, u1} ι R A (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u3} ι _inst_1) (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4)) _inst_5 𝒜] (x : Submonoid.{u1} A (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4)))))) (c : HomogeneousLocalization.NumDenSameDeg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) (n : Nat), Eq.{succ u3} ι (HomogeneousLocalization.NumDenSameDeg.deg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x (HPow.hPow.{max u3 u1, 0, max u3 u1} (HomogeneousLocalization.NumDenSameDeg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) Nat (HomogeneousLocalization.NumDenSameDeg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) (instHPow.{max u3 u1, 0} (HomogeneousLocalization.NumDenSameDeg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) Nat (HomogeneousLocalization.NumDenSameDeg.instPowNumDenSameDegNat.{u3, u2, u1} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x)) c n)) (HSMul.hSMul.{0, u3, u3} Nat ι ι (instHSMul.{0, u3} Nat ι (AddMonoid.SMul.{u3} ι (AddCommMonoid.toAddMonoid.{u3} ι _inst_1))) n (HomogeneousLocalization.NumDenSameDeg.deg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x c))
+Case conversion may be inaccurate. Consider using '#align homogeneous_localization.num_denom_same_deg.deg_pow HomogeneousLocalization.NumDenSameDeg.deg_powₓ'. -/
@[simp]
-theorem deg_pow (c : NumDenomSameDeg 𝒜 x) (n : ℕ) : (c ^ n).deg = n • c.deg :=
+theorem deg_pow (c : NumDenSameDeg 𝒜 x) (n : ℕ) : (c ^ n).deg = n • c.deg :=
rfl
-#align homogeneous_localization.num_denom_same_deg.deg_pow HomogeneousLocalization.NumDenomSameDeg.deg_pow
-
+#align homogeneous_localization.num_denom_same_deg.deg_pow HomogeneousLocalization.NumDenSameDeg.deg_pow
+
+/- warning: homogeneous_localization.num_denom_same_deg.num_pow -> HomogeneousLocalization.NumDenSameDeg.num_pow is a dubious translation:
+lean 3 declaration is
+ forall {ι : Type.{u1}} {R : Type.{u2}} {A : Type.{u3}} [_inst_1 : AddCommMonoid.{u1} ι] [_inst_2 : DecidableEq.{succ u1} ι] [_inst_3 : CommRing.{u2} R] [_inst_4 : CommRing.{u3} A] [_inst_5 : Algebra.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4))] {𝒜 : ι -> (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))} [_inst_6 : GradedAlgebra.{u1, u2, u3} ι R A (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u1} ι _inst_1) (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5 𝒜] (x : Submonoid.{u3} A (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4)))))) (c : HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (n : Nat), Eq.{succ u3} A ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x (HPow.hPow.{max u1 u3, 0, max u1 u3} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) Nat (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (instHPow.{max u1 u3, 0} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) Nat (HomogeneousLocalization.NumDenSameDeg.Nat.hasPow.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x)) c n)))) A (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x (HPow.hPow.{max u1 u3, 0, max u1 u3} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) Nat (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (instHPow.{max u1 u3, 0} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) Nat (HomogeneousLocalization.NumDenSameDeg.Nat.hasPow.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x)) c n)))) A (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x (HPow.hPow.{max u1 u3, 0, max u1 u3} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) Nat (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (instHPow.{max u1 u3, 0} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) Nat (HomogeneousLocalization.NumDenSameDeg.Nat.hasPow.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x)) c n)))) A (coeBase.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x (HPow.hPow.{max u1 u3, 0, max u1 u3} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) Nat (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (instHPow.{max u1 u3, 0} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) Nat (HomogeneousLocalization.NumDenSameDeg.Nat.hasPow.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x)) c n)))) A (coeSubtype.{succ u3} A (fun (x_1 : A) => Membership.Mem.{u3, u3} A (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) (SetLike.hasMem.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) x_1 (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x (HPow.hPow.{max u1 u3, 0, max u1 u3} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) Nat (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (instHPow.{max u1 u3, 0} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) Nat (HomogeneousLocalization.NumDenSameDeg.Nat.hasPow.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x)) c n)))))))) (HomogeneousLocalization.NumDenSameDeg.num.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x (HPow.hPow.{max u1 u3, 0, max u1 u3} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) Nat (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (instHPow.{max u1 u3, 0} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) Nat (HomogeneousLocalization.NumDenSameDeg.Nat.hasPow.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x)) c n))) (HPow.hPow.{u3, 0, u3} A Nat A (instHPow.{u3, 0} A Nat (Monoid.Pow.{u3} A (Ring.toMonoid.{u3} A (CommRing.toRing.{u3} A _inst_4)))) ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c))) A (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c))) A (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c))) A (coeBase.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c))) A (coeSubtype.{succ u3} A (fun (x_1 : A) => Membership.Mem.{u3, u3} A (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) (SetLike.hasMem.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) x_1 (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c))))))) (HomogeneousLocalization.NumDenSameDeg.num.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c)) n)
+but is expected to have type
+ forall {ι : Type.{u3}} {R : Type.{u2}} {A : Type.{u1}} [_inst_1 : AddCommMonoid.{u3} ι] [_inst_2 : DecidableEq.{succ u3} ι] [_inst_3 : CommRing.{u2} R] [_inst_4 : CommRing.{u1} A] [_inst_5 : Algebra.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4))] {𝒜 : ι -> (Submodule.{u2, u1} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_4))))) (Algebra.toModule.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4)) _inst_5))} [_inst_6 : GradedAlgebra.{u3, u2, u1} ι R A (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u3} ι _inst_1) (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4)) _inst_5 𝒜] (x : Submonoid.{u1} A (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4)))))) (c : HomogeneousLocalization.NumDenSameDeg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) (n : Nat), Eq.{succ u1} A (Subtype.val.{succ u1} A (fun (x_1 : A) => Membership.mem.{u1, u1} A (Set.{u1} A) (Set.instMembershipSet.{u1} A) x_1 (SetLike.coe.{u1, u1} (Submodule.{u2, u1} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_4))))) (Algebra.toModule.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u1} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_4))))) (Algebra.toModule.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4)) _inst_5)) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x (HPow.hPow.{max u3 u1, 0, max u3 u1} (HomogeneousLocalization.NumDenSameDeg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) Nat (HomogeneousLocalization.NumDenSameDeg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) (instHPow.{max u3 u1, 0} (HomogeneousLocalization.NumDenSameDeg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) Nat (HomogeneousLocalization.NumDenSameDeg.instPowNumDenSameDegNat.{u3, u2, u1} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x)) c n))))) (HomogeneousLocalization.NumDenSameDeg.num.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x (HPow.hPow.{max u3 u1, 0, max u3 u1} (HomogeneousLocalization.NumDenSameDeg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) Nat (HomogeneousLocalization.NumDenSameDeg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) (instHPow.{max u3 u1, 0} (HomogeneousLocalization.NumDenSameDeg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) Nat (HomogeneousLocalization.NumDenSameDeg.instPowNumDenSameDegNat.{u3, u2, u1} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x)) c n))) (HPow.hPow.{u1, 0, u1} A Nat A (instHPow.{u1, 0} A Nat (Monoid.Pow.{u1} A (MonoidWithZero.toMonoid.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4)))))) (Subtype.val.{succ u1} A (fun (x_1 : A) => Membership.mem.{u1, u1} A (Set.{u1} A) (Set.instMembershipSet.{u1} A) x_1 (SetLike.coe.{u1, u1} (Submodule.{u2, u1} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_4))))) (Algebra.toModule.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u1} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_4))))) (Algebra.toModule.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4)) _inst_5)) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x c)))) (HomogeneousLocalization.NumDenSameDeg.num.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x c)) n)
+Case conversion may be inaccurate. Consider using '#align homogeneous_localization.num_denom_same_deg.num_pow HomogeneousLocalization.NumDenSameDeg.num_powₓ'. -/
@[simp]
-theorem num_pow (c : NumDenomSameDeg 𝒜 x) (n : ℕ) : ((c ^ n).num : A) = c.num ^ n :=
+theorem num_pow (c : NumDenSameDeg 𝒜 x) (n : ℕ) : ((c ^ n).num : A) = c.num ^ n :=
rfl
-#align homogeneous_localization.num_denom_same_deg.num_pow HomogeneousLocalization.NumDenomSameDeg.num_pow
-
+#align homogeneous_localization.num_denom_same_deg.num_pow HomogeneousLocalization.NumDenSameDeg.num_pow
+
+/- warning: homogeneous_localization.num_denom_same_deg.denom_pow -> HomogeneousLocalization.NumDenSameDeg.den_pow is a dubious translation:
+lean 3 declaration is
+ forall {ι : Type.{u1}} {R : Type.{u2}} {A : Type.{u3}} [_inst_1 : AddCommMonoid.{u1} ι] [_inst_2 : DecidableEq.{succ u1} ι] [_inst_3 : CommRing.{u2} R] [_inst_4 : CommRing.{u3} A] [_inst_5 : Algebra.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4))] {𝒜 : ι -> (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))} [_inst_6 : GradedAlgebra.{u1, u2, u3} ι R A (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u1} ι _inst_1) (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5 𝒜] (x : Submonoid.{u3} A (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4)))))) (c : HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (n : Nat), Eq.{succ u3} A ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x (HPow.hPow.{max u1 u3, 0, max u1 u3} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) Nat (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (instHPow.{max u1 u3, 0} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) Nat (HomogeneousLocalization.NumDenSameDeg.Nat.hasPow.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x)) c n)))) A (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x (HPow.hPow.{max u1 u3, 0, max u1 u3} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) Nat (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (instHPow.{max u1 u3, 0} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) Nat (HomogeneousLocalization.NumDenSameDeg.Nat.hasPow.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x)) c n)))) A (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x (HPow.hPow.{max u1 u3, 0, max u1 u3} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) Nat (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (instHPow.{max u1 u3, 0} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) Nat (HomogeneousLocalization.NumDenSameDeg.Nat.hasPow.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x)) c n)))) A (coeBase.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x (HPow.hPow.{max u1 u3, 0, max u1 u3} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) Nat (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (instHPow.{max u1 u3, 0} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) Nat (HomogeneousLocalization.NumDenSameDeg.Nat.hasPow.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x)) c n)))) A (coeSubtype.{succ u3} A (fun (x_1 : A) => Membership.Mem.{u3, u3} A (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) (SetLike.hasMem.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) x_1 (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x (HPow.hPow.{max u1 u3, 0, max u1 u3} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) Nat (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (instHPow.{max u1 u3, 0} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) Nat (HomogeneousLocalization.NumDenSameDeg.Nat.hasPow.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x)) c n)))))))) (HomogeneousLocalization.NumDenSameDeg.denom.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x (HPow.hPow.{max u1 u3, 0, max u1 u3} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) Nat (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (instHPow.{max u1 u3, 0} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) Nat (HomogeneousLocalization.NumDenSameDeg.Nat.hasPow.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x)) c n))) (HPow.hPow.{u3, 0, u3} A Nat A (instHPow.{u3, 0} A Nat (Monoid.Pow.{u3} A (Ring.toMonoid.{u3} A (CommRing.toRing.{u3} A _inst_4)))) ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c))) A (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c))) A (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c))) A (coeBase.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c))) A (coeSubtype.{succ u3} A (fun (x_1 : A) => Membership.Mem.{u3, u3} A (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) (SetLike.hasMem.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) x_1 (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c))))))) (HomogeneousLocalization.NumDenSameDeg.denom.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c)) n)
+but is expected to have type
+ forall {ι : Type.{u3}} {R : Type.{u2}} {A : Type.{u1}} [_inst_1 : AddCommMonoid.{u3} ι] [_inst_2 : DecidableEq.{succ u3} ι] [_inst_3 : CommRing.{u2} R] [_inst_4 : CommRing.{u1} A] [_inst_5 : Algebra.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4))] {𝒜 : ι -> (Submodule.{u2, u1} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_4))))) (Algebra.toModule.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4)) _inst_5))} [_inst_6 : GradedAlgebra.{u3, u2, u1} ι R A (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u3} ι _inst_1) (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4)) _inst_5 𝒜] (x : Submonoid.{u1} A (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4)))))) (c : HomogeneousLocalization.NumDenSameDeg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) (n : Nat), Eq.{succ u1} A (Subtype.val.{succ u1} A (fun (x_1 : A) => Membership.mem.{u1, u1} A (Set.{u1} A) (Set.instMembershipSet.{u1} A) x_1 (SetLike.coe.{u1, u1} (Submodule.{u2, u1} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_4))))) (Algebra.toModule.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u1} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_4))))) (Algebra.toModule.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4)) _inst_5)) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x (HPow.hPow.{max u3 u1, 0, max u3 u1} (HomogeneousLocalization.NumDenSameDeg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) Nat (HomogeneousLocalization.NumDenSameDeg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) (instHPow.{max u3 u1, 0} (HomogeneousLocalization.NumDenSameDeg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) Nat (HomogeneousLocalization.NumDenSameDeg.instPowNumDenSameDegNat.{u3, u2, u1} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x)) c n))))) (HomogeneousLocalization.NumDenSameDeg.den.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x (HPow.hPow.{max u3 u1, 0, max u3 u1} (HomogeneousLocalization.NumDenSameDeg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) Nat (HomogeneousLocalization.NumDenSameDeg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) (instHPow.{max u3 u1, 0} (HomogeneousLocalization.NumDenSameDeg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) Nat (HomogeneousLocalization.NumDenSameDeg.instPowNumDenSameDegNat.{u3, u2, u1} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x)) c n))) (HPow.hPow.{u1, 0, u1} A Nat A (instHPow.{u1, 0} A Nat (Monoid.Pow.{u1} A (MonoidWithZero.toMonoid.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4)))))) (Subtype.val.{succ u1} A (fun (x_1 : A) => Membership.mem.{u1, u1} A (Set.{u1} A) (Set.instMembershipSet.{u1} A) x_1 (SetLike.coe.{u1, u1} (Submodule.{u2, u1} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_4))))) (Algebra.toModule.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u1} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_4))))) (Algebra.toModule.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4)) _inst_5)) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x c)))) (HomogeneousLocalization.NumDenSameDeg.den.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x c)) n)
+Case conversion may be inaccurate. Consider using '#align homogeneous_localization.num_denom_same_deg.denom_pow HomogeneousLocalization.NumDenSameDeg.den_powₓ'. -/
@[simp]
-theorem denom_pow (c : NumDenomSameDeg 𝒜 x) (n : ℕ) : ((c ^ n).den : A) = c.den ^ n :=
+theorem den_pow (c : NumDenSameDeg 𝒜 x) (n : ℕ) : ((c ^ n).den : A) = c.den ^ n :=
rfl
-#align homogeneous_localization.num_denom_same_deg.denom_pow HomogeneousLocalization.NumDenomSameDeg.denom_pow
+#align homogeneous_localization.num_denom_same_deg.denom_pow HomogeneousLocalization.NumDenSameDeg.den_pow
section SMul
variable {α : Type _} [SMul α R] [SMul α A] [IsScalarTower α R A]
-instance : SMul α (NumDenomSameDeg 𝒜 x) where smul m c := ⟨c.deg, m • c.num, c.den, c.denom_mem⟩
+instance : SMul α (NumDenSameDeg 𝒜 x) where smul m c := ⟨c.deg, m • c.num, c.den, c.denom_mem⟩
+/- warning: homogeneous_localization.num_denom_same_deg.deg_smul -> HomogeneousLocalization.NumDenSameDeg.deg_smul is a dubious translation:
+lean 3 declaration is
+ forall {ι : Type.{u1}} {R : Type.{u2}} {A : Type.{u3}} [_inst_1 : AddCommMonoid.{u1} ι] [_inst_2 : DecidableEq.{succ u1} ι] [_inst_3 : CommRing.{u2} R] [_inst_4 : CommRing.{u3} A] [_inst_5 : Algebra.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4))] {𝒜 : ι -> (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))} [_inst_6 : GradedAlgebra.{u1, u2, u3} ι R A (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u1} ι _inst_1) (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5 𝒜] (x : Submonoid.{u3} A (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4)))))) {α : Type.{u4}} [_inst_7 : SMul.{u4, u2} α R] [_inst_8 : SMul.{u4, u3} α A] [_inst_9 : IsScalarTower.{u4, u2, u3} α R A _inst_7 (SMulZeroClass.toHasSmul.{u2, u3} R A (AddZeroClass.toHasZero.{u3} A (AddMonoid.toAddZeroClass.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} R A (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} A (AddMonoid.toAddZeroClass.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} R A (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddZeroClass.toHasZero.{u3} A (AddMonoid.toAddZeroClass.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)))))))) (Module.toMulActionWithZero.{u2, u3} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))))) _inst_8] (c : HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (m : α), Eq.{succ u1} ι (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x (SMul.smul.{u4, max u1 u3} α (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.hasSmul.{u1, u2, u3, u4} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x α _inst_7 _inst_8 _inst_9) m c)) (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c)
+but is expected to have type
+ forall {ι : Type.{u4}} {R : Type.{u3}} {A : Type.{u2}} [_inst_1 : CommRing.{u3} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u3, u2} R A (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))] {_inst_4 : ι -> (Submodule.{u3, u2} R A (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u3, u2} R A (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3))} (_inst_5 : Submonoid.{u2} A (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)))))) {𝒜 : Type.{u1}} [_inst_6 : SMul.{u1, u3} 𝒜 R] [x : SMul.{u1, u2} 𝒜 A] [α : IsScalarTower.{u1, u3, u2} 𝒜 R A _inst_6 (Algebra.toSMul.{u3, u2} R A (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3) x] (_inst_7 : HomogeneousLocalization.NumDenSameDeg.{u4, u3, u2} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5) (_inst_8 : 𝒜), Eq.{succ u4} ι (HomogeneousLocalization.NumDenSameDeg.deg.{u4, u3, u2} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 (HSMul.hSMul.{u1, max u4 u2, max u4 u2} 𝒜 (HomogeneousLocalization.NumDenSameDeg.{u4, u3, u2} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5) (HomogeneousLocalization.NumDenSameDeg.{u4, u3, u2} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5) (instHSMul.{u1, max u4 u2} 𝒜 (HomogeneousLocalization.NumDenSameDeg.{u4, u3, u2} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5) (HomogeneousLocalization.NumDenSameDeg.instSMulNumDenSameDeg.{u4, u3, u2, u1} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x α)) _inst_8 _inst_7)) (HomogeneousLocalization.NumDenSameDeg.deg.{u4, u3, u2} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_7)
+Case conversion may be inaccurate. Consider using '#align homogeneous_localization.num_denom_same_deg.deg_smul HomogeneousLocalization.NumDenSameDeg.deg_smulₓ'. -/
@[simp]
-theorem deg_smul (c : NumDenomSameDeg 𝒜 x) (m : α) : (m • c).deg = c.deg :=
+theorem deg_smul (c : NumDenSameDeg 𝒜 x) (m : α) : (m • c).deg = c.deg :=
rfl
-#align homogeneous_localization.num_denom_same_deg.deg_smul HomogeneousLocalization.NumDenomSameDeg.deg_smul
-
+#align homogeneous_localization.num_denom_same_deg.deg_smul HomogeneousLocalization.NumDenSameDeg.deg_smul
+
+/- warning: homogeneous_localization.num_denom_same_deg.num_smul -> HomogeneousLocalization.NumDenSameDeg.num_smul is a dubious translation:
+lean 3 declaration is
+ forall {ι : Type.{u1}} {R : Type.{u2}} {A : Type.{u3}} [_inst_1 : AddCommMonoid.{u1} ι] [_inst_2 : DecidableEq.{succ u1} ι] [_inst_3 : CommRing.{u2} R] [_inst_4 : CommRing.{u3} A] [_inst_5 : Algebra.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4))] {𝒜 : ι -> (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))} [_inst_6 : GradedAlgebra.{u1, u2, u3} ι R A (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u1} ι _inst_1) (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5 𝒜] (x : Submonoid.{u3} A (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4)))))) {α : Type.{u4}} [_inst_7 : SMul.{u4, u2} α R] [_inst_8 : SMul.{u4, u3} α A] [_inst_9 : IsScalarTower.{u4, u2, u3} α R A _inst_7 (SMulZeroClass.toHasSmul.{u2, u3} R A (AddZeroClass.toHasZero.{u3} A (AddMonoid.toAddZeroClass.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} R A (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} A (AddMonoid.toAddZeroClass.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} R A (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddZeroClass.toHasZero.{u3} A (AddMonoid.toAddZeroClass.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)))))))) (Module.toMulActionWithZero.{u2, u3} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))))) _inst_8] (c : HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (m : α), Eq.{succ u3} A ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x (SMul.smul.{u4, max u1 u3} α (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.hasSmul.{u1, u2, u3, u4} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x α _inst_7 _inst_8 _inst_9) m c)))) A (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x (SMul.smul.{u4, max u1 u3} α (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.hasSmul.{u1, u2, u3, u4} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x α _inst_7 _inst_8 _inst_9) m c)))) A (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x (SMul.smul.{u4, max u1 u3} α (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.hasSmul.{u1, u2, u3, u4} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x α _inst_7 _inst_8 _inst_9) m c)))) A (coeBase.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x (SMul.smul.{u4, max u1 u3} α (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.hasSmul.{u1, u2, u3, u4} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x α _inst_7 _inst_8 _inst_9) m c)))) A (coeSubtype.{succ u3} A (fun (x_1 : A) => Membership.Mem.{u3, u3} A (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) (SetLike.hasMem.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) x_1 (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x (SMul.smul.{u4, max u1 u3} α (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.hasSmul.{u1, u2, u3, u4} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x α _inst_7 _inst_8 _inst_9) m c)))))))) (HomogeneousLocalization.NumDenSameDeg.num.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x (SMul.smul.{u4, max u1 u3} α (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.hasSmul.{u1, u2, u3, u4} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x α _inst_7 _inst_8 _inst_9) m c))) (SMul.smul.{u4, u3} α A _inst_8 m ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c))) A (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c))) A (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c))) A (coeBase.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c))) A (coeSubtype.{succ u3} A (fun (x_1 : A) => Membership.Mem.{u3, u3} A (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) (SetLike.hasMem.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) x_1 (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c))))))) (HomogeneousLocalization.NumDenSameDeg.num.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c)))
+but is expected to have type
+ forall {ι : Type.{u4}} {R : Type.{u3}} {A : Type.{u2}} [_inst_1 : CommRing.{u3} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u3, u2} R A (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))] {_inst_4 : ι -> (Submodule.{u3, u2} R A (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u3, u2} R A (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3))} (_inst_5 : Submonoid.{u2} A (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)))))) {𝒜 : Type.{u1}} [_inst_6 : SMul.{u1, u3} 𝒜 R] [x : SMul.{u1, u2} 𝒜 A] [α : IsScalarTower.{u1, u3, u2} 𝒜 R A _inst_6 (Algebra.toSMul.{u3, u2} R A (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3) x] (_inst_7 : HomogeneousLocalization.NumDenSameDeg.{u4, u3, u2} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5) (_inst_8 : 𝒜), Eq.{succ u2} A (Subtype.val.{succ u2} A (fun (x_1 : A) => Membership.mem.{u2, u2} A (Set.{u2} A) (Set.instMembershipSet.{u2} A) x_1 (SetLike.coe.{u2, u2} (Submodule.{u3, u2} R A (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u3, u2} R A (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (Submodule.setLike.{u3, u2} R A (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u3, u2} R A (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (_inst_4 (HomogeneousLocalization.NumDenSameDeg.deg.{u4, u3, u2} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 (HSMul.hSMul.{u1, max u4 u2, max u4 u2} 𝒜 (HomogeneousLocalization.NumDenSameDeg.{u4, u3, u2} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5) (HomogeneousLocalization.NumDenSameDeg.{u4, u3, u2} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5) (instHSMul.{u1, max u4 u2} 𝒜 (HomogeneousLocalization.NumDenSameDeg.{u4, u3, u2} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5) (HomogeneousLocalization.NumDenSameDeg.instSMulNumDenSameDeg.{u4, u3, u2, u1} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x α)) _inst_8 _inst_7))))) (HomogeneousLocalization.NumDenSameDeg.num.{u4, u3, u2} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 (HSMul.hSMul.{u1, max u4 u2, max u4 u2} 𝒜 (HomogeneousLocalization.NumDenSameDeg.{u4, u3, u2} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5) (HomogeneousLocalization.NumDenSameDeg.{u4, u3, u2} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5) (instHSMul.{u1, max u4 u2} 𝒜 (HomogeneousLocalization.NumDenSameDeg.{u4, u3, u2} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5) (HomogeneousLocalization.NumDenSameDeg.instSMulNumDenSameDeg.{u4, u3, u2, u1} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x α)) _inst_8 _inst_7))) (Subtype.val.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Set.{u2} A) (Set.instMembershipSet.{u2} A) x (SetLike.coe.{u2, u2} (Submodule.{u3, u2} R A (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u3, u2} R A (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (Submodule.setLike.{u3, u2} R A (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u3, u2} R A (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (_inst_4 (HomogeneousLocalization.NumDenSameDeg.deg.{u4, u3, u2} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_7)))) (HSMul.hSMul.{u1, u2, u2} 𝒜 (Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u3, u2} R A (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u3, u2} R A (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R A (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u3, u2} R A (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (Submodule.setLike.{u3, u2} R A (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u3, u2} R A (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3))) x (_inst_4 (HomogeneousLocalization.NumDenSameDeg.deg.{u4, u3, u2} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_7)))) (Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u3, u2} R A (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u3, u2} R A (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R A (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u3, u2} R A (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (Submodule.setLike.{u3, u2} R A (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u3, u2} R A (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3))) x (_inst_4 (HomogeneousLocalization.NumDenSameDeg.deg.{u4, u3, u2} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_7)))) (instHSMul.{u1, u2} 𝒜 (Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u3, u2} R A (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u3, u2} R A (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R A (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u3, u2} R A (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (Submodule.setLike.{u3, u2} R A (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u3, u2} R A (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3))) x (_inst_4 (HomogeneousLocalization.NumDenSameDeg.deg.{u4, u3, u2} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_7)))) (Submodule.smul.{u1, u3, u2} 𝒜 R A (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u3, u2} R A (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3) (_inst_4 (HomogeneousLocalization.NumDenSameDeg.deg.{u4, u3, u2} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_7)) _inst_6 x α)) _inst_8 (HomogeneousLocalization.NumDenSameDeg.num.{u4, u3, u2} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_7)))
+Case conversion may be inaccurate. Consider using '#align homogeneous_localization.num_denom_same_deg.num_smul HomogeneousLocalization.NumDenSameDeg.num_smulₓ'. -/
@[simp]
-theorem num_smul (c : NumDenomSameDeg 𝒜 x) (m : α) : ((m • c).num : A) = m • c.num :=
+theorem num_smul (c : NumDenSameDeg 𝒜 x) (m : α) : ((m • c).num : A) = m • c.num :=
rfl
-#align homogeneous_localization.num_denom_same_deg.num_smul HomogeneousLocalization.NumDenomSameDeg.num_smul
-
+#align homogeneous_localization.num_denom_same_deg.num_smul HomogeneousLocalization.NumDenSameDeg.num_smul
+
+/- warning: homogeneous_localization.num_denom_same_deg.denom_smul -> HomogeneousLocalization.NumDenSameDeg.den_smul is a dubious translation:
+lean 3 declaration is
+ forall {ι : Type.{u1}} {R : Type.{u2}} {A : Type.{u3}} [_inst_1 : AddCommMonoid.{u1} ι] [_inst_2 : DecidableEq.{succ u1} ι] [_inst_3 : CommRing.{u2} R] [_inst_4 : CommRing.{u3} A] [_inst_5 : Algebra.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4))] {𝒜 : ι -> (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))} [_inst_6 : GradedAlgebra.{u1, u2, u3} ι R A (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u1} ι _inst_1) (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5 𝒜] (x : Submonoid.{u3} A (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4)))))) {α : Type.{u4}} [_inst_7 : SMul.{u4, u2} α R] [_inst_8 : SMul.{u4, u3} α A] [_inst_9 : IsScalarTower.{u4, u2, u3} α R A _inst_7 (SMulZeroClass.toHasSmul.{u2, u3} R A (AddZeroClass.toHasZero.{u3} A (AddMonoid.toAddZeroClass.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} R A (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} A (AddMonoid.toAddZeroClass.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} R A (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddZeroClass.toHasZero.{u3} A (AddMonoid.toAddZeroClass.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)))))))) (Module.toMulActionWithZero.{u2, u3} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))))) _inst_8] (c : HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (m : α), Eq.{succ u3} A ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x (SMul.smul.{u4, max u1 u3} α (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.hasSmul.{u1, u2, u3, u4} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x α _inst_7 _inst_8 _inst_9) m c)))) A (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x (SMul.smul.{u4, max u1 u3} α (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.hasSmul.{u1, u2, u3, u4} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x α _inst_7 _inst_8 _inst_9) m c)))) A (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x (SMul.smul.{u4, max u1 u3} α (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.hasSmul.{u1, u2, u3, u4} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x α _inst_7 _inst_8 _inst_9) m c)))) A (coeBase.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x (SMul.smul.{u4, max u1 u3} α (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.hasSmul.{u1, u2, u3, u4} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x α _inst_7 _inst_8 _inst_9) m c)))) A (coeSubtype.{succ u3} A (fun (x_1 : A) => Membership.Mem.{u3, u3} A (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) (SetLike.hasMem.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) x_1 (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x (SMul.smul.{u4, max u1 u3} α (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.hasSmul.{u1, u2, u3, u4} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x α _inst_7 _inst_8 _inst_9) m c)))))))) (HomogeneousLocalization.NumDenSameDeg.denom.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x (SMul.smul.{u4, max u1 u3} α (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.hasSmul.{u1, u2, u3, u4} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x α _inst_7 _inst_8 _inst_9) m c))) ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c))) A (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c))) A (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c))) A (coeBase.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c))) A (coeSubtype.{succ u3} A (fun (x_1 : A) => Membership.Mem.{u3, u3} A (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) (SetLike.hasMem.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) x_1 (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c))))))) (HomogeneousLocalization.NumDenSameDeg.denom.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x c))
+but is expected to have type
+ forall {ι : Type.{u4}} {R : Type.{u3}} {A : Type.{u2}} [_inst_1 : CommRing.{u3} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u3, u2} R A (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))] {_inst_4 : ι -> (Submodule.{u3, u2} R A (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u3, u2} R A (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3))} (_inst_5 : Submonoid.{u2} A (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)))))) {𝒜 : Type.{u1}} [_inst_6 : SMul.{u1, u3} 𝒜 R] [x : SMul.{u1, u2} 𝒜 A] [α : IsScalarTower.{u1, u3, u2} 𝒜 R A _inst_6 (Algebra.toSMul.{u3, u2} R A (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3) x] (_inst_7 : HomogeneousLocalization.NumDenSameDeg.{u4, u3, u2} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5) (_inst_8 : 𝒜), Eq.{succ u2} A (Subtype.val.{succ u2} A (fun (x_1 : A) => Membership.mem.{u2, u2} A (Set.{u2} A) (Set.instMembershipSet.{u2} A) x_1 (SetLike.coe.{u2, u2} (Submodule.{u3, u2} R A (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u3, u2} R A (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (Submodule.setLike.{u3, u2} R A (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u3, u2} R A (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (_inst_4 (HomogeneousLocalization.NumDenSameDeg.deg.{u4, u3, u2} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 (HSMul.hSMul.{u1, max u4 u2, max u4 u2} 𝒜 (HomogeneousLocalization.NumDenSameDeg.{u4, u3, u2} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5) (HomogeneousLocalization.NumDenSameDeg.{u4, u3, u2} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5) (instHSMul.{u1, max u4 u2} 𝒜 (HomogeneousLocalization.NumDenSameDeg.{u4, u3, u2} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5) (HomogeneousLocalization.NumDenSameDeg.instSMulNumDenSameDeg.{u4, u3, u2, u1} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x α)) _inst_8 _inst_7))))) (HomogeneousLocalization.NumDenSameDeg.den.{u4, u3, u2} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 (HSMul.hSMul.{u1, max u4 u2, max u4 u2} 𝒜 (HomogeneousLocalization.NumDenSameDeg.{u4, u3, u2} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5) (HomogeneousLocalization.NumDenSameDeg.{u4, u3, u2} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5) (instHSMul.{u1, max u4 u2} 𝒜 (HomogeneousLocalization.NumDenSameDeg.{u4, u3, u2} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5) (HomogeneousLocalization.NumDenSameDeg.instSMulNumDenSameDeg.{u4, u3, u2, u1} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x α)) _inst_8 _inst_7))) (Subtype.val.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Set.{u2} A) (Set.instMembershipSet.{u2} A) x (SetLike.coe.{u2, u2} (Submodule.{u3, u2} R A (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u3, u2} R A (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (Submodule.setLike.{u3, u2} R A (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u3, u2} R A (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (_inst_4 (HomogeneousLocalization.NumDenSameDeg.deg.{u4, u3, u2} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_7)))) (HomogeneousLocalization.NumDenSameDeg.den.{u4, u3, u2} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_7))
+Case conversion may be inaccurate. Consider using '#align homogeneous_localization.num_denom_same_deg.denom_smul HomogeneousLocalization.NumDenSameDeg.den_smulₓ'. -/
@[simp]
-theorem denom_smul (c : NumDenomSameDeg 𝒜 x) (m : α) : ((m • c).den : A) = c.den :=
+theorem den_smul (c : NumDenSameDeg 𝒜 x) (m : α) : ((m • c).den : A) = c.den :=
rfl
-#align homogeneous_localization.num_denom_same_deg.denom_smul HomogeneousLocalization.NumDenomSameDeg.denom_smul
+#align homogeneous_localization.num_denom_same_deg.denom_smul HomogeneousLocalization.NumDenSameDeg.den_smul
end SMul
variable (𝒜)
+/- warning: homogeneous_localization.num_denom_same_deg.embedding -> HomogeneousLocalization.NumDenSameDeg.embedding is a dubious translation:
+lean 3 declaration is
+ forall {ι : Type.{u1}} {R : Type.{u2}} {A : Type.{u3}} [_inst_1 : AddCommMonoid.{u1} ι] [_inst_2 : DecidableEq.{succ u1} ι] [_inst_3 : CommRing.{u2} R] [_inst_4 : CommRing.{u3} A] [_inst_5 : Algebra.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4))] (𝒜 : ι -> (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) [_inst_6 : GradedAlgebra.{u1, u2, u3} ι R A (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u1} ι _inst_1) (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5 𝒜] (x : Submonoid.{u3} A (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4)))))), (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) -> (Localization.{u3} A (CommRing.toCommMonoid.{u3} A _inst_4) x)
+but is expected to have type
+ forall {ι : Type.{u1}} {R : Type.{u2}} {A : Type.{u3}} [_inst_1 : CommRing.{u2} R] [_inst_2 : CommRing.{u3} A] [_inst_3 : Algebra.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_2))] (_inst_4 : ι -> (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_2))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_2)) _inst_3))) (_inst_5 : Submonoid.{u3} A (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_2)))))), (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5) -> (Localization.{u3} A (CommRing.toCommMonoid.{u3} A _inst_2) _inst_5)
+Case conversion may be inaccurate. Consider using '#align homogeneous_localization.num_denom_same_deg.embedding HomogeneousLocalization.NumDenSameDeg.embeddingₓ'. -/
/-- For `x : prime ideal of A` and any `p : num_denom_same_deg 𝒜 x`, or equivalent a numerator and a
denominator of the same degree, we get an element `p.num / p.denom` of `Aₓ`.
-/
-def embedding (p : NumDenomSameDeg 𝒜 x) : at x :=
+def embedding (p : NumDenSameDeg 𝒜 x) : at x :=
Localization.mk p.num ⟨p.den, p.denom_mem⟩
-#align homogeneous_localization.num_denom_same_deg.embedding HomogeneousLocalization.NumDenomSameDeg.embedding
+#align homogeneous_localization.num_denom_same_deg.embedding HomogeneousLocalization.NumDenSameDeg.embedding
end NumDenomSameDeg
end HomogeneousLocalization
+/- warning: homogeneous_localization -> HomogeneousLocalization is a dubious translation:
+lean 3 declaration is
+ forall {ι : Type.{u1}} {R : Type.{u2}} {A : Type.{u3}} [_inst_1 : AddCommMonoid.{u1} ι] [_inst_2 : DecidableEq.{succ u1} ι] [_inst_3 : CommRing.{u2} R] [_inst_4 : CommRing.{u3} A] [_inst_5 : Algebra.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4))] (𝒜 : ι -> (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) [_inst_6 : GradedAlgebra.{u1, u2, u3} ι R A (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u1} ι _inst_1) (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5 𝒜], (Submonoid.{u3} A (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4)))))) -> Type.{max u1 u3}
+but is expected to have type
+ forall {ι : Type.{u1}} {R : Type.{u2}} {A : Type.{u3}} [_inst_1 : CommRing.{u2} R] [_inst_2 : CommRing.{u3} A] [_inst_3 : Algebra.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_2))], (ι -> (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_2))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_2)) _inst_3))) -> (Submonoid.{u3} A (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_2)))))) -> Type.{max u1 u3}
+Case conversion may be inaccurate. Consider using '#align homogeneous_localization HomogeneousLocalizationₓ'. -/
/--
For `x : prime ideal of A`, `homogeneous_localization 𝒜 x` is `num_denom_same_deg 𝒜 x` modulo the
kernel of `embedding 𝒜 x`. This is essentially the subring of `Aₓ` where the numerator and
@@ -298,34 +431,53 @@ denominator share the same grading.
-/
@[nolint has_nonempty_instance]
def HomogeneousLocalization : Type _ :=
- Quotient (Setoid.ker <| HomogeneousLocalization.NumDenomSameDeg.embedding 𝒜 x)
+ Quotient (Setoid.ker <| HomogeneousLocalization.NumDenSameDeg.embedding 𝒜 x)
#align homogeneous_localization HomogeneousLocalization
namespace HomogeneousLocalization
-open HomogeneousLocalization HomogeneousLocalization.NumDenomSameDeg
+open HomogeneousLocalization HomogeneousLocalization.NumDenSameDeg
variable {𝒜} {x}
+/- warning: homogeneous_localization.val -> HomogeneousLocalization.val is a dubious translation:
+lean 3 declaration is
+ forall {ι : Type.{u1}} {R : Type.{u2}} {A : Type.{u3}} [_inst_1 : AddCommMonoid.{u1} ι] [_inst_2 : DecidableEq.{succ u1} ι] [_inst_3 : CommRing.{u2} R] [_inst_4 : CommRing.{u3} A] [_inst_5 : Algebra.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4))] {𝒜 : ι -> (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))} [_inst_6 : GradedAlgebra.{u1, u2, u3} ι R A (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u1} ι _inst_1) (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5 𝒜] {x : Submonoid.{u3} A (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4)))))}, (HomogeneousLocalization.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) -> (Localization.{u3} A (CommRing.toCommMonoid.{u3} A _inst_4) x)
+but is expected to have type
+ forall {ι : Type.{u1}} {R : Type.{u2}} {A : Type.{u3}} [_inst_1 : CommRing.{u2} R] [_inst_2 : CommRing.{u3} A] [_inst_3 : Algebra.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_2))] {_inst_4 : ι -> (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_2))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_2)) _inst_3))} {_inst_5 : Submonoid.{u3} A (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_2)))))}, (HomogeneousLocalization.{u1, u2, u3} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5) -> (Localization.{u3} A (CommRing.toCommMonoid.{u3} A _inst_2) _inst_5)
+Case conversion may be inaccurate. Consider using '#align homogeneous_localization.val HomogeneousLocalization.valₓ'. -/
/-- View an element of `homogeneous_localization 𝒜 x` as an element of `Aₓ` by forgetting that the
numerator and denominator are of the same grading.
-/
def val (y : HomogeneousLocalization 𝒜 x) : at x :=
- Quotient.liftOn' y (NumDenomSameDeg.embedding 𝒜 x) fun _ _ => id
+ Quotient.liftOn' y (NumDenSameDeg.embedding 𝒜 x) fun _ _ => id
#align homogeneous_localization.val HomogeneousLocalization.val
+/- warning: homogeneous_localization.val_mk' -> HomogeneousLocalization.val_mk'' is a dubious translation:
+lean 3 declaration is
+ forall {ι : Type.{u1}} {R : Type.{u2}} {A : Type.{u3}} [_inst_1 : AddCommMonoid.{u1} ι] [_inst_2 : DecidableEq.{succ u1} ι] [_inst_3 : CommRing.{u2} R] [_inst_4 : CommRing.{u3} A] [_inst_5 : Algebra.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4))] {𝒜 : ι -> (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))} [_inst_6 : GradedAlgebra.{u1, u2, u3} ι R A (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u1} ι _inst_1) (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5 𝒜] {x : Submonoid.{u3} A (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4)))))} (i : HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x), Eq.{succ u3} (Localization.{u3} A (CommRing.toCommMonoid.{u3} A _inst_4) x) (HomogeneousLocalization.val.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x (Quotient.mk''.{max (succ u1) (succ u3)} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => (fun (a : ι) (b : ι) => _inst_2 a b) a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (Setoid.ker.{max u1 u3, u3} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => (fun (a : ι) (b : ι) => _inst_2 a b) a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (Localization.{u3} A (CommRing.toCommMonoid.{u3} A _inst_4) x) (HomogeneousLocalization.NumDenSameDeg.embedding.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => (fun (a : ι) (b : ι) => _inst_2 a b) a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x)) i)) (Localization.mk.{u3} A (CommRing.toCommMonoid.{u3} A _inst_4) x ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x i))) A (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x i))) A (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x i))) A (coeBase.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x i))) A (coeSubtype.{succ u3} A (fun (x_1 : A) => Membership.Mem.{u3, u3} A (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) (SetLike.hasMem.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) x_1 (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x i))))))) (HomogeneousLocalization.NumDenSameDeg.num.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x i)) (Subtype.mk.{succ u3} A (fun (x_1 : A) => Membership.Mem.{u3, u3} A (Submonoid.{u3} A (Monoid.toMulOneClass.{u3} A (CommMonoid.toMonoid.{u3} A (CommRing.toCommMonoid.{u3} A _inst_4)))) (SetLike.hasMem.{u3, u3} (Submonoid.{u3} A (Monoid.toMulOneClass.{u3} A (CommMonoid.toMonoid.{u3} A (CommRing.toCommMonoid.{u3} A _inst_4)))) A (Submonoid.setLike.{u3} A (Monoid.toMulOneClass.{u3} A (CommMonoid.toMonoid.{u3} A (CommRing.toCommMonoid.{u3} A _inst_4))))) x_1 x) ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x i))) A (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x i))) A (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x i))) A (coeBase.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x i))) A (coeSubtype.{succ u3} A (fun (x_1 : A) => Membership.Mem.{u3, u3} A (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) (SetLike.hasMem.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) x_1 (𝒜 (HomogeneousLocalization.NumDenSameDeg.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x i))))))) (HomogeneousLocalization.NumDenSameDeg.denom.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x i)) (HomogeneousLocalization.NumDenSameDeg.denom_mem.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x i)))
+but is expected to have type
+ forall {ι : Type.{u3}} {R : Type.{u2}} {A : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : CommRing.{u1} A] [_inst_3 : Algebra.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2))] {_inst_4 : ι -> (Submodule.{u2, u1} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3))} {_inst_5 : Submonoid.{u1} A (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)))))} (𝒜 : HomogeneousLocalization.NumDenSameDeg.{u3, u2, u1} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5), Eq.{succ u1} (Localization.{u1} A (CommRing.toCommMonoid.{u1} A _inst_2) _inst_5) (HomogeneousLocalization.val.{u3, u2, u1} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 (Quotient.mk''.{max (succ u1) (succ u3)} (HomogeneousLocalization.NumDenSameDeg.{u3, u2, u1} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5) (Setoid.ker.{max u3 u1, u1} (HomogeneousLocalization.NumDenSameDeg.{u3, u2, u1} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5) (Localization.{u1} A (CommRing.toCommMonoid.{u1} A _inst_2) _inst_5) (HomogeneousLocalization.NumDenSameDeg.embedding.{u3, u2, u1} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5)) 𝒜)) (Localization.mk.{u1} A (CommRing.toCommMonoid.{u1} A _inst_2) _inst_5 (Subtype.val.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (Set.{u1} A) (Set.instMembershipSet.{u1} A) x (SetLike.coe.{u1, u1} (Submodule.{u2, u1} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3)) A (Submodule.setLike.{u2, u1} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3)) (_inst_4 (HomogeneousLocalization.NumDenSameDeg.deg.{u3, u2, u1} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 𝒜)))) (HomogeneousLocalization.NumDenSameDeg.num.{u3, u2, u1} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 𝒜)) (Subtype.mk.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (Submonoid.{u1} A (Monoid.toMulOneClass.{u1} A (CommMonoid.toMonoid.{u1} A (CommRing.toCommMonoid.{u1} A _inst_2)))) (SetLike.instMembership.{u1, u1} (Submonoid.{u1} A (Monoid.toMulOneClass.{u1} A (CommMonoid.toMonoid.{u1} A (CommRing.toCommMonoid.{u1} A _inst_2)))) A (Submonoid.instSetLikeSubmonoid.{u1} A (Monoid.toMulOneClass.{u1} A (CommMonoid.toMonoid.{u1} A (CommRing.toCommMonoid.{u1} A _inst_2))))) x _inst_5) (Subtype.val.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (Set.{u1} A) (Set.instMembershipSet.{u1} A) x (SetLike.coe.{u1, u1} (Submodule.{u2, u1} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3)) A (Submodule.setLike.{u2, u1} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3)) (_inst_4 (HomogeneousLocalization.NumDenSameDeg.deg.{u3, u2, u1} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 𝒜)))) (HomogeneousLocalization.NumDenSameDeg.den.{u3, u2, u1} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 𝒜)) (HomogeneousLocalization.NumDenSameDeg.den_mem.{u3, u2, u1} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 𝒜)))
+Case conversion may be inaccurate. Consider using '#align homogeneous_localization.val_mk' HomogeneousLocalization.val_mk''ₓ'. -/
@[simp]
-theorem val_mk'' (i : NumDenomSameDeg 𝒜 x) :
+theorem val_mk'' (i : NumDenSameDeg 𝒜 x) :
val (Quotient.mk'' i) = Localization.mk i.num ⟨i.den, i.denom_mem⟩ :=
rfl
#align homogeneous_localization.val_mk' HomogeneousLocalization.val_mk''
variable (x)
+/- warning: homogeneous_localization.val_injective -> HomogeneousLocalization.val_injective is a dubious translation:
+lean 3 declaration is
+ forall {ι : Type.{u1}} {R : Type.{u2}} {A : Type.{u3}} [_inst_1 : AddCommMonoid.{u1} ι] [_inst_2 : DecidableEq.{succ u1} ι] [_inst_3 : CommRing.{u2} R] [_inst_4 : CommRing.{u3} A] [_inst_5 : Algebra.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4))] {𝒜 : ι -> (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))} [_inst_6 : GradedAlgebra.{u1, u2, u3} ι R A (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u1} ι _inst_1) (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5 𝒜] (x : Submonoid.{u3} A (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4)))))), Function.Injective.{succ (max u1 u3), succ u3} (HomogeneousLocalization.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (Localization.{u3} A (CommRing.toCommMonoid.{u3} A _inst_4) x) (HomogeneousLocalization.val.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x)
+but is expected to have type
+ forall {ι : Type.{u3}} {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))] {_inst_4 : ι -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3))} (_inst_5 : Submonoid.{u2} A (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)))))), Function.Injective.{max (succ u3) (succ u2), succ u2} (HomogeneousLocalization.{u3, u1, u2} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5) (Localization.{u2} A (CommRing.toCommMonoid.{u2} A _inst_2) _inst_5) (HomogeneousLocalization.val.{u3, u1, u2} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5)
+Case conversion may be inaccurate. Consider using '#align homogeneous_localization.val_injective HomogeneousLocalization.val_injectiveₓ'. -/
theorem val_injective : Function.Injective (@HomogeneousLocalization.val _ _ _ _ _ _ _ _ 𝒜 _ x) :=
fun a b => Quotient.recOnSubsingleton₂' a b fun a b h => Quotient.sound' h
#align homogeneous_localization.val_injective HomogeneousLocalization.val_injective
+#print HomogeneousLocalization.hasPow /-
instance hasPow : Pow (HomogeneousLocalization 𝒜 x) ℕ
where pow z n :=
(Quotient.map' (· ^ n) fun c1 c2 (h : Localization.mk _ _ = Localization.mk _ _) =>
@@ -336,6 +488,7 @@ instance hasPow : Pow (HomogeneousLocalization 𝒜 x) ℕ
HomogeneousLocalization 𝒜 x → HomogeneousLocalization 𝒜 x)
z
#align homogeneous_localization.has_pow HomogeneousLocalization.hasPow
+-/
section SMul
@@ -351,6 +504,12 @@ instance : SMul α (HomogeneousLocalization 𝒜 x)
simp only [num_smul, denom_smul]
convert congr_arg (fun z : at x => m • z) h <;> rw [Localization.smul_mk] <;> rfl
+/- warning: homogeneous_localization.smul_val -> HomogeneousLocalization.smul_val is a dubious translation:
+lean 3 declaration is
+ forall {ι : Type.{u1}} {R : Type.{u2}} {A : Type.{u3}} [_inst_1 : AddCommMonoid.{u1} ι] [_inst_2 : DecidableEq.{succ u1} ι] [_inst_3 : CommRing.{u2} R] [_inst_4 : CommRing.{u3} A] [_inst_5 : Algebra.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4))] {𝒜 : ι -> (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))} [_inst_6 : GradedAlgebra.{u1, u2, u3} ι R A (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u1} ι _inst_1) (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5 𝒜] (x : Submonoid.{u3} A (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4)))))) {α : Type.{u4}} [_inst_7 : SMul.{u4, u2} α R] [_inst_8 : SMul.{u4, u3} α A] [_inst_9 : IsScalarTower.{u4, u2, u3} α R A _inst_7 (SMulZeroClass.toHasSmul.{u2, u3} R A (AddZeroClass.toHasZero.{u3} A (AddMonoid.toAddZeroClass.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} R A (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} A (AddMonoid.toAddZeroClass.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} R A (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddZeroClass.toHasZero.{u3} A (AddMonoid.toAddZeroClass.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)))))))) (Module.toMulActionWithZero.{u2, u3} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))))) _inst_8] [_inst_10 : IsScalarTower.{u4, u3, u3} α A A _inst_8 (Mul.toSMul.{u3} A (Distrib.toHasMul.{u3} A (Ring.toDistrib.{u3} A (CommRing.toRing.{u3} A _inst_4)))) _inst_8] (y : HomogeneousLocalization.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (n : α), Eq.{succ u3} (Localization.{u3} A (CommRing.toCommMonoid.{u3} A _inst_4) x) (HomogeneousLocalization.val.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x (SMul.smul.{u4, max u1 u3} α (HomogeneousLocalization.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.hasSmul.{u1, u2, u3, u4} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x α _inst_7 _inst_8 _inst_9 _inst_10) n y)) (SMul.smul.{u4, u3} α (Localization.{u3} A (CommRing.toCommMonoid.{u3} A _inst_4) x) (Localization.hasSmul.{u3, u4} A (CommRing.toCommMonoid.{u3} A _inst_4) x α _inst_8 _inst_10) n (HomogeneousLocalization.val.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x y))
+but is expected to have type
+ forall {ι : Type.{u4}} {R : Type.{u3}} {A : Type.{u2}} [_inst_1 : CommRing.{u3} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u3, u2} R A (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))] {_inst_4 : ι -> (Submodule.{u3, u2} R A (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u3, u2} R A (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3))} (_inst_5 : Submonoid.{u2} A (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)))))) {𝒜 : Type.{u1}} [_inst_6 : SMul.{u1, u3} 𝒜 R] [x : SMul.{u1, u2} 𝒜 A] [α : IsScalarTower.{u1, u3, u2} 𝒜 R A _inst_6 (Algebra.toSMul.{u3, u2} R A (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3) x] [_inst_7 : IsScalarTower.{u1, u2, u2} 𝒜 A A x (Algebra.toSMul.{u2, u2} A A (CommRing.toCommSemiring.{u2} A _inst_2) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (Algebra.id.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))) x] (_inst_8 : HomogeneousLocalization.{u4, u3, u2} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5) (_inst_9 : 𝒜), Eq.{succ u2} (Localization.{u2} A (CommRing.toCommMonoid.{u2} A _inst_2) _inst_5) (HomogeneousLocalization.val.{u4, u3, u2} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 (HSMul.hSMul.{u1, max u4 u2, max u4 u2} 𝒜 (HomogeneousLocalization.{u4, u3, u2} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5) (HomogeneousLocalization.{u4, u3, u2} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5) (instHSMul.{u1, max u4 u2} 𝒜 (HomogeneousLocalization.{u4, u3, u2} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5) (HomogeneousLocalization.instSMulHomogeneousLocalization.{u4, u3, u2, u1} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x α _inst_7)) _inst_9 _inst_8)) (HSMul.hSMul.{u1, u2, u2} 𝒜 (Localization.{u2} A (CommRing.toCommMonoid.{u2} A _inst_2) _inst_5) (Localization.{u2} A (CommRing.toCommMonoid.{u2} A _inst_2) _inst_5) (instHSMul.{u1, u2} 𝒜 (Localization.{u2} A (CommRing.toCommMonoid.{u2} A _inst_2) _inst_5) (Localization.instSMulLocalization.{u2, u1} A (CommRing.toCommMonoid.{u2} A _inst_2) _inst_5 𝒜 x _inst_7)) _inst_9 (HomogeneousLocalization.val.{u4, u3, u2} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_8))
+Case conversion may be inaccurate. Consider using '#align homogeneous_localization.smul_val HomogeneousLocalization.smul_valₓ'. -/
@[simp]
theorem smul_val (y : HomogeneousLocalization 𝒜 x) (n : α) : (n • y).val = n • y.val :=
by
@@ -399,24 +558,54 @@ instance : One (HomogeneousLocalization 𝒜 x) where one := Quotient.mk'' 1
instance : Zero (HomogeneousLocalization 𝒜 x) where zero := Quotient.mk'' 0
+/- warning: homogeneous_localization.zero_eq -> HomogeneousLocalization.zero_eq is a dubious translation:
+lean 3 declaration is
+ forall {ι : Type.{u1}} {R : Type.{u2}} {A : Type.{u3}} [_inst_1 : AddCommMonoid.{u1} ι] [_inst_2 : DecidableEq.{succ u1} ι] [_inst_3 : CommRing.{u2} R] [_inst_4 : CommRing.{u3} A] [_inst_5 : Algebra.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4))] {𝒜 : ι -> (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))} [_inst_6 : GradedAlgebra.{u1, u2, u3} ι R A (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u1} ι _inst_1) (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5 𝒜] (x : Submonoid.{u3} A (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4)))))), Eq.{succ (max u1 u3)} (HomogeneousLocalization.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (OfNat.ofNat.{max u1 u3} (HomogeneousLocalization.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) 0 (OfNat.mk.{max u1 u3} (HomogeneousLocalization.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) 0 (Zero.zero.{max u1 u3} (HomogeneousLocalization.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.hasZero.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x)))) (Quotient.mk''.{max (succ u1) (succ u3)} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => (fun (a : ι) (b : ι) => _inst_2 a b) a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (Setoid.ker.{max u1 u3, u3} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => (fun (a : ι) (b : ι) => _inst_2 a b) a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (Localization.{u3} A (CommRing.toCommMonoid.{u3} A _inst_4) x) (HomogeneousLocalization.NumDenSameDeg.embedding.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => (fun (a : ι) (b : ι) => _inst_2 a b) a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x)) (OfNat.ofNat.{max u1 u3} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => (fun (a : ι) (b : ι) => _inst_2 a b) a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) 0 (OfNat.mk.{max u1 u3} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => (fun (a : ι) (b : ι) => _inst_2 a b) a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) 0 (Zero.zero.{max u1 u3} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => (fun (a : ι) (b : ι) => _inst_2 a b) a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.hasZero.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => (fun (a : ι) (b : ι) => _inst_2 a b) a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x)))))
+but is expected to have type
+ forall {ι : Type.{u3}} {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : AddCommMonoid.{u3} ι] [_inst_2 : DecidableEq.{succ u3} ι] [_inst_3 : CommRing.{u1} R] [_inst_4 : CommRing.{u2} A] [_inst_5 : Algebra.{u1, u2} R A (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_4))] {𝒜 : ι -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_4))))) (Algebra.toModule.{u1, u2} R A (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_4)) _inst_5))} [_inst_6 : GradedAlgebra.{u3, u1, u2} ι R A (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u3} ι _inst_1) (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_4)) _inst_5 𝒜] (x : Submonoid.{u2} A (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_4)))))), Eq.{max (succ u3) (succ u2)} (HomogeneousLocalization.{u3, u1, u2} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) (OfNat.ofNat.{max u3 u2} (HomogeneousLocalization.{u3, u1, u2} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) 0 (Zero.toOfNat0.{max u3 u2} (HomogeneousLocalization.{u3, u1, u2} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) (HomogeneousLocalization.instZeroHomogeneousLocalization.{u3, u1, u2} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x))) (Quotient.mk''.{succ (max u3 u2)} (HomogeneousLocalization.NumDenSameDeg.{u3, u1, u2} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) (Setoid.ker.{max u3 u2, u2} (HomogeneousLocalization.NumDenSameDeg.{u3, u1, u2} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) (Localization.{u2} A (CommRing.toCommMonoid.{u2} A _inst_4) x) (HomogeneousLocalization.NumDenSameDeg.embedding.{u3, u1, u2} ι R A _inst_3 _inst_4 _inst_5 𝒜 x)) (OfNat.ofNat.{max u3 u2} (HomogeneousLocalization.NumDenSameDeg.{u3, u1, u2} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) 0 (Zero.toOfNat0.{max u3 u2} (HomogeneousLocalization.NumDenSameDeg.{u3, u1, u2} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) (HomogeneousLocalization.NumDenSameDeg.instZeroNumDenSameDeg.{u3, u1, u2} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x))))
+Case conversion may be inaccurate. Consider using '#align homogeneous_localization.zero_eq HomogeneousLocalization.zero_eqₓ'. -/
theorem zero_eq : (0 : HomogeneousLocalization 𝒜 x) = Quotient.mk'' 0 :=
rfl
#align homogeneous_localization.zero_eq HomogeneousLocalization.zero_eq
+/- warning: homogeneous_localization.one_eq -> HomogeneousLocalization.one_eq is a dubious translation:
+lean 3 declaration is
+ forall {ι : Type.{u1}} {R : Type.{u2}} {A : Type.{u3}} [_inst_1 : AddCommMonoid.{u1} ι] [_inst_2 : DecidableEq.{succ u1} ι] [_inst_3 : CommRing.{u2} R] [_inst_4 : CommRing.{u3} A] [_inst_5 : Algebra.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4))] {𝒜 : ι -> (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))} [_inst_6 : GradedAlgebra.{u1, u2, u3} ι R A (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u1} ι _inst_1) (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5 𝒜] (x : Submonoid.{u3} A (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4)))))), Eq.{succ (max u1 u3)} (HomogeneousLocalization.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (OfNat.ofNat.{max u1 u3} (HomogeneousLocalization.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) 1 (OfNat.mk.{max u1 u3} (HomogeneousLocalization.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) 1 (One.one.{max u1 u3} (HomogeneousLocalization.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.hasOne.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x)))) (Quotient.mk''.{max (succ u1) (succ u3)} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => (fun (a : ι) (b : ι) => _inst_2 a b) a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (Setoid.ker.{max u1 u3, u3} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => (fun (a : ι) (b : ι) => _inst_2 a b) a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (Localization.{u3} A (CommRing.toCommMonoid.{u3} A _inst_4) x) (HomogeneousLocalization.NumDenSameDeg.embedding.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => (fun (a : ι) (b : ι) => _inst_2 a b) a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x)) (OfNat.ofNat.{max u1 u3} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => (fun (a : ι) (b : ι) => _inst_2 a b) a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) 1 (OfNat.mk.{max u1 u3} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => (fun (a : ι) (b : ι) => _inst_2 a b) a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) 1 (One.one.{max u1 u3} (HomogeneousLocalization.NumDenSameDeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => (fun (a : ι) (b : ι) => _inst_2 a b) a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.NumDenSameDeg.hasOne.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => (fun (a : ι) (b : ι) => _inst_2 a b) a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x)))))
+but is expected to have type
+ forall {ι : Type.{u3}} {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : AddCommMonoid.{u3} ι] [_inst_2 : DecidableEq.{succ u3} ι] [_inst_3 : CommRing.{u1} R] [_inst_4 : CommRing.{u2} A] [_inst_5 : Algebra.{u1, u2} R A (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_4))] {𝒜 : ι -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_4))))) (Algebra.toModule.{u1, u2} R A (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_4)) _inst_5))} [_inst_6 : GradedAlgebra.{u3, u1, u2} ι R A (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u3} ι _inst_1) (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_4)) _inst_5 𝒜] (x : Submonoid.{u2} A (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_4)))))), Eq.{max (succ u3) (succ u2)} (HomogeneousLocalization.{u3, u1, u2} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) (OfNat.ofNat.{max u3 u2} (HomogeneousLocalization.{u3, u1, u2} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) 1 (One.toOfNat1.{max u3 u2} (HomogeneousLocalization.{u3, u1, u2} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) (HomogeneousLocalization.instOneHomogeneousLocalization.{u3, u1, u2} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x))) (Quotient.mk''.{succ (max u3 u2)} (HomogeneousLocalization.NumDenSameDeg.{u3, u1, u2} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) (Setoid.ker.{max u3 u2, u2} (HomogeneousLocalization.NumDenSameDeg.{u3, u1, u2} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) (Localization.{u2} A (CommRing.toCommMonoid.{u2} A _inst_4) x) (HomogeneousLocalization.NumDenSameDeg.embedding.{u3, u1, u2} ι R A _inst_3 _inst_4 _inst_5 𝒜 x)) (OfNat.ofNat.{max u3 u2} (HomogeneousLocalization.NumDenSameDeg.{u3, u1, u2} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) 1 (One.toOfNat1.{max u3 u2} (HomogeneousLocalization.NumDenSameDeg.{u3, u1, u2} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) (HomogeneousLocalization.NumDenSameDeg.instOneNumDenSameDeg.{u3, u1, u2} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x))))
+Case conversion may be inaccurate. Consider using '#align homogeneous_localization.one_eq HomogeneousLocalization.one_eqₓ'. -/
theorem one_eq : (1 : HomogeneousLocalization 𝒜 x) = Quotient.mk'' 1 :=
rfl
#align homogeneous_localization.one_eq HomogeneousLocalization.one_eq
variable {x}
+/- warning: homogeneous_localization.zero_val -> HomogeneousLocalization.zero_val is a dubious translation:
+lean 3 declaration is
+ forall {ι : Type.{u1}} {R : Type.{u2}} {A : Type.{u3}} [_inst_1 : AddCommMonoid.{u1} ι] [_inst_2 : DecidableEq.{succ u1} ι] [_inst_3 : CommRing.{u2} R] [_inst_4 : CommRing.{u3} A] [_inst_5 : Algebra.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4))] {𝒜 : ι -> (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))} [_inst_6 : GradedAlgebra.{u1, u2, u3} ι R A (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u1} ι _inst_1) (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5 𝒜] {x : Submonoid.{u3} A (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4)))))}, Eq.{succ u3} (Localization.{u3} A (CommRing.toCommMonoid.{u3} A _inst_4) x) (HomogeneousLocalization.val.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x (OfNat.ofNat.{max u1 u3} (HomogeneousLocalization.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) 0 (OfNat.mk.{max u1 u3} (HomogeneousLocalization.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) 0 (Zero.zero.{max u1 u3} (HomogeneousLocalization.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.hasZero.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x))))) (OfNat.ofNat.{u3} (Localization.{u3} A (CommRing.toCommMonoid.{u3} A _inst_4) x) 0 (OfNat.mk.{u3} (Localization.{u3} A (CommRing.toCommMonoid.{u3} A _inst_4) x) 0 (Zero.zero.{u3} (Localization.{u3} A (CommRing.toCommMonoid.{u3} A _inst_4) x) (Localization.hasZero.{u3} A (CommSemiring.toCommMonoidWithZero.{u3} A (CommRing.toCommSemiring.{u3} A _inst_4)) x))))
+but is expected to have type
+ forall {ι : Type.{u2}} {R : Type.{u1}} {A : Type.{u3}} [_inst_1 : AddCommMonoid.{u2} ι] [_inst_2 : DecidableEq.{succ u2} ι] [_inst_3 : CommRing.{u1} R] [_inst_4 : CommRing.{u3} A] [_inst_5 : Algebra.{u1, u3} R A (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_4))] {𝒜 : ι -> (Submodule.{u1, u3} R A (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u1, u3} R A (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_4)) _inst_5))} [_inst_6 : GradedAlgebra.{u2, u1, u3} ι R A (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u2} ι _inst_1) (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_4)) _inst_5 𝒜] {x : Submonoid.{u3} A (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_4)))))}, Eq.{succ u3} (Localization.{u3} A (CommRing.toCommMonoid.{u3} A _inst_4) x) (HomogeneousLocalization.val.{u2, u1, u3} ι R A _inst_3 _inst_4 _inst_5 𝒜 x (OfNat.ofNat.{max u2 u3} (HomogeneousLocalization.{u2, u1, u3} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) 0 (Zero.toOfNat0.{max u2 u3} (HomogeneousLocalization.{u2, u1, u3} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) (HomogeneousLocalization.instZeroHomogeneousLocalization.{u2, u1, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x)))) (OfNat.ofNat.{u3} (Localization.{u3} A (CommRing.toCommMonoid.{u3} A _inst_4) x) 0 (Zero.toOfNat0.{u3} (Localization.{u3} A (CommRing.toCommMonoid.{u3} A _inst_4) x) (Localization.instZeroLocalizationToCommMonoid.{u3} A (CommSemiring.toCommMonoidWithZero.{u3} A (CommRing.toCommSemiring.{u3} A _inst_4)) x)))
+Case conversion may be inaccurate. Consider using '#align homogeneous_localization.zero_val HomogeneousLocalization.zero_valₓ'. -/
theorem zero_val : (0 : HomogeneousLocalization 𝒜 x).val = 0 :=
Localization.mk_zero _
#align homogeneous_localization.zero_val HomogeneousLocalization.zero_val
+/- warning: homogeneous_localization.one_val -> HomogeneousLocalization.one_val is a dubious translation:
+lean 3 declaration is
+ forall {ι : Type.{u1}} {R : Type.{u2}} {A : Type.{u3}} [_inst_1 : AddCommMonoid.{u1} ι] [_inst_2 : DecidableEq.{succ u1} ι] [_inst_3 : CommRing.{u2} R] [_inst_4 : CommRing.{u3} A] [_inst_5 : Algebra.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4))] {𝒜 : ι -> (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))} [_inst_6 : GradedAlgebra.{u1, u2, u3} ι R A (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u1} ι _inst_1) (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5 𝒜] {x : Submonoid.{u3} A (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4)))))}, Eq.{succ u3} (Localization.{u3} A (CommRing.toCommMonoid.{u3} A _inst_4) x) (HomogeneousLocalization.val.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x (OfNat.ofNat.{max u1 u3} (HomogeneousLocalization.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) 1 (OfNat.mk.{max u1 u3} (HomogeneousLocalization.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) 1 (One.one.{max u1 u3} (HomogeneousLocalization.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.hasOne.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x))))) (OfNat.ofNat.{u3} (Localization.{u3} A (CommRing.toCommMonoid.{u3} A _inst_4) x) 1 (OfNat.mk.{u3} (Localization.{u3} A (CommRing.toCommMonoid.{u3} A _inst_4) x) 1 (One.one.{u3} (Localization.{u3} A (CommRing.toCommMonoid.{u3} A _inst_4) x) (Localization.hasOne.{u3} A (CommRing.toCommMonoid.{u3} A _inst_4) x))))
+but is expected to have type
+ forall {ι : Type.{u2}} {R : Type.{u1}} {A : Type.{u3}} [_inst_1 : AddCommMonoid.{u2} ι] [_inst_2 : DecidableEq.{succ u2} ι] [_inst_3 : CommRing.{u1} R] [_inst_4 : CommRing.{u3} A] [_inst_5 : Algebra.{u1, u3} R A (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_4))] {𝒜 : ι -> (Submodule.{u1, u3} R A (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u1, u3} R A (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_4)) _inst_5))} [_inst_6 : GradedAlgebra.{u2, u1, u3} ι R A (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u2} ι _inst_1) (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_4)) _inst_5 𝒜] {x : Submonoid.{u3} A (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_4)))))}, Eq.{succ u3} (Localization.{u3} A (CommRing.toCommMonoid.{u3} A _inst_4) x) (HomogeneousLocalization.val.{u2, u1, u3} ι R A _inst_3 _inst_4 _inst_5 𝒜 x (OfNat.ofNat.{max u2 u3} (HomogeneousLocalization.{u2, u1, u3} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) 1 (One.toOfNat1.{max u2 u3} (HomogeneousLocalization.{u2, u1, u3} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) (HomogeneousLocalization.instOneHomogeneousLocalization.{u2, u1, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x)))) (OfNat.ofNat.{u3} (Localization.{u3} A (CommRing.toCommMonoid.{u3} A _inst_4) x) 1 (One.toOfNat1.{u3} (Localization.{u3} A (CommRing.toCommMonoid.{u3} A _inst_4) x) (Localization.instOneLocalization.{u3} A (CommRing.toCommMonoid.{u3} A _inst_4) x)))
+Case conversion may be inaccurate. Consider using '#align homogeneous_localization.one_val HomogeneousLocalization.one_valₓ'. -/
theorem one_val : (1 : HomogeneousLocalization 𝒜 x).val = 1 :=
Localization.mk_one
#align homogeneous_localization.one_val HomogeneousLocalization.one_val
+/- warning: homogeneous_localization.add_val -> HomogeneousLocalization.add_val is a dubious translation:
+lean 3 declaration is
+ forall {ι : Type.{u1}} {R : Type.{u2}} {A : Type.{u3}} [_inst_1 : AddCommMonoid.{u1} ι] [_inst_2 : DecidableEq.{succ u1} ι] [_inst_3 : CommRing.{u2} R] [_inst_4 : CommRing.{u3} A] [_inst_5 : Algebra.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4))] {𝒜 : ι -> (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))} [_inst_6 : GradedAlgebra.{u1, u2, u3} ι R A (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u1} ι _inst_1) (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5 𝒜] {x : Submonoid.{u3} A (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4)))))} (y1 : HomogeneousLocalization.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (y2 : HomogeneousLocalization.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x), Eq.{succ u3} (Localization.{u3} A (CommRing.toCommMonoid.{u3} A _inst_4) x) (HomogeneousLocalization.val.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x (HAdd.hAdd.{max u1 u3, max u1 u3, max u1 u3} (HomogeneousLocalization.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (instHAdd.{max u1 u3} (HomogeneousLocalization.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.hasAdd.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x)) y1 y2)) (HAdd.hAdd.{u3, u3, u3} (Localization.{u3} A (CommRing.toCommMonoid.{u3} A _inst_4) x) (Localization.{u3} A (CommRing.toCommMonoid.{u3} A _inst_4) x) (Localization.{u3} A (CommRing.toCommMonoid.{u3} A _inst_4) x) (instHAdd.{u3} (Localization.{u3} A (CommRing.toCommMonoid.{u3} A _inst_4) x) (Localization.hasAdd.{u3} A (CommRing.toCommSemiring.{u3} A _inst_4) x)) (HomogeneousLocalization.val.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x y1) (HomogeneousLocalization.val.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x y2))
+but is expected to have type
+ forall {ι : Type.{u3}} {R : Type.{u2}} {A : Type.{u1}} [_inst_1 : AddCommMonoid.{u3} ι] [_inst_2 : DecidableEq.{succ u3} ι] [_inst_3 : CommRing.{u2} R] [_inst_4 : CommRing.{u1} A] [_inst_5 : Algebra.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4))] {𝒜 : ι -> (Submodule.{u2, u1} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_4))))) (Algebra.toModule.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4)) _inst_5))} [_inst_6 : GradedAlgebra.{u3, u2, u1} ι R A (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u3} ι _inst_1) (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4)) _inst_5 𝒜] {x : Submonoid.{u1} A (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4)))))} (y1 : HomogeneousLocalization.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) (y2 : HomogeneousLocalization.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x), Eq.{succ u1} (Localization.{u1} A (CommRing.toCommMonoid.{u1} A _inst_4) x) (HomogeneousLocalization.val.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x (HAdd.hAdd.{max u3 u1, max u3 u1, max u3 u1} (HomogeneousLocalization.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) (HomogeneousLocalization.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) (HomogeneousLocalization.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) (instHAdd.{max u3 u1} (HomogeneousLocalization.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) (HomogeneousLocalization.instAddHomogeneousLocalization.{u3, u2, u1} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x)) y1 y2)) (HAdd.hAdd.{u1, u1, u1} (Localization.{u1} A (CommRing.toCommMonoid.{u1} A _inst_4) x) (Localization.{u1} A (CommRing.toCommMonoid.{u1} A _inst_4) x) (Localization.{u1} A (CommRing.toCommMonoid.{u1} A _inst_4) x) (instHAdd.{u1} (Localization.{u1} A (CommRing.toCommMonoid.{u1} A _inst_4) x) (Localization.instAddLocalizationToCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4) x)) (HomogeneousLocalization.val.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x y1) (HomogeneousLocalization.val.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x y2))
+Case conversion may be inaccurate. Consider using '#align homogeneous_localization.add_val HomogeneousLocalization.add_valₓ'. -/
@[simp]
theorem add_val (y1 y2 : HomogeneousLocalization 𝒜 x) : (y1 + y2).val = y1.val + y2.val :=
by
@@ -430,6 +619,12 @@ theorem add_val (y1 y2 : HomogeneousLocalization 𝒜 x) : (y1 + y2).val = y1.va
rfl
#align homogeneous_localization.add_val HomogeneousLocalization.add_val
+/- warning: homogeneous_localization.mul_val -> HomogeneousLocalization.mul_val is a dubious translation:
+lean 3 declaration is
+ forall {ι : Type.{u1}} {R : Type.{u2}} {A : Type.{u3}} [_inst_1 : AddCommMonoid.{u1} ι] [_inst_2 : DecidableEq.{succ u1} ι] [_inst_3 : CommRing.{u2} R] [_inst_4 : CommRing.{u3} A] [_inst_5 : Algebra.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4))] {𝒜 : ι -> (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))} [_inst_6 : GradedAlgebra.{u1, u2, u3} ι R A (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u1} ι _inst_1) (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5 𝒜] {x : Submonoid.{u3} A (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4)))))} (y1 : HomogeneousLocalization.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (y2 : HomogeneousLocalization.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x), Eq.{succ u3} (Localization.{u3} A (CommRing.toCommMonoid.{u3} A _inst_4) x) (HomogeneousLocalization.val.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x (HMul.hMul.{max u1 u3, max u1 u3, max u1 u3} (HomogeneousLocalization.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (instHMul.{max u1 u3} (HomogeneousLocalization.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.hasMul.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x)) y1 y2)) (HMul.hMul.{u3, u3, u3} (Localization.{u3} A (CommRing.toCommMonoid.{u3} A _inst_4) x) (Localization.{u3} A (CommRing.toCommMonoid.{u3} A _inst_4) x) (Localization.{u3} A (CommRing.toCommMonoid.{u3} A _inst_4) x) (instHMul.{u3} (Localization.{u3} A (CommRing.toCommMonoid.{u3} A _inst_4) x) (Localization.hasMul.{u3} A (CommRing.toCommMonoid.{u3} A _inst_4) x)) (HomogeneousLocalization.val.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x y1) (HomogeneousLocalization.val.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x y2))
+but is expected to have type
+ forall {ι : Type.{u3}} {R : Type.{u2}} {A : Type.{u1}} [_inst_1 : AddCommMonoid.{u3} ι] [_inst_2 : DecidableEq.{succ u3} ι] [_inst_3 : CommRing.{u2} R] [_inst_4 : CommRing.{u1} A] [_inst_5 : Algebra.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4))] {𝒜 : ι -> (Submodule.{u2, u1} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_4))))) (Algebra.toModule.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4)) _inst_5))} [_inst_6 : GradedAlgebra.{u3, u2, u1} ι R A (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u3} ι _inst_1) (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4)) _inst_5 𝒜] {x : Submonoid.{u1} A (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4)))))} (y1 : HomogeneousLocalization.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) (y2 : HomogeneousLocalization.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x), Eq.{succ u1} (Localization.{u1} A (CommRing.toCommMonoid.{u1} A _inst_4) x) (HomogeneousLocalization.val.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x (HMul.hMul.{max u3 u1, max u3 u1, max u3 u1} (HomogeneousLocalization.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) (HomogeneousLocalization.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) (HomogeneousLocalization.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) (instHMul.{max u3 u1} (HomogeneousLocalization.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) (HomogeneousLocalization.instMulHomogeneousLocalization.{u3, u2, u1} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x)) y1 y2)) (HMul.hMul.{u1, u1, u1} (Localization.{u1} A (CommRing.toCommMonoid.{u1} A _inst_4) x) (Localization.{u1} A (CommRing.toCommMonoid.{u1} A _inst_4) x) (Localization.{u1} A (CommRing.toCommMonoid.{u1} A _inst_4) x) (instHMul.{u1} (Localization.{u1} A (CommRing.toCommMonoid.{u1} A _inst_4) x) (Localization.instMulLocalization.{u1} A (CommRing.toCommMonoid.{u1} A _inst_4) x)) (HomogeneousLocalization.val.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x y1) (HomogeneousLocalization.val.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x y2))
+Case conversion may be inaccurate. Consider using '#align homogeneous_localization.mul_val HomogeneousLocalization.mul_valₓ'. -/
@[simp]
theorem mul_val (y1 y2 : HomogeneousLocalization 𝒜 x) : (y1 * y2).val = y1.val * y2.val :=
by
@@ -443,6 +638,12 @@ theorem mul_val (y1 y2 : HomogeneousLocalization 𝒜 x) : (y1 * y2).val = y1.va
rfl
#align homogeneous_localization.mul_val HomogeneousLocalization.mul_val
+/- warning: homogeneous_localization.neg_val -> HomogeneousLocalization.neg_val is a dubious translation:
+lean 3 declaration is
+ forall {ι : Type.{u1}} {R : Type.{u2}} {A : Type.{u3}} [_inst_1 : AddCommMonoid.{u1} ι] [_inst_2 : DecidableEq.{succ u1} ι] [_inst_3 : CommRing.{u2} R] [_inst_4 : CommRing.{u3} A] [_inst_5 : Algebra.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4))] {𝒜 : ι -> (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))} [_inst_6 : GradedAlgebra.{u1, u2, u3} ι R A (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u1} ι _inst_1) (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5 𝒜] {x : Submonoid.{u3} A (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4)))))} (y : HomogeneousLocalization.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x), Eq.{succ u3} (Localization.{u3} A (CommRing.toCommMonoid.{u3} A _inst_4) x) (HomogeneousLocalization.val.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x (Neg.neg.{max u1 u3} (HomogeneousLocalization.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.hasNeg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) y)) (Neg.neg.{u3} (Localization.{u3} A (CommRing.toCommMonoid.{u3} A _inst_4) x) (Localization.hasNeg.{u3} A _inst_4 x) (HomogeneousLocalization.val.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x y))
+but is expected to have type
+ forall {ι : Type.{u3}} {R : Type.{u2}} {A : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : CommRing.{u1} A] [_inst_3 : Algebra.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2))] {_inst_4 : ι -> (Submodule.{u2, u1} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3))} {_inst_5 : Submonoid.{u1} A (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)))))} (𝒜 : HomogeneousLocalization.{u3, u2, u1} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5), Eq.{succ u1} (Localization.{u1} A (CommRing.toCommMonoid.{u1} A _inst_2) _inst_5) (HomogeneousLocalization.val.{u3, u2, u1} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 (Neg.neg.{max u3 u1} (HomogeneousLocalization.{u3, u2, u1} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5) (HomogeneousLocalization.instNegHomogeneousLocalization.{u3, u2, u1} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5) 𝒜)) (Neg.neg.{u1} (Localization.{u1} A (CommRing.toCommMonoid.{u1} A _inst_2) _inst_5) (Localization.instNegLocalizationToCommMonoid.{u1} A _inst_2 _inst_5) (HomogeneousLocalization.val.{u3, u2, u1} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 𝒜))
+Case conversion may be inaccurate. Consider using '#align homogeneous_localization.neg_val HomogeneousLocalization.neg_valₓ'. -/
@[simp]
theorem neg_val (y : HomogeneousLocalization 𝒜 x) : (-y).val = -y.val :=
by
@@ -455,11 +656,23 @@ theorem neg_val (y : HomogeneousLocalization 𝒜 x) : (-y).val = -y.val :=
rfl
#align homogeneous_localization.neg_val HomogeneousLocalization.neg_val
+/- warning: homogeneous_localization.sub_val -> HomogeneousLocalization.sub_val is a dubious translation:
+lean 3 declaration is
+ forall {ι : Type.{u1}} {R : Type.{u2}} {A : Type.{u3}} [_inst_1 : AddCommMonoid.{u1} ι] [_inst_2 : DecidableEq.{succ u1} ι] [_inst_3 : CommRing.{u2} R] [_inst_4 : CommRing.{u3} A] [_inst_5 : Algebra.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4))] {𝒜 : ι -> (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))} [_inst_6 : GradedAlgebra.{u1, u2, u3} ι R A (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u1} ι _inst_1) (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5 𝒜] {x : Submonoid.{u3} A (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4)))))} (y1 : HomogeneousLocalization.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (y2 : HomogeneousLocalization.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x), Eq.{succ u3} (Localization.{u3} A (CommRing.toCommMonoid.{u3} A _inst_4) x) (HomogeneousLocalization.val.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x (HSub.hSub.{max u1 u3, max u1 u3, max u1 u3} (HomogeneousLocalization.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (instHSub.{max u1 u3} (HomogeneousLocalization.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.hasSub.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x)) y1 y2)) (HSub.hSub.{u3, u3, u3} (Localization.{u3} A (CommRing.toCommMonoid.{u3} A _inst_4) x) (Localization.{u3} A (CommRing.toCommMonoid.{u3} A _inst_4) x) (Localization.{u3} A (CommRing.toCommMonoid.{u3} A _inst_4) x) (instHSub.{u3} (Localization.{u3} A (CommRing.toCommMonoid.{u3} A _inst_4) x) (SubNegMonoid.toHasSub.{u3} (Localization.{u3} A (CommRing.toCommMonoid.{u3} A _inst_4) x) (AddGroup.toSubNegMonoid.{u3} (Localization.{u3} A (CommRing.toCommMonoid.{u3} A _inst_4) x) (AddGroupWithOne.toAddGroup.{u3} (Localization.{u3} A (CommRing.toCommMonoid.{u3} A _inst_4) x) (AddCommGroupWithOne.toAddGroupWithOne.{u3} (Localization.{u3} A (CommRing.toCommMonoid.{u3} A _inst_4) x) (Ring.toAddCommGroupWithOne.{u3} (Localization.{u3} A (CommRing.toCommMonoid.{u3} A _inst_4) x) (CommRing.toRing.{u3} (Localization.{u3} A (CommRing.toCommMonoid.{u3} A _inst_4) x) (Localization.commRing.{u3} A _inst_4 x)))))))) (HomogeneousLocalization.val.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x y1) (HomogeneousLocalization.val.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x y2))
+but is expected to have type
+ forall {ι : Type.{u3}} {R : Type.{u2}} {A : Type.{u1}} [_inst_1 : AddCommMonoid.{u3} ι] [_inst_2 : DecidableEq.{succ u3} ι] [_inst_3 : CommRing.{u2} R] [_inst_4 : CommRing.{u1} A] [_inst_5 : Algebra.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4))] {𝒜 : ι -> (Submodule.{u2, u1} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_4))))) (Algebra.toModule.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4)) _inst_5))} [_inst_6 : GradedAlgebra.{u3, u2, u1} ι R A (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u3} ι _inst_1) (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4)) _inst_5 𝒜] {x : Submonoid.{u1} A (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4)))))} (y1 : HomogeneousLocalization.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) (y2 : HomogeneousLocalization.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x), Eq.{succ u1} (Localization.{u1} A (CommRing.toCommMonoid.{u1} A _inst_4) x) (HomogeneousLocalization.val.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x (HSub.hSub.{max u3 u1, max u3 u1, max u3 u1} (HomogeneousLocalization.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) (HomogeneousLocalization.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) (HomogeneousLocalization.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) (instHSub.{max u3 u1} (HomogeneousLocalization.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) (HomogeneousLocalization.instSubHomogeneousLocalization.{u3, u2, u1} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x)) y1 y2)) (HSub.hSub.{u1, u1, u1} (Localization.{u1} A (CommRing.toCommMonoid.{u1} A _inst_4) x) (Localization.{u1} A (CommRing.toCommMonoid.{u1} A _inst_4) x) (Localization.{u1} A (CommRing.toCommMonoid.{u1} A _inst_4) x) (instHSub.{u1} (Localization.{u1} A (CommRing.toCommMonoid.{u1} A _inst_4) x) (Ring.toSub.{u1} (Localization.{u1} A (CommRing.toCommMonoid.{u1} A _inst_4) x) (CommRing.toRing.{u1} (Localization.{u1} A (CommRing.toCommMonoid.{u1} A _inst_4) x) (Localization.instCommRingLocalizationToCommMonoid.{u1} A _inst_4 x)))) (HomogeneousLocalization.val.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x y1) (HomogeneousLocalization.val.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x y2))
+Case conversion may be inaccurate. Consider using '#align homogeneous_localization.sub_val HomogeneousLocalization.sub_valₓ'. -/
@[simp]
theorem sub_val (y1 y2 : HomogeneousLocalization 𝒜 x) : (y1 - y2).val = y1.val - y2.val := by
rw [show y1 - y2 = y1 + -y2 from rfl, add_val, neg_val] <;> rfl
#align homogeneous_localization.sub_val HomogeneousLocalization.sub_val
+/- warning: homogeneous_localization.pow_val -> HomogeneousLocalization.pow_val is a dubious translation:
+lean 3 declaration is
+ forall {ι : Type.{u1}} {R : Type.{u2}} {A : Type.{u3}} [_inst_1 : AddCommMonoid.{u1} ι] [_inst_2 : DecidableEq.{succ u1} ι] [_inst_3 : CommRing.{u2} R] [_inst_4 : CommRing.{u3} A] [_inst_5 : Algebra.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4))] {𝒜 : ι -> (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))} [_inst_6 : GradedAlgebra.{u1, u2, u3} ι R A (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u1} ι _inst_1) (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5 𝒜] {x : Submonoid.{u3} A (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4)))))} (y : HomogeneousLocalization.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (n : Nat), Eq.{succ u3} (Localization.{u3} A (CommRing.toCommMonoid.{u3} A _inst_4) x) (HomogeneousLocalization.val.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x (HPow.hPow.{max u1 u3, 0, max u1 u3} (HomogeneousLocalization.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) Nat (HomogeneousLocalization.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (instHPow.{max u1 u3, 0} (HomogeneousLocalization.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) Nat (HomogeneousLocalization.hasPow.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x)) y n)) (HPow.hPow.{u3, 0, u3} (Localization.{u3} A (CommRing.toCommMonoid.{u3} A _inst_4) x) Nat (Localization.{u3} A (CommRing.toCommMonoid.{u3} A _inst_4) x) (instHPow.{u3, 0} (Localization.{u3} A (CommRing.toCommMonoid.{u3} A _inst_4) x) Nat (Monoid.Pow.{u3} (Localization.{u3} A (CommRing.toCommMonoid.{u3} A _inst_4) x) (Ring.toMonoid.{u3} (Localization.{u3} A (CommRing.toCommMonoid.{u3} A _inst_4) x) (CommRing.toRing.{u3} (Localization.{u3} A (CommRing.toCommMonoid.{u3} A _inst_4) x) (Localization.commRing.{u3} A _inst_4 x))))) (HomogeneousLocalization.val.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x y) n)
+but is expected to have type
+ forall {ι : Type.{u3}} {R : Type.{u2}} {A : Type.{u1}} [_inst_1 : AddCommMonoid.{u3} ι] [_inst_2 : DecidableEq.{succ u3} ι] [_inst_3 : CommRing.{u2} R] [_inst_4 : CommRing.{u1} A] [_inst_5 : Algebra.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4))] {𝒜 : ι -> (Submodule.{u2, u1} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_4))))) (Algebra.toModule.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4)) _inst_5))} [_inst_6 : GradedAlgebra.{u3, u2, u1} ι R A (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u3} ι _inst_1) (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4)) _inst_5 𝒜] {x : Submonoid.{u1} A (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4)))))} (y : HomogeneousLocalization.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) (n : Nat), Eq.{succ u1} (Localization.{u1} A (CommRing.toCommMonoid.{u1} A _inst_4) x) (HomogeneousLocalization.val.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x (HPow.hPow.{max u3 u1, 0, max u3 u1} (HomogeneousLocalization.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) Nat (HomogeneousLocalization.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) (instHPow.{max u3 u1, 0} (HomogeneousLocalization.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) Nat (HomogeneousLocalization.hasPow.{u3, u2, u1} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x)) y n)) (HPow.hPow.{u1, 0, u1} (Localization.{u1} A (CommRing.toCommMonoid.{u1} A _inst_4) x) Nat (Localization.{u1} A (CommRing.toCommMonoid.{u1} A _inst_4) x) (instHPow.{u1, 0} (Localization.{u1} A (CommRing.toCommMonoid.{u1} A _inst_4) x) Nat (Monoid.Pow.{u1} (Localization.{u1} A (CommRing.toCommMonoid.{u1} A _inst_4) x) (MonoidWithZero.toMonoid.{u1} (Localization.{u1} A (CommRing.toCommMonoid.{u1} A _inst_4) x) (Semiring.toMonoidWithZero.{u1} (Localization.{u1} A (CommRing.toCommMonoid.{u1} A _inst_4) x) (CommSemiring.toSemiring.{u1} (Localization.{u1} A (CommRing.toCommMonoid.{u1} A _inst_4) x) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4) x)))))) (HomogeneousLocalization.val.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 x y) n)
+Case conversion may be inaccurate. Consider using '#align homogeneous_localization.pow_val HomogeneousLocalization.pow_valₓ'. -/
@[simp]
theorem pow_val (y : HomogeneousLocalization 𝒜 x) (n : ℕ) : (y ^ n).val = y.val ^ n :=
by
@@ -478,22 +691,36 @@ instance : NatCast (HomogeneousLocalization 𝒜 x) :=
instance : IntCast (HomogeneousLocalization 𝒜 x) :=
⟨Int.castDef⟩
+/- warning: homogeneous_localization.nat_cast_val -> HomogeneousLocalization.natCast_val is a dubious translation:
+lean 3 declaration is
+ forall {ι : Type.{u1}} {R : Type.{u2}} {A : Type.{u3}} [_inst_1 : AddCommMonoid.{u1} ι] [_inst_2 : DecidableEq.{succ u1} ι] [_inst_3 : CommRing.{u2} R] [_inst_4 : CommRing.{u3} A] [_inst_5 : Algebra.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4))] {𝒜 : ι -> (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))} [_inst_6 : GradedAlgebra.{u1, u2, u3} ι R A (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u1} ι _inst_1) (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5 𝒜] {x : Submonoid.{u3} A (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4)))))} (n : Nat), Eq.{succ u3} (Localization.{u3} A (CommRing.toCommMonoid.{u3} A _inst_4) x) (HomogeneousLocalization.val.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x ((fun (a : Type) (b : Type.{max u1 u3}) [self : HasLiftT.{1, succ (max u1 u3)} a b] => self.0) Nat (HomogeneousLocalization.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HasLiftT.mk.{1, succ (max u1 u3)} Nat (HomogeneousLocalization.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (CoeTCₓ.coe.{1, succ (max u1 u3)} Nat (HomogeneousLocalization.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (Nat.castCoe.{max u1 u3} (HomogeneousLocalization.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.hasNatCast.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x)))) n)) ((fun (a : Type) (b : Type.{u3}) [self : HasLiftT.{1, succ u3} a b] => self.0) Nat (Localization.{u3} A (CommRing.toCommMonoid.{u3} A _inst_4) x) (HasLiftT.mk.{1, succ u3} Nat (Localization.{u3} A (CommRing.toCommMonoid.{u3} A _inst_4) x) (CoeTCₓ.coe.{1, succ u3} Nat (Localization.{u3} A (CommRing.toCommMonoid.{u3} A _inst_4) x) (Nat.castCoe.{u3} (Localization.{u3} A (CommRing.toCommMonoid.{u3} A _inst_4) x) (AddMonoidWithOne.toNatCast.{u3} (Localization.{u3} A (CommRing.toCommMonoid.{u3} A _inst_4) x) (AddGroupWithOne.toAddMonoidWithOne.{u3} (Localization.{u3} A (CommRing.toCommMonoid.{u3} A _inst_4) x) (AddCommGroupWithOne.toAddGroupWithOne.{u3} (Localization.{u3} A (CommRing.toCommMonoid.{u3} A _inst_4) x) (Ring.toAddCommGroupWithOne.{u3} (Localization.{u3} A (CommRing.toCommMonoid.{u3} A _inst_4) x) (CommRing.toRing.{u3} (Localization.{u3} A (CommRing.toCommMonoid.{u3} A _inst_4) x) (Localization.commRing.{u3} A _inst_4 x))))))))) n)
+but is expected to have type
+ forall {ι : Type.{u2}} {R : Type.{u1}} {A : Type.{u3}} [_inst_1 : AddCommMonoid.{u2} ι] [_inst_2 : DecidableEq.{succ u2} ι] [_inst_3 : CommRing.{u1} R] [_inst_4 : CommRing.{u3} A] [_inst_5 : Algebra.{u1, u3} R A (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_4))] {𝒜 : ι -> (Submodule.{u1, u3} R A (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u1, u3} R A (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_4)) _inst_5))} [_inst_6 : GradedAlgebra.{u2, u1, u3} ι R A (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u2} ι _inst_1) (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_4)) _inst_5 𝒜] {x : Submonoid.{u3} A (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_4)))))} (n : Nat), Eq.{succ u3} (Localization.{u3} A (CommRing.toCommMonoid.{u3} A _inst_4) x) (HomogeneousLocalization.val.{u2, u1, u3} ι R A _inst_3 _inst_4 _inst_5 𝒜 x (Nat.cast.{max u2 u3} (HomogeneousLocalization.{u2, u1, u3} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) (HomogeneousLocalization.instNatCastHomogeneousLocalization.{u2, u1, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) n)) (Nat.cast.{u3} (Localization.{u3} A (CommRing.toCommMonoid.{u3} A _inst_4) x) (Semiring.toNatCast.{u3} (Localization.{u3} A (CommRing.toCommMonoid.{u3} A _inst_4) x) (CommSemiring.toSemiring.{u3} (Localization.{u3} A (CommRing.toCommMonoid.{u3} A _inst_4) x) (Localization.instCommSemiringLocalizationToCommMonoid.{u3} A (CommRing.toCommSemiring.{u3} A _inst_4) x))) n)
+Case conversion may be inaccurate. Consider using '#align homogeneous_localization.nat_cast_val HomogeneousLocalization.natCast_valₓ'. -/
@[simp]
-theorem nat_cast_val (n : ℕ) : (n : HomogeneousLocalization 𝒜 x).val = n :=
+theorem natCast_val (n : ℕ) : (n : HomogeneousLocalization 𝒜 x).val = n :=
show val (Nat.unaryCast n) = _ by induction n <;> simp [Nat.unaryCast, zero_val, one_val, *]
-#align homogeneous_localization.nat_cast_val HomogeneousLocalization.nat_cast_val
-
+#align homogeneous_localization.nat_cast_val HomogeneousLocalization.natCast_val
+
+/- warning: homogeneous_localization.int_cast_val -> HomogeneousLocalization.intCast_val is a dubious translation:
+lean 3 declaration is
+ forall {ι : Type.{u1}} {R : Type.{u2}} {A : Type.{u3}} [_inst_1 : AddCommMonoid.{u1} ι] [_inst_2 : DecidableEq.{succ u1} ι] [_inst_3 : CommRing.{u2} R] [_inst_4 : CommRing.{u3} A] [_inst_5 : Algebra.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4))] {𝒜 : ι -> (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))} [_inst_6 : GradedAlgebra.{u1, u2, u3} ι R A (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u1} ι _inst_1) (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5 𝒜] {x : Submonoid.{u3} A (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4)))))} (n : Int), Eq.{succ u3} (Localization.{u3} A (CommRing.toCommMonoid.{u3} A _inst_4) x) (HomogeneousLocalization.val.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x ((fun (a : Type) (b : Type.{max u1 u3}) [self : HasLiftT.{1, succ (max u1 u3)} a b] => self.0) Int (HomogeneousLocalization.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HasLiftT.mk.{1, succ (max u1 u3)} Int (HomogeneousLocalization.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (CoeTCₓ.coe.{1, succ (max u1 u3)} Int (HomogeneousLocalization.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (Int.castCoe.{max u1 u3} (HomogeneousLocalization.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (HomogeneousLocalization.hasIntCast.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x)))) n)) ((fun (a : Type) (b : Type.{u3}) [self : HasLiftT.{1, succ u3} a b] => self.0) Int (Localization.{u3} A (CommRing.toCommMonoid.{u3} A _inst_4) x) (HasLiftT.mk.{1, succ u3} Int (Localization.{u3} A (CommRing.toCommMonoid.{u3} A _inst_4) x) (CoeTCₓ.coe.{1, succ u3} Int (Localization.{u3} A (CommRing.toCommMonoid.{u3} A _inst_4) x) (Int.castCoe.{u3} (Localization.{u3} A (CommRing.toCommMonoid.{u3} A _inst_4) x) (AddGroupWithOne.toHasIntCast.{u3} (Localization.{u3} A (CommRing.toCommMonoid.{u3} A _inst_4) x) (AddCommGroupWithOne.toAddGroupWithOne.{u3} (Localization.{u3} A (CommRing.toCommMonoid.{u3} A _inst_4) x) (Ring.toAddCommGroupWithOne.{u3} (Localization.{u3} A (CommRing.toCommMonoid.{u3} A _inst_4) x) (CommRing.toRing.{u3} (Localization.{u3} A (CommRing.toCommMonoid.{u3} A _inst_4) x) (Localization.commRing.{u3} A _inst_4 x)))))))) n)
+but is expected to have type
+ forall {ι : Type.{u2}} {R : Type.{u1}} {A : Type.{u3}} [_inst_1 : AddCommMonoid.{u2} ι] [_inst_2 : DecidableEq.{succ u2} ι] [_inst_3 : CommRing.{u1} R] [_inst_4 : CommRing.{u3} A] [_inst_5 : Algebra.{u1, u3} R A (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_4))] {𝒜 : ι -> (Submodule.{u1, u3} R A (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u1, u3} R A (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_4)) _inst_5))} [_inst_6 : GradedAlgebra.{u2, u1, u3} ι R A (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u2} ι _inst_1) (CommRing.toCommSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_4)) _inst_5 𝒜] {x : Submonoid.{u3} A (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_4)))))} (n : Int), Eq.{succ u3} (Localization.{u3} A (CommRing.toCommMonoid.{u3} A _inst_4) x) (HomogeneousLocalization.val.{u2, u1, u3} ι R A _inst_3 _inst_4 _inst_5 𝒜 x (Int.cast.{max u2 u3} (HomogeneousLocalization.{u2, u1, u3} ι R A _inst_3 _inst_4 _inst_5 𝒜 x) (HomogeneousLocalization.instIntCastHomogeneousLocalization.{u2, u1, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) n)) (Int.cast.{u3} (Localization.{u3} A (CommRing.toCommMonoid.{u3} A _inst_4) x) (Ring.toIntCast.{u3} (Localization.{u3} A (CommRing.toCommMonoid.{u3} A _inst_4) x) (CommRing.toRing.{u3} (Localization.{u3} A (CommRing.toCommMonoid.{u3} A _inst_4) x) (Localization.instCommRingLocalizationToCommMonoid.{u3} A _inst_4 x))) n)
+Case conversion may be inaccurate. Consider using '#align homogeneous_localization.int_cast_val HomogeneousLocalization.intCast_valₓ'. -/
@[simp]
-theorem int_cast_val (n : ℤ) : (n : HomogeneousLocalization 𝒜 x).val = n :=
+theorem intCast_val (n : ℤ) : (n : HomogeneousLocalization 𝒜 x).val = n :=
show val (Int.castDef n) = _ by cases n <;> simp [Int.castDef, zero_val, one_val, *]
-#align homogeneous_localization.int_cast_val HomogeneousLocalization.int_cast_val
+#align homogeneous_localization.int_cast_val HomogeneousLocalization.intCast_val
+#print HomogeneousLocalization.homogenousLocalizationCommRing /-
instance homogenousLocalizationCommRing : CommRing (HomogeneousLocalization 𝒜 x) :=
(HomogeneousLocalization.val_injective x).CommRing _ zero_val one_val add_val mul_val neg_val
- sub_val (fun z n => smul_val x z n) (fun z n => smul_val x z n) pow_val nat_cast_val
- int_cast_val
+ sub_val (fun z n => smul_val x z n) (fun z n => smul_val x z n) pow_val natCast_val intCast_val
#align homogeneous_localization.homogenous_localization_comm_ring HomogeneousLocalization.homogenousLocalizationCommRing
+-/
+#print HomogeneousLocalization.homogeneousLocalizationAlgebra /-
instance homogeneousLocalizationAlgebra : Algebra (HomogeneousLocalization 𝒜 x) (Localization x)
where
smul p q := p.val * q
@@ -505,44 +732,87 @@ instance homogeneousLocalizationAlgebra : Algebra (HomogeneousLocalization 𝒜
commutes' p q := mul_comm _ _
smul_def' p q := rfl
#align homogeneous_localization.homogeneous_localization_algebra HomogeneousLocalization.homogeneousLocalizationAlgebra
+-/
end HomogeneousLocalization
namespace HomogeneousLocalization
-open HomogeneousLocalization HomogeneousLocalization.NumDenomSameDeg
+open HomogeneousLocalization HomogeneousLocalization.NumDenSameDeg
variable {𝒜} {x}
+/- warning: homogeneous_localization.num -> HomogeneousLocalization.num is a dubious translation:
+lean 3 declaration is
+ forall {ι : Type.{u1}} {R : Type.{u2}} {A : Type.{u3}} [_inst_1 : AddCommMonoid.{u1} ι] [_inst_2 : DecidableEq.{succ u1} ι] [_inst_3 : CommRing.{u2} R] [_inst_4 : CommRing.{u3} A] [_inst_5 : Algebra.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4))] {𝒜 : ι -> (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))} [_inst_6 : GradedAlgebra.{u1, u2, u3} ι R A (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u1} ι _inst_1) (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5 𝒜] {x : Submonoid.{u3} A (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4)))))}, (HomogeneousLocalization.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) -> A
+but is expected to have type
+ forall {ι : Type.{u1}} {R : Type.{u2}} {A : Type.{u3}} [_inst_1 : CommRing.{u2} R] [_inst_2 : CommRing.{u3} A] [_inst_3 : Algebra.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_2))] {_inst_4 : ι -> (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_2))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_2)) _inst_3))} {_inst_5 : Submonoid.{u3} A (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_2)))))}, (HomogeneousLocalization.{u1, u2, u3} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5) -> A
+Case conversion may be inaccurate. Consider using '#align homogeneous_localization.num HomogeneousLocalization.numₓ'. -/
/-- numerator of an element in `homogeneous_localization x`-/
def num (f : HomogeneousLocalization 𝒜 x) : A :=
(Quotient.out' f).num
#align homogeneous_localization.num HomogeneousLocalization.num
+/- warning: homogeneous_localization.denom -> HomogeneousLocalization.den is a dubious translation:
+lean 3 declaration is
+ forall {ι : Type.{u1}} {R : Type.{u2}} {A : Type.{u3}} [_inst_1 : AddCommMonoid.{u1} ι] [_inst_2 : DecidableEq.{succ u1} ι] [_inst_3 : CommRing.{u2} R] [_inst_4 : CommRing.{u3} A] [_inst_5 : Algebra.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4))] {𝒜 : ι -> (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))} [_inst_6 : GradedAlgebra.{u1, u2, u3} ι R A (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u1} ι _inst_1) (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5 𝒜] {x : Submonoid.{u3} A (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4)))))}, (HomogeneousLocalization.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) -> A
+but is expected to have type
+ forall {ι : Type.{u1}} {R : Type.{u2}} {A : Type.{u3}} [_inst_1 : CommRing.{u2} R] [_inst_2 : CommRing.{u3} A] [_inst_3 : Algebra.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_2))] {_inst_4 : ι -> (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_2))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_2)) _inst_3))} {_inst_5 : Submonoid.{u3} A (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_2)))))}, (HomogeneousLocalization.{u1, u2, u3} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5) -> A
+Case conversion may be inaccurate. Consider using '#align homogeneous_localization.denom HomogeneousLocalization.denₓ'. -/
/-- denominator of an element in `homogeneous_localization x`-/
-def denom (f : HomogeneousLocalization 𝒜 x) : A :=
+def den (f : HomogeneousLocalization 𝒜 x) : A :=
(Quotient.out' f).den
-#align homogeneous_localization.denom HomogeneousLocalization.denom
-
+#align homogeneous_localization.denom HomogeneousLocalization.den
+
+/- warning: homogeneous_localization.deg -> HomogeneousLocalization.deg is a dubious translation:
+lean 3 declaration is
+ forall {ι : Type.{u1}} {R : Type.{u2}} {A : Type.{u3}} [_inst_1 : AddCommMonoid.{u1} ι] [_inst_2 : DecidableEq.{succ u1} ι] [_inst_3 : CommRing.{u2} R] [_inst_4 : CommRing.{u3} A] [_inst_5 : Algebra.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4))] {𝒜 : ι -> (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))} [_inst_6 : GradedAlgebra.{u1, u2, u3} ι R A (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u1} ι _inst_1) (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5 𝒜] {x : Submonoid.{u3} A (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4)))))}, (HomogeneousLocalization.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) -> ι
+but is expected to have type
+ forall {ι : Type.{u1}} {R : Type.{u2}} {A : Type.{u3}} [_inst_1 : CommRing.{u2} R] [_inst_2 : CommRing.{u3} A] [_inst_3 : Algebra.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_2))] {_inst_4 : ι -> (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_2))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_2)) _inst_3))} {_inst_5 : Submonoid.{u3} A (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_2)))))}, (HomogeneousLocalization.{u1, u2, u3} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5) -> ι
+Case conversion may be inaccurate. Consider using '#align homogeneous_localization.deg HomogeneousLocalization.degₓ'. -/
/-- For an element in `homogeneous_localization x`, degree is the natural number `i` such that
`𝒜 i` contains both numerator and denominator. -/
def deg (f : HomogeneousLocalization 𝒜 x) : ι :=
(Quotient.out' f).deg
#align homogeneous_localization.deg HomogeneousLocalization.deg
-theorem denom_mem (f : HomogeneousLocalization 𝒜 x) : f.den ∈ x :=
+/- warning: homogeneous_localization.denom_mem -> HomogeneousLocalization.den_mem is a dubious translation:
+lean 3 declaration is
+ forall {ι : Type.{u1}} {R : Type.{u2}} {A : Type.{u3}} [_inst_1 : AddCommMonoid.{u1} ι] [_inst_2 : DecidableEq.{succ u1} ι] [_inst_3 : CommRing.{u2} R] [_inst_4 : CommRing.{u3} A] [_inst_5 : Algebra.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4))] {𝒜 : ι -> (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))} [_inst_6 : GradedAlgebra.{u1, u2, u3} ι R A (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u1} ι _inst_1) (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5 𝒜] {x : Submonoid.{u3} A (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4)))))} (f : HomogeneousLocalization.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x), Membership.Mem.{u3, u3} A (Submonoid.{u3} A (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4)))))) (SetLike.hasMem.{u3, u3} (Submonoid.{u3} A (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4)))))) A (Submonoid.setLike.{u3} A (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))))) (HomogeneousLocalization.den.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x f) x
+but is expected to have type
+ forall {ι : Type.{u3}} {R : Type.{u2}} {A : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : CommRing.{u1} A] [_inst_3 : Algebra.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2))] {_inst_4 : ι -> (Submodule.{u2, u1} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3))} {_inst_5 : Submonoid.{u1} A (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)))))} (𝒜 : HomogeneousLocalization.{u3, u2, u1} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5), Membership.mem.{u1, u1} A (Submonoid.{u1} A (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)))))) (SetLike.instMembership.{u1, u1} (Submonoid.{u1} A (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)))))) A (Submonoid.instSetLikeSubmonoid.{u1} A (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2))))))) (HomogeneousLocalization.den.{u3, u2, u1} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 𝒜) _inst_5
+Case conversion may be inaccurate. Consider using '#align homogeneous_localization.denom_mem HomogeneousLocalization.den_memₓ'. -/
+theorem den_mem (f : HomogeneousLocalization 𝒜 x) : f.den ∈ x :=
(Quotient.out' f).denom_mem
-#align homogeneous_localization.denom_mem HomogeneousLocalization.denom_mem
-
+#align homogeneous_localization.denom_mem HomogeneousLocalization.den_mem
+
+/- warning: homogeneous_localization.num_mem_deg -> HomogeneousLocalization.num_mem_deg is a dubious translation:
+lean 3 declaration is
+ forall {ι : Type.{u1}} {R : Type.{u2}} {A : Type.{u3}} [_inst_1 : AddCommMonoid.{u1} ι] [_inst_2 : DecidableEq.{succ u1} ι] [_inst_3 : CommRing.{u2} R] [_inst_4 : CommRing.{u3} A] [_inst_5 : Algebra.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4))] {𝒜 : ι -> (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))} [_inst_6 : GradedAlgebra.{u1, u2, u3} ι R A (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u1} ι _inst_1) (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5 𝒜] {x : Submonoid.{u3} A (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4)))))} (f : HomogeneousLocalization.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x), Membership.Mem.{u3, u3} A (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) (SetLike.hasMem.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (HomogeneousLocalization.num.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x f) (𝒜 (HomogeneousLocalization.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x f))
+but is expected to have type
+ forall {ι : Type.{u3}} {R : Type.{u2}} {A : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : CommRing.{u1} A] [_inst_3 : Algebra.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2))] {_inst_4 : ι -> (Submodule.{u2, u1} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3))} {_inst_5 : Submonoid.{u1} A (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)))))} (𝒜 : HomogeneousLocalization.{u3, u2, u1} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5), Membership.mem.{u1, u1} A (Submodule.{u2, u1} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3)) A (Submodule.setLike.{u2, u1} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3))) (HomogeneousLocalization.num.{u3, u2, u1} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 𝒜) (_inst_4 (HomogeneousLocalization.deg.{u3, u2, u1} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 𝒜))
+Case conversion may be inaccurate. Consider using '#align homogeneous_localization.num_mem_deg HomogeneousLocalization.num_mem_degₓ'. -/
theorem num_mem_deg (f : HomogeneousLocalization 𝒜 x) : f.num ∈ 𝒜 f.deg :=
(Quotient.out' f).num.2
#align homogeneous_localization.num_mem_deg HomogeneousLocalization.num_mem_deg
-theorem denom_mem_deg (f : HomogeneousLocalization 𝒜 x) : f.den ∈ 𝒜 f.deg :=
+/- warning: homogeneous_localization.denom_mem_deg -> HomogeneousLocalization.den_mem_deg is a dubious translation:
+lean 3 declaration is
+ forall {ι : Type.{u1}} {R : Type.{u2}} {A : Type.{u3}} [_inst_1 : AddCommMonoid.{u1} ι] [_inst_2 : DecidableEq.{succ u1} ι] [_inst_3 : CommRing.{u2} R] [_inst_4 : CommRing.{u3} A] [_inst_5 : Algebra.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4))] {𝒜 : ι -> (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))} [_inst_6 : GradedAlgebra.{u1, u2, u3} ι R A (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u1} ι _inst_1) (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5 𝒜] {x : Submonoid.{u3} A (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4)))))} (f : HomogeneousLocalization.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x), Membership.Mem.{u3, u3} A (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) (SetLike.hasMem.{u3, u3} (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5)) A (Submodule.setLike.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) (HomogeneousLocalization.den.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x f) (𝒜 (HomogeneousLocalization.deg.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x f))
+but is expected to have type
+ forall {ι : Type.{u3}} {R : Type.{u2}} {A : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : CommRing.{u1} A] [_inst_3 : Algebra.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2))] {_inst_4 : ι -> (Submodule.{u2, u1} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3))} {_inst_5 : Submonoid.{u1} A (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)))))} (𝒜 : HomogeneousLocalization.{u3, u2, u1} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5), Membership.mem.{u1, u1} A (Submodule.{u2, u1} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3)) A (Submodule.setLike.{u2, u1} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3))) (HomogeneousLocalization.den.{u3, u2, u1} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 𝒜) (_inst_4 (HomogeneousLocalization.deg.{u3, u2, u1} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 𝒜))
+Case conversion may be inaccurate. Consider using '#align homogeneous_localization.denom_mem_deg HomogeneousLocalization.den_mem_degₓ'. -/
+theorem den_mem_deg (f : HomogeneousLocalization 𝒜 x) : f.den ∈ 𝒜 f.deg :=
(Quotient.out' f).den.2
-#align homogeneous_localization.denom_mem_deg HomogeneousLocalization.denom_mem_deg
-
-theorem eq_num_div_denom (f : HomogeneousLocalization 𝒜 x) :
+#align homogeneous_localization.denom_mem_deg HomogeneousLocalization.den_mem_deg
+
+/- warning: homogeneous_localization.eq_num_div_denom -> HomogeneousLocalization.eq_num_div_den is a dubious translation:
+lean 3 declaration is
+ forall {ι : Type.{u1}} {R : Type.{u2}} {A : Type.{u3}} [_inst_1 : AddCommMonoid.{u1} ι] [_inst_2 : DecidableEq.{succ u1} ι] [_inst_3 : CommRing.{u2} R] [_inst_4 : CommRing.{u3} A] [_inst_5 : Algebra.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4))] {𝒜 : ι -> (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))} [_inst_6 : GradedAlgebra.{u1, u2, u3} ι R A (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u1} ι _inst_1) (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5 𝒜] {x : Submonoid.{u3} A (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4)))))} (f : HomogeneousLocalization.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x), Eq.{succ u3} (Localization.{u3} A (CommRing.toCommMonoid.{u3} A _inst_4) x) (HomogeneousLocalization.val.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x f) (Localization.mk.{u3} A (CommRing.toCommMonoid.{u3} A _inst_4) x (HomogeneousLocalization.num.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x f) (Subtype.mk.{succ u3} A (fun (x_1 : A) => Membership.Mem.{u3, u3} A (Submonoid.{u3} A (Monoid.toMulOneClass.{u3} A (CommMonoid.toMonoid.{u3} A (CommRing.toCommMonoid.{u3} A _inst_4)))) (SetLike.hasMem.{u3, u3} (Submonoid.{u3} A (Monoid.toMulOneClass.{u3} A (CommMonoid.toMonoid.{u3} A (CommRing.toCommMonoid.{u3} A _inst_4)))) A (Submonoid.setLike.{u3} A (Monoid.toMulOneClass.{u3} A (CommMonoid.toMonoid.{u3} A (CommRing.toCommMonoid.{u3} A _inst_4))))) x_1 x) (HomogeneousLocalization.den.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x f) (HomogeneousLocalization.den_mem.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x f)))
+but is expected to have type
+ forall {ι : Type.{u3}} {R : Type.{u2}} {A : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : CommRing.{u1} A] [_inst_3 : Algebra.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2))] {_inst_4 : ι -> (Submodule.{u2, u1} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3))} {_inst_5 : Submonoid.{u1} A (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)))))} (𝒜 : HomogeneousLocalization.{u3, u2, u1} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5), Eq.{succ u1} (Localization.{u1} A (CommRing.toCommMonoid.{u1} A _inst_2) _inst_5) (HomogeneousLocalization.val.{u3, u2, u1} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 𝒜) (Localization.mk.{u1} A (CommRing.toCommMonoid.{u1} A _inst_2) _inst_5 (HomogeneousLocalization.num.{u3, u2, u1} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 𝒜) (Subtype.mk.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (Submonoid.{u1} A (Monoid.toMulOneClass.{u1} A (CommMonoid.toMonoid.{u1} A (CommRing.toCommMonoid.{u1} A _inst_2)))) (SetLike.instMembership.{u1, u1} (Submonoid.{u1} A (Monoid.toMulOneClass.{u1} A (CommMonoid.toMonoid.{u1} A (CommRing.toCommMonoid.{u1} A _inst_2)))) A (Submonoid.instSetLikeSubmonoid.{u1} A (Monoid.toMulOneClass.{u1} A (CommMonoid.toMonoid.{u1} A (CommRing.toCommMonoid.{u1} A _inst_2))))) x _inst_5) (HomogeneousLocalization.den.{u3, u2, u1} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 𝒜) (HomogeneousLocalization.den_mem.{u1, u2, u3} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 𝒜)))
+Case conversion may be inaccurate. Consider using '#align homogeneous_localization.eq_num_div_denom HomogeneousLocalization.eq_num_div_denₓ'. -/
+theorem eq_num_div_den (f : HomogeneousLocalization 𝒜 x) :
f.val = Localization.mk f.num ⟨f.den, f.denom_mem⟩ :=
by
have := Quotient.out_eq' f
@@ -551,8 +821,14 @@ theorem eq_num_div_denom (f : HomogeneousLocalization 𝒜 x) :
unfold HomogeneousLocalization.val
simp only [Quotient.liftOn'_mk'']
rfl
-#align homogeneous_localization.eq_num_div_denom HomogeneousLocalization.eq_num_div_denom
-
+#align homogeneous_localization.eq_num_div_denom HomogeneousLocalization.eq_num_div_den
+
+/- warning: homogeneous_localization.ext_iff_val -> HomogeneousLocalization.ext_iff_val is a dubious translation:
+lean 3 declaration is
+ forall {ι : Type.{u1}} {R : Type.{u2}} {A : Type.{u3}} [_inst_1 : AddCommMonoid.{u1} ι] [_inst_2 : DecidableEq.{succ u1} ι] [_inst_3 : CommRing.{u2} R] [_inst_4 : CommRing.{u3} A] [_inst_5 : Algebra.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4))] {𝒜 : ι -> (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))} [_inst_6 : GradedAlgebra.{u1, u2, u3} ι R A (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u1} ι _inst_1) (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5 𝒜] {x : Submonoid.{u3} A (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4)))))} (f : HomogeneousLocalization.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) (g : HomogeneousLocalization.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x), Iff (Eq.{succ (max u1 u3)} (HomogeneousLocalization.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x) f g) (Eq.{succ u3} (Localization.{u3} A (CommRing.toCommMonoid.{u3} A _inst_4) x) (HomogeneousLocalization.val.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x f) (HomogeneousLocalization.val.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 x g))
+but is expected to have type
+ forall {ι : Type.{u3}} {R : Type.{u2}} {A : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : CommRing.{u1} A] [_inst_3 : Algebra.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2))] {_inst_4 : ι -> (Submodule.{u2, u1} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3))} {_inst_5 : Submonoid.{u1} A (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)))))} (𝒜 : HomogeneousLocalization.{u3, u2, u1} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5) (_inst_6 : HomogeneousLocalization.{u3, u2, u1} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5), Iff (Eq.{max (succ u3) (succ u1)} (HomogeneousLocalization.{u3, u2, u1} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5) 𝒜 _inst_6) (Eq.{succ u1} (Localization.{u1} A (CommRing.toCommMonoid.{u1} A _inst_2) _inst_5) (HomogeneousLocalization.val.{u3, u2, u1} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 𝒜) (HomogeneousLocalization.val.{u3, u2, u1} ι R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6))
+Case conversion may be inaccurate. Consider using '#align homogeneous_localization.ext_iff_val HomogeneousLocalization.ext_iff_valₓ'. -/
theorem ext_iff_val (f g : HomogeneousLocalization 𝒜 x) : f = g ↔ f.val = g.val :=
{ mp := fun h => h ▸ rfl
mpr := fun h => by
@@ -567,11 +843,23 @@ section
variable (𝒜) (𝔭 : Ideal A) [Ideal.IsPrime 𝔭]
+/- warning: homogeneous_localization.at_prime -> HomogeneousLocalization.AtPrime is a dubious translation:
+lean 3 declaration is
+ forall {ι : Type.{u1}} {R : Type.{u2}} {A : Type.{u3}} [_inst_1 : AddCommMonoid.{u1} ι] [_inst_2 : DecidableEq.{succ u1} ι] [_inst_3 : CommRing.{u2} R] [_inst_4 : CommRing.{u3} A] [_inst_5 : Algebra.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4))] (𝒜 : ι -> (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) [_inst_6 : GradedAlgebra.{u1, u2, u3} ι R A (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u1} ι _inst_1) (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5 𝒜] (𝔭 : Ideal.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4))) [_inst_7 : Ideal.IsPrime.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) 𝔭], Type.{max u1 u3}
+but is expected to have type
+ forall {ι : Type.{u1}} {R : Type.{u2}} {A : Type.{u3}} [_inst_1 : CommRing.{u2} R] [_inst_2 : CommRing.{u3} A] [_inst_3 : Algebra.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_2))], (ι -> (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_2))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_2)) _inst_3))) -> (forall (_inst_5 : Ideal.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_2))) [𝒜 : Ideal.IsPrime.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_2)) _inst_5], Type.{max u1 u3})
+Case conversion may be inaccurate. Consider using '#align homogeneous_localization.at_prime HomogeneousLocalization.AtPrimeₓ'. -/
/-- Localizing a ring homogeneously at a prime ideal-/
abbrev AtPrime :=
HomogeneousLocalization 𝒜 𝔭.primeCompl
#align homogeneous_localization.at_prime HomogeneousLocalization.AtPrime
+/- warning: homogeneous_localization.is_unit_iff_is_unit_val -> HomogeneousLocalization.isUnit_iff_isUnit_val is a dubious translation:
+lean 3 declaration is
+ forall {ι : Type.{u1}} {R : Type.{u2}} {A : Type.{u3}} [_inst_1 : AddCommMonoid.{u1} ι] [_inst_2 : DecidableEq.{succ u1} ι] [_inst_3 : CommRing.{u2} R] [_inst_4 : CommRing.{u3} A] [_inst_5 : Algebra.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4))] (𝒜 : ι -> (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) [_inst_6 : GradedAlgebra.{u1, u2, u3} ι R A (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u1} ι _inst_1) (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5 𝒜] (𝔭 : Ideal.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4))) [_inst_7 : Ideal.IsPrime.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) 𝔭] (f : HomogeneousLocalization.AtPrime.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 𝔭 _inst_7), Iff (IsUnit.{u3} (Localization.{u3} A (CommRing.toCommMonoid.{u3} A _inst_4) (Ideal.primeCompl.{u3} A (CommRing.toCommSemiring.{u3} A _inst_4) 𝔭 _inst_7)) (Ring.toMonoid.{u3} (Localization.{u3} A (CommRing.toCommMonoid.{u3} A _inst_4) (Ideal.primeCompl.{u3} A (CommRing.toCommSemiring.{u3} A _inst_4) 𝔭 _inst_7)) (CommRing.toRing.{u3} (Localization.{u3} A (CommRing.toCommMonoid.{u3} A _inst_4) (Ideal.primeCompl.{u3} A (CommRing.toCommSemiring.{u3} A _inst_4) 𝔭 _inst_7)) (Localization.commRing.{u3} A _inst_4 (Ideal.primeCompl.{u3} A (CommRing.toCommSemiring.{u3} A _inst_4) 𝔭 _inst_7)))) (HomogeneousLocalization.val.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 (Ideal.primeCompl.{u3} A (CommRing.toCommSemiring.{u3} A _inst_4) 𝔭 _inst_7) f)) (IsUnit.{max u1 u3} (HomogeneousLocalization.AtPrime.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 𝔭 _inst_7) (Ring.toMonoid.{max u1 u3} (HomogeneousLocalization.AtPrime.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 𝔭 _inst_7) (CommRing.toRing.{max u1 u3} (HomogeneousLocalization.AtPrime.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 𝔭 _inst_7) (HomogeneousLocalization.homogenousLocalizationCommRing.{u1, u2, u3} ι R A _inst_1 (fun (a : ι) (b : ι) => (fun (a : ι) (b : ι) => _inst_2 a b) a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 (Ideal.primeCompl.{u3} A (CommRing.toCommSemiring.{u3} A _inst_4) 𝔭 _inst_7)))) f)
+but is expected to have type
+ forall {ι : Type.{u3}} {R : Type.{u2}} {A : Type.{u1}} [_inst_1 : AddCommMonoid.{u3} ι] [_inst_2 : DecidableEq.{succ u3} ι] [_inst_3 : CommRing.{u2} R] [_inst_4 : CommRing.{u1} A] [_inst_5 : Algebra.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4))] (𝒜 : ι -> (Submodule.{u2, u1} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_4))))) (Algebra.toModule.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4)) _inst_5))) [_inst_6 : GradedAlgebra.{u3, u2, u1} ι R A (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u3} ι _inst_1) (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4)) _inst_5 𝒜] (𝔭 : Ideal.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4))) [_inst_7 : Ideal.IsPrime.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4)) 𝔭] (f : HomogeneousLocalization.AtPrime.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 𝔭 _inst_7), Iff (IsUnit.{u1} (Localization.{u1} A (CommRing.toCommMonoid.{u1} A _inst_4) (Ideal.primeCompl.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4) 𝔭 _inst_7)) (MonoidWithZero.toMonoid.{u1} (Localization.{u1} A (CommRing.toCommMonoid.{u1} A _inst_4) (Ideal.primeCompl.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4) 𝔭 _inst_7)) (Semiring.toMonoidWithZero.{u1} (Localization.{u1} A (CommRing.toCommMonoid.{u1} A _inst_4) (Ideal.primeCompl.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4) 𝔭 _inst_7)) (CommSemiring.toSemiring.{u1} (Localization.{u1} A (CommRing.toCommMonoid.{u1} A _inst_4) (Ideal.primeCompl.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4) 𝔭 _inst_7)) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4) (Ideal.primeCompl.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4) 𝔭 _inst_7))))) (HomogeneousLocalization.val.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 (Ideal.primeCompl.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4) 𝔭 _inst_7) f)) (IsUnit.{max u3 u1} (HomogeneousLocalization.AtPrime.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 𝔭 _inst_7) (MonoidWithZero.toMonoid.{max u3 u1} (HomogeneousLocalization.AtPrime.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 𝔭 _inst_7) (Semiring.toMonoidWithZero.{max u3 u1} (HomogeneousLocalization.AtPrime.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 𝔭 _inst_7) (CommSemiring.toSemiring.{max u3 u1} (HomogeneousLocalization.AtPrime.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 𝔭 _inst_7) (CommRing.toCommSemiring.{max u3 u1} (HomogeneousLocalization.AtPrime.{u3, u2, u1} ι R A _inst_3 _inst_4 _inst_5 𝒜 𝔭 _inst_7) (HomogeneousLocalization.homogenousLocalizationCommRing.{u3, u2, u1} ι R A _inst_1 (fun (a : ι) (b : ι) => _inst_2 a b) _inst_3 _inst_4 _inst_5 𝒜 _inst_6 (Ideal.primeCompl.{u1} A (CommRing.toCommSemiring.{u1} A _inst_4) 𝔭 _inst_7)))))) f)
+Case conversion may be inaccurate. Consider using '#align homogeneous_localization.is_unit_iff_is_unit_val HomogeneousLocalization.isUnit_iff_isUnit_valₓ'. -/
theorem isUnit_iff_isUnit_val (f : HomogeneousLocalization.AtPrime 𝒜 𝔭) : IsUnit f.val ↔ IsUnit f :=
⟨fun h1 => by
rcases h1 with ⟨⟨a, b, eq0, eq1⟩, eq2 : a = f.val⟩
@@ -642,6 +930,12 @@ section
variable (𝒜) (f : A)
+/- warning: homogeneous_localization.away -> HomogeneousLocalization.Away is a dubious translation:
+lean 3 declaration is
+ forall {ι : Type.{u1}} {R : Type.{u2}} {A : Type.{u3}} [_inst_1 : AddCommMonoid.{u1} ι] [_inst_2 : DecidableEq.{succ u1} ι] [_inst_3 : CommRing.{u2} R] [_inst_4 : CommRing.{u3} A] [_inst_5 : Algebra.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4))] (𝒜 : ι -> (Submodule.{u2, u3} R A (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_4))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5))) [_inst_6 : GradedAlgebra.{u1, u2, u3} ι R A (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u1} ι _inst_1) (CommRing.toCommSemiring.{u2} R _inst_3) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_4)) _inst_5 𝒜], A -> Type.{max u1 u3}
+but is expected to have type
+ forall {ι : Type.{u1}} {R : Type.{u2}} {A : Type.{u3}} [_inst_1 : CommRing.{u2} R] [_inst_2 : CommRing.{u3} A] [_inst_3 : Algebra.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_2))], (ι -> (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_2))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_2)) _inst_3))) -> A -> Type.{max u1 u3}
+Case conversion may be inaccurate. Consider using '#align homogeneous_localization.away HomogeneousLocalization.Awayₓ'. -/
/-- Localising away from powers of `f` homogeneously.-/
abbrev Away :=
HomogeneousLocalization 𝒜 (Submonoid.powers f)
mathlib commit https://github.com/leanprover-community/mathlib/commit/bd9851ca476957ea4549eb19b40e7b5ade9428cc
@@ -84,7 +84,8 @@ section
/-- Let `x` be a submonoid of `A`, then `NumDenSameDeg 𝒜 x` is a structure with a numerator and a
denominator with same grading such that the denominator is contained in `x`.
-/
--- @[nolint has_nonempty_instance] -- Porting note: This linter does not exist yet.
+-- Porting note(#5171): this linter isn't ported yet.
+-- @[nolint has_nonempty_instance]
structure NumDenSameDeg where
deg : ι
(num den : 𝒜 deg)
@@ -288,7 +289,8 @@ end HomogeneousLocalization
kernel of `embedding 𝒜 x`. This is essentially the subring of `Aₓ` where the numerator and
denominator share the same grading.
-/
--- @[nolint has_nonempty_instance] -- Porting note: This linter does not exist yet.
+-- Porting note(#5171): this linter isn't ported yet.
+-- @[nolint has_nonempty_instance]
def HomogeneousLocalization : Type _ :=
Quotient (Setoid.ker <| HomogeneousLocalization.NumDenSameDeg.embedding 𝒜 x)
#align homogeneous_localization HomogeneousLocalization
Among other things, change the nsmul
, zsmul
, qsmul
fields to have n
/q
come before x
, because this matches the lemmas we want to write about them. It would be preferrable to perform the same changes to the AddMonoid
/AddGroup
-like typeclasses, but this is impossible with the current to_additive
framework, so instead I have inserted some Function.swap
at the interface between AddMonoid
/AddGroup
and Ring
/Field
.
Reduce the diff of #11203
@@ -340,7 +340,7 @@ instance : SMul α (HomogeneousLocalization 𝒜 x) where
convert congr_arg (fun z : at x => m • z) h <;> rw [Localization.smul_mk]
@[simp]
-theorem smul_val (y : HomogeneousLocalization 𝒜 x) (n : α) : (n • y).val = n • y.val := by
+theorem smul_val (n : α) (y : HomogeneousLocalization 𝒜 x) : (n • y).val = n • y.val := by
induction y using Quotient.inductionOn
change Localization.mk _ _ = n • Localization.mk _ _
dsimp only
We change the following field in the definition of an additive commutative monoid:
nsmul_succ : ∀ (n : ℕ) (x : G),
- AddMonoid.nsmul (n + 1) x = x + AddMonoid.nsmul n x
+ AddMonoid.nsmul (n + 1) x = AddMonoid.nsmul n x + x
where the latter is more natural
We adjust the definitions of ^
in monoids, groups, etc.
Originally there was a warning comment about why this natural order was preferred
use
x * npowRec n x
and notnpowRec n x * x
in the definition to make sure that definitional unfolding ofnpowRec
is blocked, to avoid deep recursion issues.
but it seems to no longer apply.
Remarks on the PR :
pow_succ
and pow_succ'
have switched their meanings.Ideal.IsPrime.mul_mem_pow
which is defined in [Mathlib/RingTheory/DedekindDomain/Ideal.lean]. Changing the order of operation forced me to add the symmetric lemma Ideal.IsPrime.mem_pow_mul
.@@ -230,7 +230,7 @@ instance : Pow (NumDenSameDeg 𝒜 x) ℕ where
@GradedMonoid.GMonoid.gnpow _ (fun i => ↥(𝒜 i)) _ _ n _ c.den, by
induction' n with n ih
· simpa only [Nat.zero_eq, coe_gnpow, pow_zero] using Submonoid.one_mem _
- · simpa only [pow_succ', coe_gnpow] using x.mul_mem ih c.den_mem⟩
+ · simpa only [pow_succ, coe_gnpow] using x.mul_mem ih c.den_mem⟩
@[simp]
theorem deg_pow (c : NumDenSameDeg 𝒜 x) (n : ℕ) : (c ^ n).deg = n • c.deg :=
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)
@@ -70,13 +70,9 @@ open DirectSum BigOperators Pointwise
open DirectSum SetLike
variable {ι R A : Type*}
-
variable [AddCommMonoid ι] [DecidableEq ι]
-
variable [CommRing R] [CommRing A] [Algebra R A]
-
variable (𝒜 : ι → Submodule R A) [GradedAlgebra 𝒜]
-
variable (x : Submonoid A)
local notation "at " x => Localization x
@@ -335,7 +331,6 @@ instance hasPow : Pow (HomogeneousLocalization 𝒜 x) ℕ where
section SMul
variable {α : Type*} [SMul α R] [SMul α A] [IsScalarTower α R A]
-
variable [IsScalarTower α A A]
instance : SMul α (HomogeneousLocalization 𝒜 x) where
This is the supremum of
along with some minor fixes from failures on nightly-testing as Mathlib master
is merged into it.
Note that some PRs for changes that are already compatible with the current toolchain and will be necessary have already been split out: #8380.
I am hopeful that in future we will be able to progressively merge adaptation PRs into a bump/v4.X.0
branch, so we never end up with a "big merge" like this. However one of these adaptation PRs (#8056) predates my new scheme for combined CI, and it wasn't possible to keep that PR viable in the meantime.
In particular this includes adjustments for the Lean PRs
We can get rid of all the
local macro_rules | `($x ^ $y) => `(HPow.hPow $x $y) -- Porting note: See issue [lean4#2220](https://github.com/leanprover/lean4/pull/2220)
macros across Mathlib (and in any projects that want to write natural number powers of reals).
Changes the default behaviour of simp
to (config := {decide := false})
. This makes simp
(and consequentially norm_num
) less powerful, but also more consistent, and less likely to blow up in long failures. This requires a variety of changes: changing some previously by simp
or norm_num
to decide
or rfl
, or adding (config := {decide := true})
.
This changed the behaviour of simp
so that simp [f]
will only unfold "fully applied" occurrences of f
. The old behaviour can be recovered with simp (config := { unfoldPartialApp := true })
. We may in future add a syntax for this, e.g. simp [!f]
; please provide feedback! In the meantime, we have made the following changes:
(config := { unfoldPartialApp := true })
in some places, to recover the old behaviour@[eqns]
to manually adjust the equation lemmas for a particular definition, recovering the old behaviour just for that definition. See #8371, where we do this for Function.comp
and Function.flip
.This change in Lean may require further changes down the line (e.g. adding the !f
syntax, and/or upstreaming the special treatment for Function.comp
and Function.flip
, and/or removing this special treatment). Please keep an open and skeptical mind about these changes!
Co-authored-by: leanprover-community-mathlib4-bot <leanprover-community-mathlib4-bot@users.noreply.github.com> Co-authored-by: Scott Morrison <scott.morrison@gmail.com> Co-authored-by: Eric Wieser <wieser.eric@gmail.com> Co-authored-by: Mauricio Collares <mauricio@collares.org>
@@ -342,7 +342,7 @@ instance : SMul α (HomogeneousLocalization 𝒜 x) where
smul m := Quotient.map' (m • ·) fun c1 c2 (h : Localization.mk _ _ = Localization.mk _ _) => by
change Localization.mk _ _ = Localization.mk _ _
simp only [num_smul, den_smul]
- convert congr_arg (fun z : at x => m • z) h <;> rw [Localization.smul_mk] <;> rfl
+ convert congr_arg (fun z : at x => m • z) h <;> rw [Localization.smul_mk]
@[simp]
theorem smul_val (y : HomogeneousLocalization 𝒜 x) (n : α) : (n • y).val = n • y.val := by
@@ -347,7 +347,6 @@ instance : SMul α (HomogeneousLocalization 𝒜 x) where
@[simp]
theorem smul_val (y : HomogeneousLocalization 𝒜 x) (n : α) : (n • y).val = n • y.val := by
induction y using Quotient.inductionOn
- simp only [Quotient.liftOn₂'_mk, Quotient.liftOn'_mk]
change Localization.mk _ _ = n • Localization.mk _ _
dsimp only
rw [Localization.smul_mk]
@@ -408,7 +407,6 @@ theorem one_val : (1 : HomogeneousLocalization 𝒜 x).val = 1 :=
theorem add_val (y1 y2 : HomogeneousLocalization 𝒜 x) : (y1 + y2).val = y1.val + y2.val := by
induction y1 using Quotient.inductionOn
induction y2 using Quotient.inductionOn
- simp only [Quotient.liftOn₂'_mk, Quotient.liftOn'_mk]
change Localization.mk _ _ = Localization.mk _ _ + Localization.mk _ _
dsimp only
rw [Localization.add_mk]
@@ -419,7 +417,6 @@ theorem add_val (y1 y2 : HomogeneousLocalization 𝒜 x) : (y1 + y2).val = y1.va
theorem mul_val (y1 y2 : HomogeneousLocalization 𝒜 x) : (y1 * y2).val = y1.val * y2.val := by
induction y1 using Quotient.inductionOn
induction y2 using Quotient.inductionOn
- simp only [Quotient.liftOn₂'_mk, Quotient.liftOn'_mk]
change Localization.mk _ _ = Localization.mk _ _ * Localization.mk _ _
dsimp only
rw [Localization.mk_mul]
@@ -429,7 +426,6 @@ theorem mul_val (y1 y2 : HomogeneousLocalization 𝒜 x) : (y1 * y2).val = y1.va
@[simp]
theorem neg_val (y : HomogeneousLocalization 𝒜 x) : (-y).val = -y.val := by
induction y using Quotient.inductionOn
- simp only [Quotient.liftOn₂'_mk, Quotient.liftOn'_mk]
change Localization.mk _ _ = -Localization.mk _ _
dsimp only
rw [Localization.neg_mk]
@@ -444,7 +440,6 @@ theorem sub_val (y1 y2 : HomogeneousLocalization 𝒜 x) : (y1 - y2).val = y1.va
@[simp]
theorem pow_val (y : HomogeneousLocalization 𝒜 x) (n : ℕ) : (y ^ n).val = y.val ^ n := by
induction y using Quotient.inductionOn
- simp only [Quotient.liftOn₂'_mk, Quotient.liftOn'_mk]
change Localization.mk _ _ = Localization.mk _ _ ^ n
rw [Localization.mk_pow]
dsimp only
@@ -525,7 +520,6 @@ theorem eq_num_div_den (f : HomogeneousLocalization 𝒜 x) :
have := Quotient.out_eq' f
apply_fun HomogeneousLocalization.val at this
rw [← this]
- simp only [Quotient.liftOn'_mk'']
rfl
#align homogeneous_localization.eq_num_div_denom HomogeneousLocalization.eq_num_div_den
Type _
and Sort _
(#6499)
We remove all possible occurences of Type _
and Sort _
in favor of Type*
and Sort*
.
This has nice performance benefits.
@@ -69,7 +69,7 @@ open DirectSum BigOperators Pointwise
open DirectSum SetLike
-variable {ι R A : Type _}
+variable {ι R A : Type*}
variable [AddCommMonoid ι] [DecidableEq ι]
@@ -253,7 +253,7 @@ theorem den_pow (c : NumDenSameDeg 𝒜 x) (n : ℕ) : ((c ^ n).den : A) = (c.de
section SMul
-variable {α : Type _} [SMul α R] [SMul α A] [IsScalarTower α R A]
+variable {α : Type*} [SMul α R] [SMul α A] [IsScalarTower α R A]
instance : SMul α (NumDenSameDeg 𝒜 x) where
smul m c := ⟨c.deg, m • c.num, c.den, c.den_mem⟩
@@ -334,7 +334,7 @@ instance hasPow : Pow (HomogeneousLocalization 𝒜 x) ℕ where
section SMul
-variable {α : Type _} [SMul α R] [SMul α A] [IsScalarTower α R A]
+variable {α : Type*} [SMul α R] [SMul α A] [IsScalarTower α R A]
variable [IsScalarTower α A A]
@@ -2,15 +2,12 @@
Copyright (c) 2022 Jujian Zhang. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Jujian Zhang, Eric Wieser
-
-! This file was ported from Lean 3 source module ring_theory.graded_algebra.homogeneous_localization
-! leanprover-community/mathlib commit 831c494092374cfe9f50591ed0ac81a25efc5b86
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
-/
import Mathlib.RingTheory.Localization.AtPrime
import Mathlib.RingTheory.GradedAlgebra.Basic
+#align_import ring_theory.graded_algebra.homogeneous_localization from "leanprover-community/mathlib"@"831c494092374cfe9f50591ed0ac81a25efc5b86"
+
/-!
# Homogeneous Localization
The unported dependencies are