ring_theory.valuation.quotientMathlib.RingTheory.Valuation.Quotient

This file has been ported!

Changes since the initial port

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

Changes in mathlib3

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(last sync)

Changes in mathlib3port

mathlib3
mathlib3port
Diff
@@ -3,8 +3,8 @@ Copyright (c) 2020 Johan Commelin. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Kevin Buzzard, Johan Commelin, Patrick Massot
 -/
-import Mathbin.RingTheory.Valuation.Basic
-import Mathbin.RingTheory.Ideal.QuotientOperations
+import RingTheory.Valuation.Basic
+import RingTheory.Ideal.QuotientOperations
 
 #align_import ring_theory.valuation.quotient from "leanprover-community/mathlib"@"19cb3751e5e9b3d97adb51023949c50c13b5fdfd"
 
Diff
@@ -46,7 +46,7 @@ def onQuot {J : Ideal R} (hJ : J ≤ supp v) : Valuation (R ⧸ J) Γ₀
   toFun := v.onQuotVal hJ
   map_zero' := v.map_zero
   map_one' := v.map_one
-  map_mul' xbar ybar := Quotient.ind₂' v.map_mul xbar ybar
+  map_mul' xbar ybar := Quotient.ind₂' v.map_hMul xbar ybar
   map_add_le_max' xbar ybar := Quotient.ind₂' v.map_add xbar ybar
 #align valuation.on_quot Valuation.onQuot
 -/
Diff
@@ -2,15 +2,12 @@
 Copyright (c) 2020 Johan Commelin. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Kevin Buzzard, Johan Commelin, Patrick Massot
-
-! This file was ported from Lean 3 source module ring_theory.valuation.quotient
-! leanprover-community/mathlib commit 19cb3751e5e9b3d97adb51023949c50c13b5fdfd
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
 -/
 import Mathbin.RingTheory.Valuation.Basic
 import Mathbin.RingTheory.Ideal.QuotientOperations
 
+#align_import ring_theory.valuation.quotient from "leanprover-community/mathlib"@"19cb3751e5e9b3d97adb51023949c50c13b5fdfd"
+
 /-!
 # The valuation on a quotient ring
 
Diff
@@ -54,23 +54,30 @@ def onQuot {J : Ideal R} (hJ : J ≤ supp v) : Valuation (R ⧸ J) Γ₀
 #align valuation.on_quot Valuation.onQuot
 -/
 
+#print Valuation.onQuot_comap_eq /-
 @[simp]
 theorem onQuot_comap_eq {J : Ideal R} (hJ : J ≤ supp v) :
     (v.onQuot hJ).comap (Ideal.Quotient.mk J) = v :=
   ext fun r => rfl
 #align valuation.on_quot_comap_eq Valuation.onQuot_comap_eq
+-/
 
+#print Valuation.self_le_supp_comap /-
 theorem self_le_supp_comap (J : Ideal R) (v : Valuation (R ⧸ J) Γ₀) :
     J ≤ (v.comap (Ideal.Quotient.mk J)).supp := by rw [comap_supp, ← Ideal.map_le_iff_le_comap];
   simp
 #align valuation.self_le_supp_comap Valuation.self_le_supp_comap
+-/
 
+#print Valuation.comap_onQuot_eq /-
 @[simp]
 theorem comap_onQuot_eq (J : Ideal R) (v : Valuation (R ⧸ J) Γ₀) :
     (v.comap (Ideal.Quotient.mk J)).onQuot (v.self_le_supp_comap J) = v :=
   ext <| by rintro ⟨x⟩; rfl
 #align valuation.comap_on_quot_eq Valuation.comap_onQuot_eq
+-/
 
+#print Valuation.supp_quot /-
 /-- The quotient valuation on R/J has support supp(v)/J if J ⊆ supp v. -/
 theorem supp_quot {J : Ideal R} (hJ : J ≤ supp v) :
     supp (v.onQuot hJ) = (supp v).map (Ideal.Quotient.mk J) :=
@@ -82,10 +89,13 @@ theorem supp_quot {J : Ideal R} (hJ : J ≤ supp v) :
   · rw [Ideal.map_le_iff_le_comap]
     intro x hx; exact hx
 #align valuation.supp_quot Valuation.supp_quot
+-/
 
+#print Valuation.supp_quot_supp /-
 theorem supp_quot_supp : supp (v.onQuot le_rfl) = 0 := by rw [supp_quot];
   exact Ideal.map_quotient_self _
 #align valuation.supp_quot_supp Valuation.supp_quot_supp
+-/
 
 end Valuation
 
@@ -114,37 +124,49 @@ def onQuot {J : Ideal R} (hJ : J ≤ supp v) : AddValuation (R ⧸ J) Γ₀ :=
 #align add_valuation.on_quot AddValuation.onQuot
 -/
 
+#print AddValuation.onQuot_comap_eq /-
 @[simp]
 theorem onQuot_comap_eq {J : Ideal R} (hJ : J ≤ supp v) :
     (v.onQuot hJ).comap (Ideal.Quotient.mk J) = v :=
   v.onQuot_comap_eq hJ
 #align add_valuation.on_quot_comap_eq AddValuation.onQuot_comap_eq
+-/
 
+#print AddValuation.comap_supp /-
 theorem comap_supp {S : Type _} [CommRing S] (f : S →+* R) :
     supp (v.comap f) = Ideal.comap f v.supp :=
   v.comap_supp f
 #align add_valuation.comap_supp AddValuation.comap_supp
+-/
 
+#print AddValuation.self_le_supp_comap /-
 theorem self_le_supp_comap (J : Ideal R) (v : AddValuation (R ⧸ J) Γ₀) :
     J ≤ (v.comap (Ideal.Quotient.mk J)).supp :=
   v.self_le_supp_comap J
 #align add_valuation.self_le_supp_comap AddValuation.self_le_supp_comap
+-/
 
+#print AddValuation.comap_onQuot_eq /-
 @[simp]
 theorem comap_onQuot_eq (J : Ideal R) (v : AddValuation (R ⧸ J) Γ₀) :
     (v.comap (Ideal.Quotient.mk J)).onQuot (v.self_le_supp_comap J) = v :=
   v.comap_onQuot_eq J
 #align add_valuation.comap_on_quot_eq AddValuation.comap_onQuot_eq
+-/
 
+#print AddValuation.supp_quot /-
 /-- The quotient valuation on R/J has support supp(v)/J if J ⊆ supp v. -/
 theorem supp_quot {J : Ideal R} (hJ : J ≤ supp v) :
     supp (v.onQuot hJ) = (supp v).map (Ideal.Quotient.mk J) :=
   v.supp_quot hJ
 #align add_valuation.supp_quot AddValuation.supp_quot
+-/
 
+#print AddValuation.supp_quot_supp /-
 theorem supp_quot_supp : supp (v.onQuot le_rfl) = 0 :=
   v.supp_quot_supp
 #align add_valuation.supp_quot_supp AddValuation.supp_quot_supp
+-/
 
 end AddValuation
 
Diff
@@ -39,7 +39,6 @@ def onQuotVal {J : Ideal R} (hJ : J ≤ supp v) : R ⧸ J → Γ₀ := fun q =>
       v a = v (b + -(-a + b)) := by simp
       _ = v b :=
         v.map_add_supp b <| (Ideal.neg_mem_iff _).2 <| hJ <| QuotientAddGroup.leftRel_apply.mp h
-      
 #align valuation.on_quot_val Valuation.onQuotVal
 -/
 
Diff
@@ -30,6 +30,7 @@ variable {R Γ₀ : Type _} [CommRing R] [LinearOrderedCommMonoidWithZero Γ₀]
 
 variable (v : Valuation R Γ₀)
 
+#print Valuation.onQuotVal /-
 /-- If `hJ : J ⊆ supp v` then `on_quot_val hJ` is the induced function on R/J as a function.
 Note: it's just the function; the valuation is `on_quot hJ`. -/
 def onQuotVal {J : Ideal R} (hJ : J ≤ supp v) : R ⧸ J → Γ₀ := fun q =>
@@ -40,7 +41,9 @@ def onQuotVal {J : Ideal R} (hJ : J ≤ supp v) : R ⧸ J → Γ₀ := fun q =>
         v.map_add_supp b <| (Ideal.neg_mem_iff _).2 <| hJ <| QuotientAddGroup.leftRel_apply.mp h
       
 #align valuation.on_quot_val Valuation.onQuotVal
+-/
 
+#print Valuation.onQuot /-
 /-- The extension of valuation v on R to valuation on R/J if J ⊆ supp v -/
 def onQuot {J : Ideal R} (hJ : J ≤ supp v) : Valuation (R ⧸ J) Γ₀
     where
@@ -50,6 +53,7 @@ def onQuot {J : Ideal R} (hJ : J ≤ supp v) : Valuation (R ⧸ J) Γ₀
   map_mul' xbar ybar := Quotient.ind₂' v.map_mul xbar ybar
   map_add_le_max' xbar ybar := Quotient.ind₂' v.map_add xbar ybar
 #align valuation.on_quot Valuation.onQuot
+-/
 
 @[simp]
 theorem onQuot_comap_eq {J : Ideal R} (hJ : J ≤ supp v) :
@@ -96,16 +100,20 @@ variable (v : AddValuation R Γ₀)
 
 attribute [local reducible] AddValuation
 
+#print AddValuation.onQuotVal /-
 /-- If `hJ : J ⊆ supp v` then `on_quot_val hJ` is the induced function on R/J as a function.
 Note: it's just the function; the valuation is `on_quot hJ`. -/
 def onQuotVal {J : Ideal R} (hJ : J ≤ supp v) : R ⧸ J → Γ₀ :=
   v.onQuotVal hJ
 #align add_valuation.on_quot_val AddValuation.onQuotVal
+-/
 
+#print AddValuation.onQuot /-
 /-- The extension of valuation v on R to valuation on R/J if J ⊆ supp v -/
 def onQuot {J : Ideal R} (hJ : J ≤ supp v) : AddValuation (R ⧸ J) Γ₀ :=
   v.onQuot hJ
 #align add_valuation.on_quot AddValuation.onQuot
+-/
 
 @[simp]
 theorem onQuot_comap_eq {J : Ideal R} (hJ : J ≤ supp v) :
Diff
@@ -30,12 +30,6 @@ variable {R Γ₀ : Type _} [CommRing R] [LinearOrderedCommMonoidWithZero Γ₀]
 
 variable (v : Valuation R Γ₀)
 
-/- warning: valuation.on_quot_val -> Valuation.onQuotVal is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {Γ₀ : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : LinearOrderedCommMonoidWithZero.{u2} Γ₀] (v : Valuation.{u1, u2} R Γ₀ _inst_2 (CommRing.toRing.{u1} R _inst_1)) {J : Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))}, (LE.le.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Preorder.toHasLe.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))))) J (Valuation.supp.{u1, u2} R Γ₀ _inst_1 _inst_2 v)) -> (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) -> Γ₀
-but is expected to have type
-  forall {R : Type.{u1}} {Γ₀ : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : LinearOrderedCommMonoidWithZero.{u2} Γ₀] (v : Valuation.{u1, u2} R Γ₀ _inst_2 (CommRing.toRing.{u1} R _inst_1)) {J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))}, (LE.le.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Preorder.toLE.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Submodule.completeLattice.{u1, u1} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) J (Valuation.supp.{u1, u2} R Γ₀ _inst_1 _inst_2 v)) -> (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_1) J) -> Γ₀
-Case conversion may be inaccurate. Consider using '#align valuation.on_quot_val Valuation.onQuotValₓ'. -/
 /-- If `hJ : J ⊆ supp v` then `on_quot_val hJ` is the induced function on R/J as a function.
 Note: it's just the function; the valuation is `on_quot hJ`. -/
 def onQuotVal {J : Ideal R} (hJ : J ≤ supp v) : R ⧸ J → Γ₀ := fun q =>
@@ -47,12 +41,6 @@ def onQuotVal {J : Ideal R} (hJ : J ≤ supp v) : R ⧸ J → Γ₀ := fun q =>
       
 #align valuation.on_quot_val Valuation.onQuotVal
 
-/- warning: valuation.on_quot -> Valuation.onQuot is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {Γ₀ : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : LinearOrderedCommMonoidWithZero.{u2} Γ₀] (v : Valuation.{u1, u2} R Γ₀ _inst_2 (CommRing.toRing.{u1} R _inst_1)) {J : Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))}, (LE.le.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Preorder.toHasLe.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))))) J (Valuation.supp.{u1, u2} R Γ₀ _inst_1 _inst_2 v)) -> (Valuation.{u1, u2} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) Γ₀ _inst_2 (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (Ideal.Quotient.commRing.{u1} R _inst_1 J)))
-but is expected to have type
-  forall {R : Type.{u1}} {Γ₀ : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : LinearOrderedCommMonoidWithZero.{u2} Γ₀] (v : Valuation.{u1, u2} R Γ₀ _inst_2 (CommRing.toRing.{u1} R _inst_1)) {J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))}, (LE.le.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Preorder.toLE.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Submodule.completeLattice.{u1, u1} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) J (Valuation.supp.{u1, u2} R Γ₀ _inst_1 _inst_2 v)) -> (Valuation.{u1, u2} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_1) J) Γ₀ _inst_2 (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_1) J) (Ideal.Quotient.commRing.{u1} R _inst_1 J)))
-Case conversion may be inaccurate. Consider using '#align valuation.on_quot Valuation.onQuotₓ'. -/
 /-- The extension of valuation v on R to valuation on R/J if J ⊆ supp v -/
 def onQuot {J : Ideal R} (hJ : J ≤ supp v) : Valuation (R ⧸ J) Γ₀
     where
@@ -63,47 +51,23 @@ def onQuot {J : Ideal R} (hJ : J ≤ supp v) : Valuation (R ⧸ J) Γ₀
   map_add_le_max' xbar ybar := Quotient.ind₂' v.map_add xbar ybar
 #align valuation.on_quot Valuation.onQuot
 
-/- warning: valuation.on_quot_comap_eq -> Valuation.onQuot_comap_eq is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {Γ₀ : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : LinearOrderedCommMonoidWithZero.{u2} Γ₀] (v : Valuation.{u1, u2} R Γ₀ _inst_2 (CommRing.toRing.{u1} R _inst_1)) {J : Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))} (hJ : LE.le.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Preorder.toHasLe.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))))) J (Valuation.supp.{u1, u2} R Γ₀ _inst_1 _inst_2 v)), Eq.{max (succ u1) (succ u2)} (Valuation.{u1, u2} R Γ₀ _inst_2 (CommRing.toRing.{u1} R _inst_1)) (Valuation.comap.{u1, u2, u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) Γ₀ (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (Ideal.Quotient.commRing.{u1} R _inst_1 J)) _inst_2 R (CommRing.toRing.{u1} R _inst_1) (Ideal.Quotient.mk.{u1} R _inst_1 J) (Valuation.onQuot.{u1, u2} R Γ₀ _inst_1 _inst_2 v J hJ)) v
-but is expected to have type
-  forall {R : Type.{u2}} {Γ₀ : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : LinearOrderedCommMonoidWithZero.{u1} Γ₀] (v : Valuation.{u2, u1} R Γ₀ _inst_2 (CommRing.toRing.{u2} R _inst_1)) {J : Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))} (hJ : LE.le.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Preorder.toLE.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (PartialOrder.toPreorder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Submodule.completeLattice.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))))) J (Valuation.supp.{u2, u1} R Γ₀ _inst_1 _inst_2 v)), Eq.{max (succ u2) (succ u1)} (Valuation.{u2, u1} R Γ₀ _inst_2 (CommRing.toRing.{u2} R _inst_1)) (Valuation.comap.{u2, u1, u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) J) Γ₀ (CommRing.toRing.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) J) (Ideal.Quotient.commRing.{u2} R _inst_1 J)) _inst_2 R (CommRing.toRing.{u2} R _inst_1) (Ideal.Quotient.mk.{u2} R _inst_1 J) (Valuation.onQuot.{u2, u1} R Γ₀ _inst_1 _inst_2 v J hJ)) v
-Case conversion may be inaccurate. Consider using '#align valuation.on_quot_comap_eq Valuation.onQuot_comap_eqₓ'. -/
 @[simp]
 theorem onQuot_comap_eq {J : Ideal R} (hJ : J ≤ supp v) :
     (v.onQuot hJ).comap (Ideal.Quotient.mk J) = v :=
   ext fun r => rfl
 #align valuation.on_quot_comap_eq Valuation.onQuot_comap_eq
 
-/- warning: valuation.self_le_supp_comap -> Valuation.self_le_supp_comap is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {Γ₀ : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : LinearOrderedCommMonoidWithZero.{u2} Γ₀] (J : Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (v : Valuation.{u1, u2} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) Γ₀ _inst_2 (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (Ideal.Quotient.commRing.{u1} R _inst_1 J))), LE.le.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Preorder.toHasLe.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))))) J (Valuation.supp.{u1, u2} R Γ₀ _inst_1 _inst_2 (Valuation.comap.{u1, u2, u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) Γ₀ (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (Ideal.Quotient.commRing.{u1} R _inst_1 J)) _inst_2 R (CommRing.toRing.{u1} R _inst_1) (Ideal.Quotient.mk.{u1} R _inst_1 J) v))
-but is expected to have type
-  forall {R : Type.{u2}} {Γ₀ : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : LinearOrderedCommMonoidWithZero.{u1} Γ₀] (J : Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (v : Valuation.{u2, u1} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) J) Γ₀ _inst_2 (CommRing.toRing.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) J) (Ideal.Quotient.commRing.{u2} R _inst_1 J))), LE.le.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Preorder.toLE.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (PartialOrder.toPreorder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Submodule.completeLattice.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))))) J (Valuation.supp.{u2, u1} R Γ₀ _inst_1 _inst_2 (Valuation.comap.{u2, u1, u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) J) Γ₀ (CommRing.toRing.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) J) (Ideal.Quotient.commRing.{u2} R _inst_1 J)) _inst_2 R (CommRing.toRing.{u2} R _inst_1) (Ideal.Quotient.mk.{u2} R _inst_1 J) v))
-Case conversion may be inaccurate. Consider using '#align valuation.self_le_supp_comap Valuation.self_le_supp_comapₓ'. -/
 theorem self_le_supp_comap (J : Ideal R) (v : Valuation (R ⧸ J) Γ₀) :
     J ≤ (v.comap (Ideal.Quotient.mk J)).supp := by rw [comap_supp, ← Ideal.map_le_iff_le_comap];
   simp
 #align valuation.self_le_supp_comap Valuation.self_le_supp_comap
 
-/- warning: valuation.comap_on_quot_eq -> Valuation.comap_onQuot_eq is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {Γ₀ : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : LinearOrderedCommMonoidWithZero.{u2} Γ₀] (J : Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (v : Valuation.{u1, u2} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) Γ₀ _inst_2 (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (Ideal.Quotient.commRing.{u1} R _inst_1 J))), Eq.{max (succ u1) (succ u2)} (Valuation.{u1, u2} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) Γ₀ _inst_2 (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (Ideal.Quotient.commRing.{u1} R _inst_1 J))) (Valuation.onQuot.{u1, u2} R Γ₀ _inst_1 _inst_2 (Valuation.comap.{u1, u2, u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) Γ₀ (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (Ideal.Quotient.commRing.{u1} R _inst_1 J)) _inst_2 R (CommRing.toRing.{u1} R _inst_1) (Ideal.Quotient.mk.{u1} R _inst_1 J) v) J (Valuation.self_le_supp_comap.{u1, u2} R Γ₀ _inst_1 _inst_2 J v)) v
-but is expected to have type
-  forall {R : Type.{u2}} {Γ₀ : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : LinearOrderedCommMonoidWithZero.{u1} Γ₀] (J : Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (v : Valuation.{u2, u1} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) J) Γ₀ _inst_2 (CommRing.toRing.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) J) (Ideal.Quotient.commRing.{u2} R _inst_1 J))), Eq.{max (succ u2) (succ u1)} (Valuation.{u2, u1} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) J) Γ₀ _inst_2 (CommRing.toRing.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) J) (Ideal.Quotient.commRing.{u2} R _inst_1 J))) (Valuation.onQuot.{u2, u1} R Γ₀ _inst_1 _inst_2 (Valuation.comap.{u2, u1, u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) J) Γ₀ (CommRing.toRing.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) J) (Ideal.Quotient.commRing.{u2} R _inst_1 J)) _inst_2 R (CommRing.toRing.{u2} R _inst_1) (Ideal.Quotient.mk.{u2} R _inst_1 J) v) J (Valuation.self_le_supp_comap.{u1, u2} R Γ₀ _inst_1 _inst_2 J v)) v
-Case conversion may be inaccurate. Consider using '#align valuation.comap_on_quot_eq Valuation.comap_onQuot_eqₓ'. -/
 @[simp]
 theorem comap_onQuot_eq (J : Ideal R) (v : Valuation (R ⧸ J) Γ₀) :
     (v.comap (Ideal.Quotient.mk J)).onQuot (v.self_le_supp_comap J) = v :=
   ext <| by rintro ⟨x⟩; rfl
 #align valuation.comap_on_quot_eq Valuation.comap_onQuot_eq
 
-/- warning: valuation.supp_quot -> Valuation.supp_quot is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {Γ₀ : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : LinearOrderedCommMonoidWithZero.{u2} Γ₀] (v : Valuation.{u1, u2} R Γ₀ _inst_2 (CommRing.toRing.{u1} R _inst_1)) {J : Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))} (hJ : LE.le.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Preorder.toHasLe.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))))) J (Valuation.supp.{u1, u2} R Γ₀ _inst_1 _inst_2 v)), Eq.{succ u1} (Ideal.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (Ring.toSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (Ideal.Quotient.commRing.{u1} R _inst_1 J)))) (Valuation.supp.{u1, u2} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) Γ₀ (Ideal.Quotient.commRing.{u1} R _inst_1 J) _inst_2 (Valuation.onQuot.{u1, u2} R Γ₀ _inst_1 _inst_2 v J hJ)) (Ideal.map.{u1, u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (RingHom.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (Ring.toNonAssocRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (Ideal.Quotient.commRing.{u1} R _inst_1 J))))) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (Ideal.Quotient.commRing.{u1} R _inst_1 J))) (RingHom.ringHomClass.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (Ring.toNonAssocRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (Ideal.Quotient.commRing.{u1} R _inst_1 J))))) (Ideal.Quotient.mk.{u1} R _inst_1 J) (Valuation.supp.{u1, u2} R Γ₀ _inst_1 _inst_2 v))
-but is expected to have type
-  forall {R : Type.{u2}} {Γ₀ : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : LinearOrderedCommMonoidWithZero.{u1} Γ₀] (v : Valuation.{u2, u1} R Γ₀ _inst_2 (CommRing.toRing.{u2} R _inst_1)) {J : Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))} (hJ : LE.le.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Preorder.toLE.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (PartialOrder.toPreorder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Submodule.completeLattice.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))))) J (Valuation.supp.{u2, u1} R Γ₀ _inst_1 _inst_2 v)), Eq.{succ u2} (Ideal.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) J) (CommSemiring.toSemiring.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) J) (CommRing.toCommSemiring.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) J) (Ideal.Quotient.commRing.{u2} R _inst_1 J)))) (Valuation.supp.{u2, u1} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) J) Γ₀ (Ideal.Quotient.commRing.{u2} R _inst_1 J) _inst_2 (Valuation.onQuot.{u2, u1} R Γ₀ _inst_1 _inst_2 v J hJ)) (Ideal.map.{u2, u2, u2} R (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) J) (RingHom.{u2, u2} R (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) J) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) J) (CommSemiring.toSemiring.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) J) (CommRing.toCommSemiring.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) J) (Ideal.Quotient.commRing.{u2} R _inst_1 J))))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) J) (CommRing.toCommSemiring.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) J) (Ideal.Quotient.commRing.{u2} R _inst_1 J))) (RingHom.instRingHomClassRingHom.{u2, u2} R (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) J) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) J) (CommSemiring.toSemiring.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) J) (CommRing.toCommSemiring.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) J) (Ideal.Quotient.commRing.{u2} R _inst_1 J))))) (Ideal.Quotient.mk.{u2} R _inst_1 J) (Valuation.supp.{u2, u1} R Γ₀ _inst_1 _inst_2 v))
-Case conversion may be inaccurate. Consider using '#align valuation.supp_quot Valuation.supp_quotₓ'. -/
 /-- The quotient valuation on R/J has support supp(v)/J if J ⊆ supp v. -/
 theorem supp_quot {J : Ideal R} (hJ : J ≤ supp v) :
     supp (v.onQuot hJ) = (supp v).map (Ideal.Quotient.mk J) :=
@@ -116,9 +80,6 @@ theorem supp_quot {J : Ideal R} (hJ : J ≤ supp v) :
     intro x hx; exact hx
 #align valuation.supp_quot Valuation.supp_quot
 
-/- warning: valuation.supp_quot_supp -> Valuation.supp_quot_supp is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align valuation.supp_quot_supp Valuation.supp_quot_suppₓ'. -/
 theorem supp_quot_supp : supp (v.onQuot le_rfl) = 0 := by rw [supp_quot];
   exact Ideal.map_quotient_self _
 #align valuation.supp_quot_supp Valuation.supp_quot_supp
@@ -135,90 +96,45 @@ variable (v : AddValuation R Γ₀)
 
 attribute [local reducible] AddValuation
 
-/- warning: add_valuation.on_quot_val -> AddValuation.onQuotVal is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {Γ₀ : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : LinearOrderedAddCommMonoidWithTop.{u2} Γ₀] (v : AddValuation.{u1, u2} R (CommRing.toRing.{u1} R _inst_1) Γ₀ _inst_2) {J : Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))}, (LE.le.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Preorder.toHasLe.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))))) J (AddValuation.supp.{u1, u2} R Γ₀ _inst_2 _inst_1 v)) -> (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) -> Γ₀
-but is expected to have type
-  forall {R : Type.{u1}} {Γ₀ : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : LinearOrderedAddCommMonoidWithTop.{u2} Γ₀] (v : AddValuation.{u1, u2} R (CommRing.toRing.{u1} R _inst_1) Γ₀ _inst_2) {J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))}, (LE.le.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Preorder.toLE.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Submodule.completeLattice.{u1, u1} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) J (AddValuation.supp.{u1, u2} R Γ₀ _inst_2 _inst_1 v)) -> (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_1) J) -> Γ₀
-Case conversion may be inaccurate. Consider using '#align add_valuation.on_quot_val AddValuation.onQuotValₓ'. -/
 /-- If `hJ : J ⊆ supp v` then `on_quot_val hJ` is the induced function on R/J as a function.
 Note: it's just the function; the valuation is `on_quot hJ`. -/
 def onQuotVal {J : Ideal R} (hJ : J ≤ supp v) : R ⧸ J → Γ₀ :=
   v.onQuotVal hJ
 #align add_valuation.on_quot_val AddValuation.onQuotVal
 
-/- warning: add_valuation.on_quot -> AddValuation.onQuot is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {Γ₀ : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : LinearOrderedAddCommMonoidWithTop.{u2} Γ₀] (v : AddValuation.{u1, u2} R (CommRing.toRing.{u1} R _inst_1) Γ₀ _inst_2) {J : Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))}, (LE.le.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Preorder.toHasLe.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))))) J (AddValuation.supp.{u1, u2} R Γ₀ _inst_2 _inst_1 v)) -> (AddValuation.{u1, u2} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (Ideal.Quotient.commRing.{u1} R _inst_1 J)) Γ₀ _inst_2)
-but is expected to have type
-  forall {R : Type.{u1}} {Γ₀ : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : LinearOrderedAddCommMonoidWithTop.{u2} Γ₀] (v : AddValuation.{u1, u2} R (CommRing.toRing.{u1} R _inst_1) Γ₀ _inst_2) {J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))}, (LE.le.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Preorder.toLE.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Submodule.completeLattice.{u1, u1} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) J (AddValuation.supp.{u1, u2} R Γ₀ _inst_2 _inst_1 v)) -> (AddValuation.{u1, u2} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_1) J) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_1) J) (Ideal.Quotient.commRing.{u1} R _inst_1 J)) Γ₀ _inst_2)
-Case conversion may be inaccurate. Consider using '#align add_valuation.on_quot AddValuation.onQuotₓ'. -/
 /-- The extension of valuation v on R to valuation on R/J if J ⊆ supp v -/
 def onQuot {J : Ideal R} (hJ : J ≤ supp v) : AddValuation (R ⧸ J) Γ₀ :=
   v.onQuot hJ
 #align add_valuation.on_quot AddValuation.onQuot
 
-/- warning: add_valuation.on_quot_comap_eq -> AddValuation.onQuot_comap_eq is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {Γ₀ : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : LinearOrderedAddCommMonoidWithTop.{u2} Γ₀] (v : AddValuation.{u1, u2} R (CommRing.toRing.{u1} R _inst_1) Γ₀ _inst_2) {J : Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))} (hJ : LE.le.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Preorder.toHasLe.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))))) J (AddValuation.supp.{u1, u2} R Γ₀ _inst_2 _inst_1 v)), Eq.{max (succ u1) (succ u2)} (AddValuation.{u1, u2} R (CommRing.toRing.{u1} R _inst_1) Γ₀ _inst_2) (AddValuation.comap.{u1, u2, u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) Γ₀ _inst_2 (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (Ideal.Quotient.commRing.{u1} R _inst_1 J)) R (CommRing.toRing.{u1} R _inst_1) (Ideal.Quotient.mk.{u1} R _inst_1 J) (AddValuation.onQuot.{u1, u2} R Γ₀ _inst_1 _inst_2 v J hJ)) v
-but is expected to have type
-  forall {R : Type.{u2}} {Γ₀ : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : LinearOrderedAddCommMonoidWithTop.{u1} Γ₀] (v : AddValuation.{u2, u1} R (CommRing.toRing.{u2} R _inst_1) Γ₀ _inst_2) {J : Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))} (hJ : LE.le.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Preorder.toLE.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (PartialOrder.toPreorder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Submodule.completeLattice.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))))) J (AddValuation.supp.{u2, u1} R Γ₀ _inst_2 _inst_1 v)), Eq.{max (succ u2) (succ u1)} (AddValuation.{u2, u1} R (CommRing.toRing.{u2} R _inst_1) Γ₀ _inst_2) (AddValuation.comap.{u2, u1, u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) J) Γ₀ (CommRing.toRing.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) J) (Ideal.Quotient.commRing.{u2} R _inst_1 J)) _inst_2 R (CommRing.toRing.{u2} R _inst_1) (Ideal.Quotient.mk.{u2} R _inst_1 J) (AddValuation.onQuot.{u2, u1} R Γ₀ _inst_1 _inst_2 v J hJ)) v
-Case conversion may be inaccurate. Consider using '#align add_valuation.on_quot_comap_eq AddValuation.onQuot_comap_eqₓ'. -/
 @[simp]
 theorem onQuot_comap_eq {J : Ideal R} (hJ : J ≤ supp v) :
     (v.onQuot hJ).comap (Ideal.Quotient.mk J) = v :=
   v.onQuot_comap_eq hJ
 #align add_valuation.on_quot_comap_eq AddValuation.onQuot_comap_eq
 
-/- warning: add_valuation.comap_supp -> AddValuation.comap_supp is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {Γ₀ : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : LinearOrderedAddCommMonoidWithTop.{u2} Γ₀] (v : AddValuation.{u1, u2} R (CommRing.toRing.{u1} R _inst_1) Γ₀ _inst_2) {S : Type.{u3}} [_inst_3 : CommRing.{u3} S] (f : RingHom.{u3, u1} S R (NonAssocRing.toNonAssocSemiring.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_3))) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))), Eq.{succ u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) (AddValuation.supp.{u3, u2} S Γ₀ _inst_2 _inst_3 (AddValuation.comap.{u1, u2, u3} R Γ₀ _inst_2 (CommRing.toRing.{u1} R _inst_1) S (CommRing.toRing.{u3} S _inst_3) f v)) (Ideal.comap.{u3, u1, max u3 u1} S R (RingHom.{u3, u1} S R (NonAssocRing.toNonAssocSemiring.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_3))) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.ringHomClass.{u3, u1} S R (NonAssocRing.toNonAssocSemiring.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_3))) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) f (AddValuation.supp.{u1, u2} R Γ₀ _inst_2 _inst_1 v))
-but is expected to have type
-  forall {R : Type.{u2}} {Γ₀ : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : LinearOrderedAddCommMonoidWithTop.{u1} Γ₀] (v : AddValuation.{u2, u1} R (CommRing.toRing.{u2} R _inst_1) Γ₀ _inst_2) {S : Type.{u3}} [_inst_3 : CommRing.{u3} S] (f : RingHom.{u3, u2} S R (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_3))) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))), Eq.{succ u3} (Ideal.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_3))) (AddValuation.supp.{u3, u1} S Γ₀ _inst_2 _inst_3 (AddValuation.comap.{u2, u1, u3} R Γ₀ (CommRing.toRing.{u2} R _inst_1) _inst_2 S (CommRing.toRing.{u3} S _inst_3) f v)) (Ideal.comap.{u3, u2, max u2 u3} S R (RingHom.{u3, u2} S R (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_3))) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.instRingHomClassRingHom.{u3, u2} S R (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_3))) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) f (AddValuation.supp.{u2, u1} R Γ₀ _inst_2 _inst_1 v))
-Case conversion may be inaccurate. Consider using '#align add_valuation.comap_supp AddValuation.comap_suppₓ'. -/
 theorem comap_supp {S : Type _} [CommRing S] (f : S →+* R) :
     supp (v.comap f) = Ideal.comap f v.supp :=
   v.comap_supp f
 #align add_valuation.comap_supp AddValuation.comap_supp
 
-/- warning: add_valuation.self_le_supp_comap -> AddValuation.self_le_supp_comap is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {Γ₀ : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : LinearOrderedAddCommMonoidWithTop.{u2} Γ₀] (J : Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (v : AddValuation.{u1, u2} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (Ideal.Quotient.commRing.{u1} R _inst_1 J)) Γ₀ _inst_2), LE.le.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Preorder.toHasLe.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))))) J (AddValuation.supp.{u1, u2} R Γ₀ _inst_2 _inst_1 (AddValuation.comap.{u1, u2, u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) Γ₀ _inst_2 (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (Ideal.Quotient.commRing.{u1} R _inst_1 J)) R (CommRing.toRing.{u1} R _inst_1) (Ideal.Quotient.mk.{u1} R _inst_1 J) v))
-but is expected to have type
-  forall {R : Type.{u2}} {Γ₀ : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : LinearOrderedAddCommMonoidWithTop.{u1} Γ₀] (J : Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (v : AddValuation.{u2, u1} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) J) (CommRing.toRing.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) J) (Ideal.Quotient.commRing.{u2} R _inst_1 J)) Γ₀ _inst_2), LE.le.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Preorder.toLE.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (PartialOrder.toPreorder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Submodule.completeLattice.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))))) J (AddValuation.supp.{u2, u1} R Γ₀ _inst_2 _inst_1 (AddValuation.comap.{u2, u1, u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) J) Γ₀ (CommRing.toRing.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) J) (Ideal.Quotient.commRing.{u2} R _inst_1 J)) _inst_2 R (CommRing.toRing.{u2} R _inst_1) (Ideal.Quotient.mk.{u2} R _inst_1 J) v))
-Case conversion may be inaccurate. Consider using '#align add_valuation.self_le_supp_comap AddValuation.self_le_supp_comapₓ'. -/
 theorem self_le_supp_comap (J : Ideal R) (v : AddValuation (R ⧸ J) Γ₀) :
     J ≤ (v.comap (Ideal.Quotient.mk J)).supp :=
   v.self_le_supp_comap J
 #align add_valuation.self_le_supp_comap AddValuation.self_le_supp_comap
 
-/- warning: add_valuation.comap_on_quot_eq -> AddValuation.comap_onQuot_eq is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {Γ₀ : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : LinearOrderedAddCommMonoidWithTop.{u2} Γ₀] (J : Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (v : AddValuation.{u1, u2} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (Ideal.Quotient.commRing.{u1} R _inst_1 J)) Γ₀ _inst_2), Eq.{max (succ u1) (succ u2)} (AddValuation.{u1, u2} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (Ideal.Quotient.commRing.{u1} R _inst_1 J)) Γ₀ _inst_2) (AddValuation.onQuot.{u1, u2} R Γ₀ _inst_1 _inst_2 (AddValuation.comap.{u1, u2, u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) Γ₀ _inst_2 (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (Ideal.Quotient.commRing.{u1} R _inst_1 J)) R (CommRing.toRing.{u1} R _inst_1) (Ideal.Quotient.mk.{u1} R _inst_1 J) v) J (AddValuation.self_le_supp_comap.{u1, u2} R Γ₀ _inst_1 _inst_2 J v)) v
-but is expected to have type
-  forall {R : Type.{u2}} {Γ₀ : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : LinearOrderedAddCommMonoidWithTop.{u1} Γ₀] (J : Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (v : AddValuation.{u2, u1} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) J) (CommRing.toRing.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) J) (Ideal.Quotient.commRing.{u2} R _inst_1 J)) Γ₀ _inst_2), Eq.{max (succ u2) (succ u1)} (AddValuation.{u2, u1} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) J) (CommRing.toRing.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) J) (Ideal.Quotient.commRing.{u2} R _inst_1 J)) Γ₀ _inst_2) (AddValuation.onQuot.{u2, u1} R Γ₀ _inst_1 _inst_2 (AddValuation.comap.{u2, u1, u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) J) Γ₀ (CommRing.toRing.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) J) (Ideal.Quotient.commRing.{u2} R _inst_1 J)) _inst_2 R (CommRing.toRing.{u2} R _inst_1) (Ideal.Quotient.mk.{u2} R _inst_1 J) v) J (AddValuation.self_le_supp_comap.{u1, u2} R Γ₀ _inst_1 _inst_2 J v)) v
-Case conversion may be inaccurate. Consider using '#align add_valuation.comap_on_quot_eq AddValuation.comap_onQuot_eqₓ'. -/
 @[simp]
 theorem comap_onQuot_eq (J : Ideal R) (v : AddValuation (R ⧸ J) Γ₀) :
     (v.comap (Ideal.Quotient.mk J)).onQuot (v.self_le_supp_comap J) = v :=
   v.comap_onQuot_eq J
 #align add_valuation.comap_on_quot_eq AddValuation.comap_onQuot_eq
 
-/- warning: add_valuation.supp_quot -> AddValuation.supp_quot is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {Γ₀ : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : LinearOrderedAddCommMonoidWithTop.{u2} Γ₀] (v : AddValuation.{u1, u2} R (CommRing.toRing.{u1} R _inst_1) Γ₀ _inst_2) {J : Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))} (hJ : LE.le.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Preorder.toHasLe.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))))) J (AddValuation.supp.{u1, u2} R Γ₀ _inst_2 _inst_1 v)), Eq.{succ u1} (Ideal.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (Ring.toSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (Ideal.Quotient.commRing.{u1} R _inst_1 J)))) (AddValuation.supp.{u1, u2} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) Γ₀ _inst_2 (Ideal.Quotient.commRing.{u1} R _inst_1 J) (AddValuation.onQuot.{u1, u2} R Γ₀ _inst_1 _inst_2 v J hJ)) (Ideal.map.{u1, u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (RingHom.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (Ring.toNonAssocRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (Ideal.Quotient.commRing.{u1} R _inst_1 J))))) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (Ideal.Quotient.commRing.{u1} R _inst_1 J))) (RingHom.ringHomClass.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (Ring.toNonAssocRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (Ideal.Quotient.commRing.{u1} R _inst_1 J))))) (Ideal.Quotient.mk.{u1} R _inst_1 J) (AddValuation.supp.{u1, u2} R Γ₀ _inst_2 _inst_1 v))
-but is expected to have type
-  forall {R : Type.{u2}} {Γ₀ : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : LinearOrderedAddCommMonoidWithTop.{u1} Γ₀] (v : AddValuation.{u2, u1} R (CommRing.toRing.{u2} R _inst_1) Γ₀ _inst_2) {J : Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))} (hJ : LE.le.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Preorder.toLE.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (PartialOrder.toPreorder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Submodule.completeLattice.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))))) J (AddValuation.supp.{u2, u1} R Γ₀ _inst_2 _inst_1 v)), Eq.{succ u2} (Ideal.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) J) (CommSemiring.toSemiring.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) J) (CommRing.toCommSemiring.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) J) (Ideal.Quotient.commRing.{u2} R _inst_1 J)))) (AddValuation.supp.{u2, u1} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) J) Γ₀ _inst_2 (Ideal.Quotient.commRing.{u2} R _inst_1 J) (AddValuation.onQuot.{u2, u1} R Γ₀ _inst_1 _inst_2 v J hJ)) (Ideal.map.{u2, u2, u2} R (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) J) (RingHom.{u2, u2} R (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) J) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) J) (CommSemiring.toSemiring.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) J) (CommRing.toCommSemiring.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) J) (Ideal.Quotient.commRing.{u2} R _inst_1 J))))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) J) (CommRing.toCommSemiring.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) J) (Ideal.Quotient.commRing.{u2} R _inst_1 J))) (RingHom.instRingHomClassRingHom.{u2, u2} R (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) J) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) J) (CommSemiring.toSemiring.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) J) (CommRing.toCommSemiring.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) J) (Ideal.Quotient.commRing.{u2} R _inst_1 J))))) (Ideal.Quotient.mk.{u2} R _inst_1 J) (AddValuation.supp.{u2, u1} R Γ₀ _inst_2 _inst_1 v))
-Case conversion may be inaccurate. Consider using '#align add_valuation.supp_quot AddValuation.supp_quotₓ'. -/
 /-- The quotient valuation on R/J has support supp(v)/J if J ⊆ supp v. -/
 theorem supp_quot {J : Ideal R} (hJ : J ≤ supp v) :
     supp (v.onQuot hJ) = (supp v).map (Ideal.Quotient.mk J) :=
   v.supp_quot hJ
 #align add_valuation.supp_quot AddValuation.supp_quot
 
-/- warning: add_valuation.supp_quot_supp -> AddValuation.supp_quot_supp is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align add_valuation.supp_quot_supp AddValuation.supp_quot_suppₓ'. -/
 theorem supp_quot_supp : supp (v.onQuot le_rfl) = 0 :=
   v.supp_quot_supp
 #align add_valuation.supp_quot_supp AddValuation.supp_quot_supp
Diff
@@ -82,9 +82,7 @@ but is expected to have type
   forall {R : Type.{u2}} {Γ₀ : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : LinearOrderedCommMonoidWithZero.{u1} Γ₀] (J : Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (v : Valuation.{u2, u1} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) J) Γ₀ _inst_2 (CommRing.toRing.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) J) (Ideal.Quotient.commRing.{u2} R _inst_1 J))), LE.le.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Preorder.toLE.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (PartialOrder.toPreorder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Submodule.completeLattice.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))))) J (Valuation.supp.{u2, u1} R Γ₀ _inst_1 _inst_2 (Valuation.comap.{u2, u1, u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) J) Γ₀ (CommRing.toRing.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) J) (Ideal.Quotient.commRing.{u2} R _inst_1 J)) _inst_2 R (CommRing.toRing.{u2} R _inst_1) (Ideal.Quotient.mk.{u2} R _inst_1 J) v))
 Case conversion may be inaccurate. Consider using '#align valuation.self_le_supp_comap Valuation.self_le_supp_comapₓ'. -/
 theorem self_le_supp_comap (J : Ideal R) (v : Valuation (R ⧸ J) Γ₀) :
-    J ≤ (v.comap (Ideal.Quotient.mk J)).supp :=
-  by
-  rw [comap_supp, ← Ideal.map_le_iff_le_comap]
+    J ≤ (v.comap (Ideal.Quotient.mk J)).supp := by rw [comap_supp, ← Ideal.map_le_iff_le_comap];
   simp
 #align valuation.self_le_supp_comap Valuation.self_le_supp_comap
 
@@ -97,9 +95,7 @@ Case conversion may be inaccurate. Consider using '#align valuation.comap_on_quo
 @[simp]
 theorem comap_onQuot_eq (J : Ideal R) (v : Valuation (R ⧸ J) Γ₀) :
     (v.comap (Ideal.Quotient.mk J)).onQuot (v.self_le_supp_comap J) = v :=
-  ext <| by
-    rintro ⟨x⟩
-    rfl
+  ext <| by rintro ⟨x⟩; rfl
 #align valuation.comap_on_quot_eq Valuation.comap_onQuot_eq
 
 /- warning: valuation.supp_quot -> Valuation.supp_quot is a dubious translation:
@@ -117,16 +113,13 @@ theorem supp_quot {J : Ideal R} (hJ : J ≤ supp v) :
     apply Ideal.subset_span
     exact ⟨x, hx, rfl⟩
   · rw [Ideal.map_le_iff_le_comap]
-    intro x hx
-    exact hx
+    intro x hx; exact hx
 #align valuation.supp_quot Valuation.supp_quot
 
 /- warning: valuation.supp_quot_supp -> Valuation.supp_quot_supp is a dubious translation:
 <too large>
 Case conversion may be inaccurate. Consider using '#align valuation.supp_quot_supp Valuation.supp_quot_suppₓ'. -/
-theorem supp_quot_supp : supp (v.onQuot le_rfl) = 0 :=
-  by
-  rw [supp_quot]
+theorem supp_quot_supp : supp (v.onQuot le_rfl) = 0 := by rw [supp_quot];
   exact Ideal.map_quotient_self _
 #align valuation.supp_quot_supp Valuation.supp_quot_supp
 
Diff
@@ -122,10 +122,7 @@ theorem supp_quot {J : Ideal R} (hJ : J ≤ supp v) :
 #align valuation.supp_quot Valuation.supp_quot
 
 /- warning: valuation.supp_quot_supp -> Valuation.supp_quot_supp is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {Γ₀ : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : LinearOrderedCommMonoidWithZero.{u2} Γ₀] (v : Valuation.{u1, u2} R Γ₀ _inst_2 (CommRing.toRing.{u1} R _inst_1)), Eq.{succ u1} (Ideal.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (Valuation.supp.{u1, u2} R Γ₀ _inst_1 _inst_2 v)) (Ring.toSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (Valuation.supp.{u1, u2} R Γ₀ _inst_1 _inst_2 v)) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (Valuation.supp.{u1, u2} R Γ₀ _inst_1 _inst_2 v)) (Ideal.Quotient.commRing.{u1} R _inst_1 (Valuation.supp.{u1, u2} R Γ₀ _inst_1 _inst_2 v))))) (Valuation.supp.{u1, u2} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (Valuation.supp.{u1, u2} R Γ₀ _inst_1 _inst_2 v)) Γ₀ (Ideal.Quotient.commRing.{u1} R _inst_1 (Valuation.supp.{u1, u2} R Γ₀ _inst_1 _inst_2 v)) _inst_2 (Valuation.onQuot.{u1, u2} R Γ₀ _inst_1 _inst_2 v (Valuation.supp.{u1, u2} R Γ₀ _inst_1 _inst_2 v) (le_rfl.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) (Valuation.supp.{u1, u2} R Γ₀ _inst_1 _inst_2 v)))) (OfNat.ofNat.{u1} (Ideal.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (Valuation.supp.{u1, u2} R Γ₀ _inst_1 _inst_2 v)) (Ring.toSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (Valuation.supp.{u1, u2} R Γ₀ _inst_1 _inst_2 v)) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (Valuation.supp.{u1, u2} R Γ₀ _inst_1 _inst_2 v)) (Ideal.Quotient.commRing.{u1} R _inst_1 (Valuation.supp.{u1, u2} R Γ₀ _inst_1 _inst_2 v))))) 0 (OfNat.mk.{u1} (Ideal.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (Valuation.supp.{u1, u2} R Γ₀ _inst_1 _inst_2 v)) (Ring.toSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (Valuation.supp.{u1, u2} R Γ₀ _inst_1 _inst_2 v)) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (Valuation.supp.{u1, u2} R Γ₀ _inst_1 _inst_2 v)) (Ideal.Quotient.commRing.{u1} R _inst_1 (Valuation.supp.{u1, u2} R Γ₀ _inst_1 _inst_2 v))))) 0 (Zero.zero.{u1} (Ideal.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (Valuation.supp.{u1, u2} R Γ₀ _inst_1 _inst_2 v)) (Ring.toSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (Valuation.supp.{u1, u2} R Γ₀ _inst_1 _inst_2 v)) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (Valuation.supp.{u1, u2} R Γ₀ _inst_1 _inst_2 v)) (Ideal.Quotient.commRing.{u1} R _inst_1 (Valuation.supp.{u1, u2} R Γ₀ _inst_1 _inst_2 v))))) (MulZeroClass.toHasZero.{u1} (Ideal.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (Valuation.supp.{u1, u2} R Γ₀ _inst_1 _inst_2 v)) (Ring.toSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (Valuation.supp.{u1, u2} R Γ₀ _inst_1 _inst_2 v)) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (Valuation.supp.{u1, u2} R Γ₀ _inst_1 _inst_2 v)) (Ideal.Quotient.commRing.{u1} R _inst_1 (Valuation.supp.{u1, u2} R Γ₀ _inst_1 _inst_2 v))))) (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} (Ideal.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (Valuation.supp.{u1, u2} R Γ₀ _inst_1 _inst_2 v)) (Ring.toSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (Valuation.supp.{u1, u2} R Γ₀ _inst_1 _inst_2 v)) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (Valuation.supp.{u1, u2} R Γ₀ _inst_1 _inst_2 v)) (Ideal.Quotient.commRing.{u1} R _inst_1 (Valuation.supp.{u1, u2} R Γ₀ _inst_1 _inst_2 v))))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Ideal.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (Valuation.supp.{u1, u2} R Γ₀ _inst_1 _inst_2 v)) (Ring.toSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (Valuation.supp.{u1, u2} R Γ₀ _inst_1 _inst_2 v)) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (Valuation.supp.{u1, u2} R Γ₀ _inst_1 _inst_2 v)) (Ideal.Quotient.commRing.{u1} R _inst_1 (Valuation.supp.{u1, u2} R Γ₀ _inst_1 _inst_2 v))))) (Semiring.toNonAssocSemiring.{u1} (Ideal.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (Valuation.supp.{u1, u2} R Γ₀ _inst_1 _inst_2 v)) (Ring.toSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (Valuation.supp.{u1, u2} R Γ₀ _inst_1 _inst_2 v)) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (Valuation.supp.{u1, u2} R Γ₀ _inst_1 _inst_2 v)) (Ideal.Quotient.commRing.{u1} R _inst_1 (Valuation.supp.{u1, u2} R Γ₀ _inst_1 _inst_2 v))))) (IdemSemiring.toSemiring.{u1} (Ideal.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (Valuation.supp.{u1, u2} R Γ₀ _inst_1 _inst_2 v)) (Ring.toSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (Valuation.supp.{u1, u2} R Γ₀ _inst_1 _inst_2 v)) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (Valuation.supp.{u1, u2} R Γ₀ _inst_1 _inst_2 v)) (Ideal.Quotient.commRing.{u1} R _inst_1 (Valuation.supp.{u1, u2} R Γ₀ _inst_1 _inst_2 v))))) (Submodule.idemSemiring.{u1, u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (Valuation.supp.{u1, u2} R Γ₀ _inst_1 _inst_2 v)) (CommRing.toCommSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (Valuation.supp.{u1, u2} R Γ₀ _inst_1 _inst_2 v)) (Ideal.Quotient.commRing.{u1} R _inst_1 (Valuation.supp.{u1, u2} R Γ₀ _inst_1 _inst_2 v))) (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (Valuation.supp.{u1, u2} R Γ₀ _inst_1 _inst_2 v)) (Ring.toSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (Valuation.supp.{u1, u2} R Γ₀ _inst_1 _inst_2 v)) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (Valuation.supp.{u1, u2} R Γ₀ _inst_1 _inst_2 v)) (Ideal.Quotient.commRing.{u1} R _inst_1 (Valuation.supp.{u1, u2} R Γ₀ _inst_1 _inst_2 v)))) (Algebra.id.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (Valuation.supp.{u1, u2} R Γ₀ _inst_1 _inst_2 v)) (CommRing.toCommSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (Valuation.supp.{u1, u2} R Γ₀ _inst_1 _inst_2 v)) (Ideal.Quotient.commRing.{u1} R _inst_1 (Valuation.supp.{u1, u2} R Γ₀ _inst_1 _inst_2 v)))))))))))))
-but is expected to have type
-  forall {R : Type.{u2}} {Γ₀ : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : LinearOrderedCommMonoidWithZero.{u1} Γ₀] (v : Valuation.{u2, u1} R Γ₀ _inst_2 (CommRing.toRing.{u2} R _inst_1)), Eq.{succ u2} (Ideal.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) (Valuation.supp.{u2, u1} R Γ₀ _inst_1 _inst_2 v)) (CommSemiring.toSemiring.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) (Valuation.supp.{u2, u1} R Γ₀ _inst_1 _inst_2 v)) (CommRing.toCommSemiring.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) (Valuation.supp.{u2, u1} R Γ₀ _inst_1 _inst_2 v)) (Ideal.Quotient.commRing.{u2} R _inst_1 (Valuation.supp.{u2, u1} R Γ₀ _inst_1 _inst_2 v))))) (Valuation.supp.{u2, u1} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) (Valuation.supp.{u2, u1} R Γ₀ _inst_1 _inst_2 v)) Γ₀ (Ideal.Quotient.commRing.{u2} R _inst_1 (Valuation.supp.{u2, u1} R Γ₀ _inst_1 _inst_2 v)) _inst_2 (Valuation.onQuot.{u2, u1} R Γ₀ _inst_1 _inst_2 v (Valuation.supp.{u2, u1} R Γ₀ _inst_1 _inst_2 v) (le_rfl.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (PartialOrder.toPreorder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Submodule.completeLattice.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))))) (Valuation.supp.{u2, u1} R Γ₀ _inst_1 _inst_2 v)))) (OfNat.ofNat.{u2} (Ideal.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) (Valuation.supp.{u2, u1} R Γ₀ _inst_1 _inst_2 v)) (CommSemiring.toSemiring.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) (Valuation.supp.{u2, u1} R Γ₀ _inst_1 _inst_2 v)) (CommRing.toCommSemiring.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) (Valuation.supp.{u2, u1} R Γ₀ _inst_1 _inst_2 v)) (Ideal.Quotient.commRing.{u2} R _inst_1 (Valuation.supp.{u2, u1} R Γ₀ _inst_1 _inst_2 v))))) 0 (Zero.toOfNat0.{u2} (Ideal.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) (Valuation.supp.{u2, u1} R Γ₀ _inst_1 _inst_2 v)) (CommSemiring.toSemiring.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) (Valuation.supp.{u2, u1} R Γ₀ _inst_1 _inst_2 v)) (CommRing.toCommSemiring.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) (Valuation.supp.{u2, u1} R Γ₀ _inst_1 _inst_2 v)) (Ideal.Quotient.commRing.{u2} R _inst_1 (Valuation.supp.{u2, u1} R Γ₀ _inst_1 _inst_2 v))))) (CommMonoidWithZero.toZero.{u2} (Ideal.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) (Valuation.supp.{u2, u1} R Γ₀ _inst_1 _inst_2 v)) (CommSemiring.toSemiring.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) (Valuation.supp.{u2, u1} R Γ₀ _inst_1 _inst_2 v)) (CommRing.toCommSemiring.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) (Valuation.supp.{u2, u1} R Γ₀ _inst_1 _inst_2 v)) (Ideal.Quotient.commRing.{u2} R _inst_1 (Valuation.supp.{u2, u1} R Γ₀ _inst_1 _inst_2 v))))) (CommSemiring.toCommMonoidWithZero.{u2} (Ideal.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) (Valuation.supp.{u2, u1} R Γ₀ _inst_1 _inst_2 v)) (CommSemiring.toSemiring.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) (Valuation.supp.{u2, u1} R Γ₀ _inst_1 _inst_2 v)) (CommRing.toCommSemiring.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) (Valuation.supp.{u2, u1} R Γ₀ _inst_1 _inst_2 v)) (Ideal.Quotient.commRing.{u2} R _inst_1 (Valuation.supp.{u2, u1} R Γ₀ _inst_1 _inst_2 v))))) (IdemCommSemiring.toCommSemiring.{u2} (Ideal.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) (Valuation.supp.{u2, u1} R Γ₀ _inst_1 _inst_2 v)) (CommSemiring.toSemiring.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) (Valuation.supp.{u2, u1} R Γ₀ _inst_1 _inst_2 v)) (CommRing.toCommSemiring.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) (Valuation.supp.{u2, u1} R Γ₀ _inst_1 _inst_2 v)) (Ideal.Quotient.commRing.{u2} R _inst_1 (Valuation.supp.{u2, u1} R Γ₀ _inst_1 _inst_2 v))))) (Ideal.instIdemCommSemiringIdealToSemiring.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) (Valuation.supp.{u2, u1} R Γ₀ _inst_1 _inst_2 v)) (CommRing.toCommSemiring.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) (Valuation.supp.{u2, u1} R Γ₀ _inst_1 _inst_2 v)) (Ideal.Quotient.commRing.{u2} R _inst_1 (Valuation.supp.{u2, u1} R Γ₀ _inst_1 _inst_2 v)))))))))
+<too large>
 Case conversion may be inaccurate. Consider using '#align valuation.supp_quot_supp Valuation.supp_quot_suppₓ'. -/
 theorem supp_quot_supp : supp (v.onQuot le_rfl) = 0 :=
   by
@@ -227,10 +224,7 @@ theorem supp_quot {J : Ideal R} (hJ : J ≤ supp v) :
 #align add_valuation.supp_quot AddValuation.supp_quot
 
 /- warning: add_valuation.supp_quot_supp -> AddValuation.supp_quot_supp is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {Γ₀ : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : LinearOrderedAddCommMonoidWithTop.{u2} Γ₀] (v : AddValuation.{u1, u2} R (CommRing.toRing.{u1} R _inst_1) Γ₀ _inst_2), Eq.{succ u1} (Ideal.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (AddValuation.supp.{u1, u2} R Γ₀ _inst_2 _inst_1 v)) (Ring.toSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (AddValuation.supp.{u1, u2} R Γ₀ _inst_2 _inst_1 v)) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (AddValuation.supp.{u1, u2} R Γ₀ _inst_2 _inst_1 v)) (Ideal.Quotient.commRing.{u1} R _inst_1 (AddValuation.supp.{u1, u2} R Γ₀ _inst_2 _inst_1 v))))) (AddValuation.supp.{u1, u2} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (AddValuation.supp.{u1, u2} R Γ₀ _inst_2 _inst_1 v)) Γ₀ _inst_2 (Ideal.Quotient.commRing.{u1} R _inst_1 (AddValuation.supp.{u1, u2} R Γ₀ _inst_2 _inst_1 v)) (AddValuation.onQuot.{u1, u2} R Γ₀ _inst_1 _inst_2 v (AddValuation.supp.{u1, u2} R Γ₀ _inst_2 _inst_1 v) (le_rfl.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) (AddValuation.supp.{u1, u2} R Γ₀ _inst_2 _inst_1 v)))) (OfNat.ofNat.{u1} (Ideal.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (AddValuation.supp.{u1, u2} R Γ₀ _inst_2 _inst_1 v)) (Ring.toSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (AddValuation.supp.{u1, u2} R Γ₀ _inst_2 _inst_1 v)) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (AddValuation.supp.{u1, u2} R Γ₀ _inst_2 _inst_1 v)) (Ideal.Quotient.commRing.{u1} R _inst_1 (AddValuation.supp.{u1, u2} R Γ₀ _inst_2 _inst_1 v))))) 0 (OfNat.mk.{u1} (Ideal.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (AddValuation.supp.{u1, u2} R Γ₀ _inst_2 _inst_1 v)) (Ring.toSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (AddValuation.supp.{u1, u2} R Γ₀ _inst_2 _inst_1 v)) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (AddValuation.supp.{u1, u2} R Γ₀ _inst_2 _inst_1 v)) (Ideal.Quotient.commRing.{u1} R _inst_1 (AddValuation.supp.{u1, u2} R Γ₀ _inst_2 _inst_1 v))))) 0 (Zero.zero.{u1} (Ideal.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (AddValuation.supp.{u1, u2} R Γ₀ _inst_2 _inst_1 v)) (Ring.toSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (AddValuation.supp.{u1, u2} R Γ₀ _inst_2 _inst_1 v)) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (AddValuation.supp.{u1, u2} R Γ₀ _inst_2 _inst_1 v)) (Ideal.Quotient.commRing.{u1} R _inst_1 (AddValuation.supp.{u1, u2} R Γ₀ _inst_2 _inst_1 v))))) (MulZeroClass.toHasZero.{u1} (Ideal.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (AddValuation.supp.{u1, u2} R Γ₀ _inst_2 _inst_1 v)) (Ring.toSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (AddValuation.supp.{u1, u2} R Γ₀ _inst_2 _inst_1 v)) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (AddValuation.supp.{u1, u2} R Γ₀ _inst_2 _inst_1 v)) (Ideal.Quotient.commRing.{u1} R _inst_1 (AddValuation.supp.{u1, u2} R Γ₀ _inst_2 _inst_1 v))))) (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} (Ideal.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (AddValuation.supp.{u1, u2} R Γ₀ _inst_2 _inst_1 v)) (Ring.toSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (AddValuation.supp.{u1, u2} R Γ₀ _inst_2 _inst_1 v)) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (AddValuation.supp.{u1, u2} R Γ₀ _inst_2 _inst_1 v)) (Ideal.Quotient.commRing.{u1} R _inst_1 (AddValuation.supp.{u1, u2} R Γ₀ _inst_2 _inst_1 v))))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Ideal.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (AddValuation.supp.{u1, u2} R Γ₀ _inst_2 _inst_1 v)) (Ring.toSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (AddValuation.supp.{u1, u2} R Γ₀ _inst_2 _inst_1 v)) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (AddValuation.supp.{u1, u2} R Γ₀ _inst_2 _inst_1 v)) (Ideal.Quotient.commRing.{u1} R _inst_1 (AddValuation.supp.{u1, u2} R Γ₀ _inst_2 _inst_1 v))))) (Semiring.toNonAssocSemiring.{u1} (Ideal.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (AddValuation.supp.{u1, u2} R Γ₀ _inst_2 _inst_1 v)) (Ring.toSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (AddValuation.supp.{u1, u2} R Γ₀ _inst_2 _inst_1 v)) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (AddValuation.supp.{u1, u2} R Γ₀ _inst_2 _inst_1 v)) (Ideal.Quotient.commRing.{u1} R _inst_1 (AddValuation.supp.{u1, u2} R Γ₀ _inst_2 _inst_1 v))))) (IdemSemiring.toSemiring.{u1} (Ideal.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (AddValuation.supp.{u1, u2} R Γ₀ _inst_2 _inst_1 v)) (Ring.toSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (AddValuation.supp.{u1, u2} R Γ₀ _inst_2 _inst_1 v)) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (AddValuation.supp.{u1, u2} R Γ₀ _inst_2 _inst_1 v)) (Ideal.Quotient.commRing.{u1} R _inst_1 (AddValuation.supp.{u1, u2} R Γ₀ _inst_2 _inst_1 v))))) (Submodule.idemSemiring.{u1, u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (AddValuation.supp.{u1, u2} R Γ₀ _inst_2 _inst_1 v)) (CommRing.toCommSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (AddValuation.supp.{u1, u2} R Γ₀ _inst_2 _inst_1 v)) (Ideal.Quotient.commRing.{u1} R _inst_1 (AddValuation.supp.{u1, u2} R Γ₀ _inst_2 _inst_1 v))) (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (AddValuation.supp.{u1, u2} R Γ₀ _inst_2 _inst_1 v)) (Ring.toSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (AddValuation.supp.{u1, u2} R Γ₀ _inst_2 _inst_1 v)) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (AddValuation.supp.{u1, u2} R Γ₀ _inst_2 _inst_1 v)) (Ideal.Quotient.commRing.{u1} R _inst_1 (AddValuation.supp.{u1, u2} R Γ₀ _inst_2 _inst_1 v)))) (Algebra.id.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (AddValuation.supp.{u1, u2} R Γ₀ _inst_2 _inst_1 v)) (CommRing.toCommSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (AddValuation.supp.{u1, u2} R Γ₀ _inst_2 _inst_1 v)) (Ideal.Quotient.commRing.{u1} R _inst_1 (AddValuation.supp.{u1, u2} R Γ₀ _inst_2 _inst_1 v)))))))))))))
-but is expected to have type
-  forall {R : Type.{u2}} {Γ₀ : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : LinearOrderedAddCommMonoidWithTop.{u1} Γ₀] (v : AddValuation.{u2, u1} R (CommRing.toRing.{u2} R _inst_1) Γ₀ _inst_2), Eq.{succ u2} (Ideal.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) (Valuation.supp.{u2, u1} R (Multiplicative.{u1} (OrderDual.{u1} Γ₀)) _inst_1 (instLinearOrderedCommMonoidWithZeroMultiplicativeOrderDual.{u1} Γ₀ _inst_2) v)) (CommSemiring.toSemiring.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) (Valuation.supp.{u2, u1} R (Multiplicative.{u1} (OrderDual.{u1} Γ₀)) _inst_1 (instLinearOrderedCommMonoidWithZeroMultiplicativeOrderDual.{u1} Γ₀ _inst_2) v)) (CommRing.toCommSemiring.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) (Valuation.supp.{u2, u1} R (Multiplicative.{u1} (OrderDual.{u1} Γ₀)) _inst_1 (instLinearOrderedCommMonoidWithZeroMultiplicativeOrderDual.{u1} Γ₀ _inst_2) v)) (Ideal.Quotient.commRing.{u2} R _inst_1 (Valuation.supp.{u2, u1} R (Multiplicative.{u1} (OrderDual.{u1} Γ₀)) _inst_1 (instLinearOrderedCommMonoidWithZeroMultiplicativeOrderDual.{u1} Γ₀ _inst_2) v))))) (AddValuation.supp.{u2, u1} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) (Valuation.supp.{u2, u1} R (Multiplicative.{u1} (OrderDual.{u1} Γ₀)) _inst_1 (instLinearOrderedCommMonoidWithZeroMultiplicativeOrderDual.{u1} Γ₀ _inst_2) v)) Γ₀ _inst_2 (Ideal.Quotient.commRing.{u2} R _inst_1 (Valuation.supp.{u2, u1} R (Multiplicative.{u1} (OrderDual.{u1} Γ₀)) _inst_1 (instLinearOrderedCommMonoidWithZeroMultiplicativeOrderDual.{u1} Γ₀ _inst_2) v)) (Valuation.onQuot.{u2, u1} R (Multiplicative.{u1} (OrderDual.{u1} Γ₀)) _inst_1 (instLinearOrderedCommMonoidWithZeroMultiplicativeOrderDual.{u1} Γ₀ _inst_2) v (Valuation.supp.{u2, u1} R (Multiplicative.{u1} (OrderDual.{u1} Γ₀)) _inst_1 (instLinearOrderedCommMonoidWithZeroMultiplicativeOrderDual.{u1} Γ₀ _inst_2) v) (le_rfl.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (PartialOrder.toPreorder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Submodule.completeLattice.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))))) (Valuation.supp.{u2, u1} R (Multiplicative.{u1} (OrderDual.{u1} Γ₀)) _inst_1 (instLinearOrderedCommMonoidWithZeroMultiplicativeOrderDual.{u1} Γ₀ _inst_2) v)))) (OfNat.ofNat.{u2} (Ideal.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) (Valuation.supp.{u2, u1} R (Multiplicative.{u1} (OrderDual.{u1} Γ₀)) _inst_1 (instLinearOrderedCommMonoidWithZeroMultiplicativeOrderDual.{u1} Γ₀ _inst_2) v)) (CommSemiring.toSemiring.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) (Valuation.supp.{u2, u1} R (Multiplicative.{u1} (OrderDual.{u1} Γ₀)) _inst_1 (instLinearOrderedCommMonoidWithZeroMultiplicativeOrderDual.{u1} Γ₀ _inst_2) v)) (CommRing.toCommSemiring.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) (Valuation.supp.{u2, u1} R (Multiplicative.{u1} (OrderDual.{u1} Γ₀)) _inst_1 (instLinearOrderedCommMonoidWithZeroMultiplicativeOrderDual.{u1} Γ₀ _inst_2) v)) (Ideal.Quotient.commRing.{u2} R _inst_1 (Valuation.supp.{u2, u1} R (Multiplicative.{u1} (OrderDual.{u1} Γ₀)) _inst_1 (instLinearOrderedCommMonoidWithZeroMultiplicativeOrderDual.{u1} Γ₀ _inst_2) v))))) 0 (Zero.toOfNat0.{u2} (Ideal.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) (Valuation.supp.{u2, u1} R (Multiplicative.{u1} (OrderDual.{u1} Γ₀)) _inst_1 (instLinearOrderedCommMonoidWithZeroMultiplicativeOrderDual.{u1} Γ₀ _inst_2) v)) (CommSemiring.toSemiring.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) (Valuation.supp.{u2, u1} R (Multiplicative.{u1} (OrderDual.{u1} Γ₀)) _inst_1 (instLinearOrderedCommMonoidWithZeroMultiplicativeOrderDual.{u1} Γ₀ _inst_2) v)) (CommRing.toCommSemiring.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) (Valuation.supp.{u2, u1} R (Multiplicative.{u1} (OrderDual.{u1} Γ₀)) _inst_1 (instLinearOrderedCommMonoidWithZeroMultiplicativeOrderDual.{u1} Γ₀ _inst_2) v)) (Ideal.Quotient.commRing.{u2} R _inst_1 (Valuation.supp.{u2, u1} R (Multiplicative.{u1} (OrderDual.{u1} Γ₀)) _inst_1 (instLinearOrderedCommMonoidWithZeroMultiplicativeOrderDual.{u1} Γ₀ _inst_2) v))))) (CommMonoidWithZero.toZero.{u2} (Ideal.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) (Valuation.supp.{u2, u1} R (Multiplicative.{u1} (OrderDual.{u1} Γ₀)) _inst_1 (instLinearOrderedCommMonoidWithZeroMultiplicativeOrderDual.{u1} Γ₀ _inst_2) v)) (CommSemiring.toSemiring.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) (Valuation.supp.{u2, u1} R (Multiplicative.{u1} (OrderDual.{u1} Γ₀)) _inst_1 (instLinearOrderedCommMonoidWithZeroMultiplicativeOrderDual.{u1} Γ₀ _inst_2) v)) (CommRing.toCommSemiring.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) (Valuation.supp.{u2, u1} R (Multiplicative.{u1} (OrderDual.{u1} Γ₀)) _inst_1 (instLinearOrderedCommMonoidWithZeroMultiplicativeOrderDual.{u1} Γ₀ _inst_2) v)) (Ideal.Quotient.commRing.{u2} R _inst_1 (Valuation.supp.{u2, u1} R (Multiplicative.{u1} (OrderDual.{u1} Γ₀)) _inst_1 (instLinearOrderedCommMonoidWithZeroMultiplicativeOrderDual.{u1} Γ₀ _inst_2) v))))) (CommSemiring.toCommMonoidWithZero.{u2} (Ideal.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) (Valuation.supp.{u2, u1} R (Multiplicative.{u1} (OrderDual.{u1} Γ₀)) _inst_1 (instLinearOrderedCommMonoidWithZeroMultiplicativeOrderDual.{u1} Γ₀ _inst_2) v)) (CommSemiring.toSemiring.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) (Valuation.supp.{u2, u1} R (Multiplicative.{u1} (OrderDual.{u1} Γ₀)) _inst_1 (instLinearOrderedCommMonoidWithZeroMultiplicativeOrderDual.{u1} Γ₀ _inst_2) v)) (CommRing.toCommSemiring.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) (Valuation.supp.{u2, u1} R (Multiplicative.{u1} (OrderDual.{u1} Γ₀)) _inst_1 (instLinearOrderedCommMonoidWithZeroMultiplicativeOrderDual.{u1} Γ₀ _inst_2) v)) (Ideal.Quotient.commRing.{u2} R _inst_1 (Valuation.supp.{u2, u1} R (Multiplicative.{u1} (OrderDual.{u1} Γ₀)) _inst_1 (instLinearOrderedCommMonoidWithZeroMultiplicativeOrderDual.{u1} Γ₀ _inst_2) v))))) (IdemCommSemiring.toCommSemiring.{u2} (Ideal.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) (Valuation.supp.{u2, u1} R (Multiplicative.{u1} (OrderDual.{u1} Γ₀)) _inst_1 (instLinearOrderedCommMonoidWithZeroMultiplicativeOrderDual.{u1} Γ₀ _inst_2) v)) (CommSemiring.toSemiring.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) (Valuation.supp.{u2, u1} R (Multiplicative.{u1} (OrderDual.{u1} Γ₀)) _inst_1 (instLinearOrderedCommMonoidWithZeroMultiplicativeOrderDual.{u1} Γ₀ _inst_2) v)) (CommRing.toCommSemiring.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) (Valuation.supp.{u2, u1} R (Multiplicative.{u1} (OrderDual.{u1} Γ₀)) _inst_1 (instLinearOrderedCommMonoidWithZeroMultiplicativeOrderDual.{u1} Γ₀ _inst_2) v)) (Ideal.Quotient.commRing.{u2} R _inst_1 (Valuation.supp.{u2, u1} R (Multiplicative.{u1} (OrderDual.{u1} Γ₀)) _inst_1 (instLinearOrderedCommMonoidWithZeroMultiplicativeOrderDual.{u1} Γ₀ _inst_2) v))))) (Ideal.instIdemCommSemiringIdealToSemiring.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) (Valuation.supp.{u2, u1} R (Multiplicative.{u1} (OrderDual.{u1} Γ₀)) _inst_1 (instLinearOrderedCommMonoidWithZeroMultiplicativeOrderDual.{u1} Γ₀ _inst_2) v)) (CommRing.toCommSemiring.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) (Valuation.supp.{u2, u1} R (Multiplicative.{u1} (OrderDual.{u1} Γ₀)) _inst_1 (instLinearOrderedCommMonoidWithZeroMultiplicativeOrderDual.{u1} Γ₀ _inst_2) v)) (Ideal.Quotient.commRing.{u2} R _inst_1 (Valuation.supp.{u2, u1} R (Multiplicative.{u1} (OrderDual.{u1} Γ₀)) _inst_1 (instLinearOrderedCommMonoidWithZeroMultiplicativeOrderDual.{u1} Γ₀ _inst_2) v)))))))))
+<too large>
 Case conversion may be inaccurate. Consider using '#align add_valuation.supp_quot_supp AddValuation.supp_quot_suppₓ'. -/
 theorem supp_quot_supp : supp (v.onQuot le_rfl) = 0 :=
   v.supp_quot_supp
Diff
@@ -30,7 +30,12 @@ variable {R Γ₀ : Type _} [CommRing R] [LinearOrderedCommMonoidWithZero Γ₀]
 
 variable (v : Valuation R Γ₀)
 
-#print Valuation.onQuotVal /-
+/- warning: valuation.on_quot_val -> Valuation.onQuotVal is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {Γ₀ : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : LinearOrderedCommMonoidWithZero.{u2} Γ₀] (v : Valuation.{u1, u2} R Γ₀ _inst_2 (CommRing.toRing.{u1} R _inst_1)) {J : Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))}, (LE.le.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Preorder.toHasLe.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))))) J (Valuation.supp.{u1, u2} R Γ₀ _inst_1 _inst_2 v)) -> (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) -> Γ₀
+but is expected to have type
+  forall {R : Type.{u1}} {Γ₀ : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : LinearOrderedCommMonoidWithZero.{u2} Γ₀] (v : Valuation.{u1, u2} R Γ₀ _inst_2 (CommRing.toRing.{u1} R _inst_1)) {J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))}, (LE.le.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Preorder.toLE.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Submodule.completeLattice.{u1, u1} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) J (Valuation.supp.{u1, u2} R Γ₀ _inst_1 _inst_2 v)) -> (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_1) J) -> Γ₀
+Case conversion may be inaccurate. Consider using '#align valuation.on_quot_val Valuation.onQuotValₓ'. -/
 /-- If `hJ : J ⊆ supp v` then `on_quot_val hJ` is the induced function on R/J as a function.
 Note: it's just the function; the valuation is `on_quot hJ`. -/
 def onQuotVal {J : Ideal R} (hJ : J ≤ supp v) : R ⧸ J → Γ₀ := fun q =>
@@ -41,9 +46,13 @@ def onQuotVal {J : Ideal R} (hJ : J ≤ supp v) : R ⧸ J → Γ₀ := fun q =>
         v.map_add_supp b <| (Ideal.neg_mem_iff _).2 <| hJ <| QuotientAddGroup.leftRel_apply.mp h
       
 #align valuation.on_quot_val Valuation.onQuotVal
--/
 
-#print Valuation.onQuot /-
+/- warning: valuation.on_quot -> Valuation.onQuot is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {Γ₀ : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : LinearOrderedCommMonoidWithZero.{u2} Γ₀] (v : Valuation.{u1, u2} R Γ₀ _inst_2 (CommRing.toRing.{u1} R _inst_1)) {J : Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))}, (LE.le.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Preorder.toHasLe.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))))) J (Valuation.supp.{u1, u2} R Γ₀ _inst_1 _inst_2 v)) -> (Valuation.{u1, u2} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) Γ₀ _inst_2 (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (Ideal.Quotient.commRing.{u1} R _inst_1 J)))
+but is expected to have type
+  forall {R : Type.{u1}} {Γ₀ : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : LinearOrderedCommMonoidWithZero.{u2} Γ₀] (v : Valuation.{u1, u2} R Γ₀ _inst_2 (CommRing.toRing.{u1} R _inst_1)) {J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))}, (LE.le.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Preorder.toLE.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Submodule.completeLattice.{u1, u1} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) J (Valuation.supp.{u1, u2} R Γ₀ _inst_1 _inst_2 v)) -> (Valuation.{u1, u2} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_1) J) Γ₀ _inst_2 (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_1) J) (Ideal.Quotient.commRing.{u1} R _inst_1 J)))
+Case conversion may be inaccurate. Consider using '#align valuation.on_quot Valuation.onQuotₓ'. -/
 /-- The extension of valuation v on R to valuation on R/J if J ⊆ supp v -/
 def onQuot {J : Ideal R} (hJ : J ≤ supp v) : Valuation (R ⧸ J) Γ₀
     where
@@ -53,11 +62,10 @@ def onQuot {J : Ideal R} (hJ : J ≤ supp v) : Valuation (R ⧸ J) Γ₀
   map_mul' xbar ybar := Quotient.ind₂' v.map_mul xbar ybar
   map_add_le_max' xbar ybar := Quotient.ind₂' v.map_add xbar ybar
 #align valuation.on_quot Valuation.onQuot
--/
 
 /- warning: valuation.on_quot_comap_eq -> Valuation.onQuot_comap_eq is a dubious translation:
 lean 3 declaration is
-  forall {R : Type.{u1}} {Γ₀ : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : LinearOrderedCommMonoidWithZero.{u2} Γ₀] (v : Valuation.{u1, u2} R Γ₀ _inst_2 (CommRing.toRing.{u1} R _inst_1)) {J : Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))} (hJ : LE.le.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Preorder.toLE.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))))) J (Valuation.supp.{u1, u2} R Γ₀ _inst_1 _inst_2 v)), Eq.{max (succ u1) (succ u2)} (Valuation.{u1, u2} R Γ₀ _inst_2 (CommRing.toRing.{u1} R _inst_1)) (Valuation.comap.{u1, u2, u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) Γ₀ (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (Ideal.Quotient.commRing.{u1} R _inst_1 J)) _inst_2 R (CommRing.toRing.{u1} R _inst_1) (Ideal.Quotient.mk.{u1} R _inst_1 J) (Valuation.onQuot.{u1, u2} R Γ₀ _inst_1 _inst_2 v J hJ)) v
+  forall {R : Type.{u1}} {Γ₀ : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : LinearOrderedCommMonoidWithZero.{u2} Γ₀] (v : Valuation.{u1, u2} R Γ₀ _inst_2 (CommRing.toRing.{u1} R _inst_1)) {J : Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))} (hJ : LE.le.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Preorder.toHasLe.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))))) J (Valuation.supp.{u1, u2} R Γ₀ _inst_1 _inst_2 v)), Eq.{max (succ u1) (succ u2)} (Valuation.{u1, u2} R Γ₀ _inst_2 (CommRing.toRing.{u1} R _inst_1)) (Valuation.comap.{u1, u2, u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) Γ₀ (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (Ideal.Quotient.commRing.{u1} R _inst_1 J)) _inst_2 R (CommRing.toRing.{u1} R _inst_1) (Ideal.Quotient.mk.{u1} R _inst_1 J) (Valuation.onQuot.{u1, u2} R Γ₀ _inst_1 _inst_2 v J hJ)) v
 but is expected to have type
   forall {R : Type.{u2}} {Γ₀ : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : LinearOrderedCommMonoidWithZero.{u1} Γ₀] (v : Valuation.{u2, u1} R Γ₀ _inst_2 (CommRing.toRing.{u2} R _inst_1)) {J : Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))} (hJ : LE.le.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Preorder.toLE.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (PartialOrder.toPreorder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Submodule.completeLattice.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))))) J (Valuation.supp.{u2, u1} R Γ₀ _inst_1 _inst_2 v)), Eq.{max (succ u2) (succ u1)} (Valuation.{u2, u1} R Γ₀ _inst_2 (CommRing.toRing.{u2} R _inst_1)) (Valuation.comap.{u2, u1, u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) J) Γ₀ (CommRing.toRing.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) J) (Ideal.Quotient.commRing.{u2} R _inst_1 J)) _inst_2 R (CommRing.toRing.{u2} R _inst_1) (Ideal.Quotient.mk.{u2} R _inst_1 J) (Valuation.onQuot.{u2, u1} R Γ₀ _inst_1 _inst_2 v J hJ)) v
 Case conversion may be inaccurate. Consider using '#align valuation.on_quot_comap_eq Valuation.onQuot_comap_eqₓ'. -/
@@ -69,7 +77,7 @@ theorem onQuot_comap_eq {J : Ideal R} (hJ : J ≤ supp v) :
 
 /- warning: valuation.self_le_supp_comap -> Valuation.self_le_supp_comap is a dubious translation:
 lean 3 declaration is
-  forall {R : Type.{u1}} {Γ₀ : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : LinearOrderedCommMonoidWithZero.{u2} Γ₀] (J : Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (v : Valuation.{u1, u2} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) Γ₀ _inst_2 (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (Ideal.Quotient.commRing.{u1} R _inst_1 J))), LE.le.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Preorder.toLE.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))))) J (Valuation.supp.{u1, u2} R Γ₀ _inst_1 _inst_2 (Valuation.comap.{u1, u2, u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) Γ₀ (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (Ideal.Quotient.commRing.{u1} R _inst_1 J)) _inst_2 R (CommRing.toRing.{u1} R _inst_1) (Ideal.Quotient.mk.{u1} R _inst_1 J) v))
+  forall {R : Type.{u1}} {Γ₀ : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : LinearOrderedCommMonoidWithZero.{u2} Γ₀] (J : Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (v : Valuation.{u1, u2} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) Γ₀ _inst_2 (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (Ideal.Quotient.commRing.{u1} R _inst_1 J))), LE.le.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Preorder.toHasLe.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))))) J (Valuation.supp.{u1, u2} R Γ₀ _inst_1 _inst_2 (Valuation.comap.{u1, u2, u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) Γ₀ (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (Ideal.Quotient.commRing.{u1} R _inst_1 J)) _inst_2 R (CommRing.toRing.{u1} R _inst_1) (Ideal.Quotient.mk.{u1} R _inst_1 J) v))
 but is expected to have type
   forall {R : Type.{u2}} {Γ₀ : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : LinearOrderedCommMonoidWithZero.{u1} Γ₀] (J : Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (v : Valuation.{u2, u1} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) J) Γ₀ _inst_2 (CommRing.toRing.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) J) (Ideal.Quotient.commRing.{u2} R _inst_1 J))), LE.le.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Preorder.toLE.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (PartialOrder.toPreorder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Submodule.completeLattice.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))))) J (Valuation.supp.{u2, u1} R Γ₀ _inst_1 _inst_2 (Valuation.comap.{u2, u1, u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) J) Γ₀ (CommRing.toRing.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) J) (Ideal.Quotient.commRing.{u2} R _inst_1 J)) _inst_2 R (CommRing.toRing.{u2} R _inst_1) (Ideal.Quotient.mk.{u2} R _inst_1 J) v))
 Case conversion may be inaccurate. Consider using '#align valuation.self_le_supp_comap Valuation.self_le_supp_comapₓ'. -/
@@ -96,7 +104,7 @@ theorem comap_onQuot_eq (J : Ideal R) (v : Valuation (R ⧸ J) Γ₀) :
 
 /- warning: valuation.supp_quot -> Valuation.supp_quot is a dubious translation:
 lean 3 declaration is
-  forall {R : Type.{u1}} {Γ₀ : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : LinearOrderedCommMonoidWithZero.{u2} Γ₀] (v : Valuation.{u1, u2} R Γ₀ _inst_2 (CommRing.toRing.{u1} R _inst_1)) {J : Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))} (hJ : LE.le.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Preorder.toLE.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))))) J (Valuation.supp.{u1, u2} R Γ₀ _inst_1 _inst_2 v)), Eq.{succ u1} (Ideal.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (Ring.toSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (Ideal.Quotient.commRing.{u1} R _inst_1 J)))) (Valuation.supp.{u1, u2} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) Γ₀ (Ideal.Quotient.commRing.{u1} R _inst_1 J) _inst_2 (Valuation.onQuot.{u1, u2} R Γ₀ _inst_1 _inst_2 v J hJ)) (Ideal.map.{u1, u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (RingHom.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (Ring.toNonAssocRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (Ideal.Quotient.commRing.{u1} R _inst_1 J))))) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (Ideal.Quotient.commRing.{u1} R _inst_1 J))) (RingHom.ringHomClass.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (Ring.toNonAssocRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (Ideal.Quotient.commRing.{u1} R _inst_1 J))))) (Ideal.Quotient.mk.{u1} R _inst_1 J) (Valuation.supp.{u1, u2} R Γ₀ _inst_1 _inst_2 v))
+  forall {R : Type.{u1}} {Γ₀ : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : LinearOrderedCommMonoidWithZero.{u2} Γ₀] (v : Valuation.{u1, u2} R Γ₀ _inst_2 (CommRing.toRing.{u1} R _inst_1)) {J : Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))} (hJ : LE.le.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Preorder.toHasLe.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))))) J (Valuation.supp.{u1, u2} R Γ₀ _inst_1 _inst_2 v)), Eq.{succ u1} (Ideal.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (Ring.toSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (Ideal.Quotient.commRing.{u1} R _inst_1 J)))) (Valuation.supp.{u1, u2} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) Γ₀ (Ideal.Quotient.commRing.{u1} R _inst_1 J) _inst_2 (Valuation.onQuot.{u1, u2} R Γ₀ _inst_1 _inst_2 v J hJ)) (Ideal.map.{u1, u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (RingHom.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (Ring.toNonAssocRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (Ideal.Quotient.commRing.{u1} R _inst_1 J))))) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (Ideal.Quotient.commRing.{u1} R _inst_1 J))) (RingHom.ringHomClass.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (Ring.toNonAssocRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (Ideal.Quotient.commRing.{u1} R _inst_1 J))))) (Ideal.Quotient.mk.{u1} R _inst_1 J) (Valuation.supp.{u1, u2} R Γ₀ _inst_1 _inst_2 v))
 but is expected to have type
   forall {R : Type.{u2}} {Γ₀ : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : LinearOrderedCommMonoidWithZero.{u1} Γ₀] (v : Valuation.{u2, u1} R Γ₀ _inst_2 (CommRing.toRing.{u2} R _inst_1)) {J : Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))} (hJ : LE.le.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Preorder.toLE.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (PartialOrder.toPreorder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Submodule.completeLattice.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))))) J (Valuation.supp.{u2, u1} R Γ₀ _inst_1 _inst_2 v)), Eq.{succ u2} (Ideal.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) J) (CommSemiring.toSemiring.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) J) (CommRing.toCommSemiring.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) J) (Ideal.Quotient.commRing.{u2} R _inst_1 J)))) (Valuation.supp.{u2, u1} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) J) Γ₀ (Ideal.Quotient.commRing.{u2} R _inst_1 J) _inst_2 (Valuation.onQuot.{u2, u1} R Γ₀ _inst_1 _inst_2 v J hJ)) (Ideal.map.{u2, u2, u2} R (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) J) (RingHom.{u2, u2} R (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) J) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) J) (CommSemiring.toSemiring.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) J) (CommRing.toCommSemiring.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) J) (Ideal.Quotient.commRing.{u2} R _inst_1 J))))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) J) (CommRing.toCommSemiring.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) J) (Ideal.Quotient.commRing.{u2} R _inst_1 J))) (RingHom.instRingHomClassRingHom.{u2, u2} R (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) J) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) J) (CommSemiring.toSemiring.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) J) (CommRing.toCommSemiring.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) J) (Ideal.Quotient.commRing.{u2} R _inst_1 J))))) (Ideal.Quotient.mk.{u2} R _inst_1 J) (Valuation.supp.{u2, u1} R Γ₀ _inst_1 _inst_2 v))
 Case conversion may be inaccurate. Consider using '#align valuation.supp_quot Valuation.supp_quotₓ'. -/
@@ -137,24 +145,32 @@ variable (v : AddValuation R Γ₀)
 
 attribute [local reducible] AddValuation
 
-#print AddValuation.onQuotVal /-
+/- warning: add_valuation.on_quot_val -> AddValuation.onQuotVal is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {Γ₀ : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : LinearOrderedAddCommMonoidWithTop.{u2} Γ₀] (v : AddValuation.{u1, u2} R (CommRing.toRing.{u1} R _inst_1) Γ₀ _inst_2) {J : Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))}, (LE.le.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Preorder.toHasLe.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))))) J (AddValuation.supp.{u1, u2} R Γ₀ _inst_2 _inst_1 v)) -> (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) -> Γ₀
+but is expected to have type
+  forall {R : Type.{u1}} {Γ₀ : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : LinearOrderedAddCommMonoidWithTop.{u2} Γ₀] (v : AddValuation.{u1, u2} R (CommRing.toRing.{u1} R _inst_1) Γ₀ _inst_2) {J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))}, (LE.le.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Preorder.toLE.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Submodule.completeLattice.{u1, u1} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) J (AddValuation.supp.{u1, u2} R Γ₀ _inst_2 _inst_1 v)) -> (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_1) J) -> Γ₀
+Case conversion may be inaccurate. Consider using '#align add_valuation.on_quot_val AddValuation.onQuotValₓ'. -/
 /-- If `hJ : J ⊆ supp v` then `on_quot_val hJ` is the induced function on R/J as a function.
 Note: it's just the function; the valuation is `on_quot hJ`. -/
 def onQuotVal {J : Ideal R} (hJ : J ≤ supp v) : R ⧸ J → Γ₀ :=
   v.onQuotVal hJ
 #align add_valuation.on_quot_val AddValuation.onQuotVal
--/
 
-#print AddValuation.onQuot /-
+/- warning: add_valuation.on_quot -> AddValuation.onQuot is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {Γ₀ : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : LinearOrderedAddCommMonoidWithTop.{u2} Γ₀] (v : AddValuation.{u1, u2} R (CommRing.toRing.{u1} R _inst_1) Γ₀ _inst_2) {J : Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))}, (LE.le.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Preorder.toHasLe.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))))) J (AddValuation.supp.{u1, u2} R Γ₀ _inst_2 _inst_1 v)) -> (AddValuation.{u1, u2} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (Ideal.Quotient.commRing.{u1} R _inst_1 J)) Γ₀ _inst_2)
+but is expected to have type
+  forall {R : Type.{u1}} {Γ₀ : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : LinearOrderedAddCommMonoidWithTop.{u2} Γ₀] (v : AddValuation.{u1, u2} R (CommRing.toRing.{u1} R _inst_1) Γ₀ _inst_2) {J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))}, (LE.le.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Preorder.toLE.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Submodule.completeLattice.{u1, u1} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) J (AddValuation.supp.{u1, u2} R Γ₀ _inst_2 _inst_1 v)) -> (AddValuation.{u1, u2} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_1) J) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_1) J) (Ideal.Quotient.commRing.{u1} R _inst_1 J)) Γ₀ _inst_2)
+Case conversion may be inaccurate. Consider using '#align add_valuation.on_quot AddValuation.onQuotₓ'. -/
 /-- The extension of valuation v on R to valuation on R/J if J ⊆ supp v -/
 def onQuot {J : Ideal R} (hJ : J ≤ supp v) : AddValuation (R ⧸ J) Γ₀ :=
   v.onQuot hJ
 #align add_valuation.on_quot AddValuation.onQuot
--/
 
 /- warning: add_valuation.on_quot_comap_eq -> AddValuation.onQuot_comap_eq is a dubious translation:
 lean 3 declaration is
-  forall {R : Type.{u1}} {Γ₀ : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : LinearOrderedAddCommMonoidWithTop.{u2} Γ₀] (v : AddValuation.{u1, u2} R (CommRing.toRing.{u1} R _inst_1) Γ₀ _inst_2) {J : Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))} (hJ : LE.le.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Preorder.toLE.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))))) J (AddValuation.supp.{u1, u2} R Γ₀ _inst_2 _inst_1 v)), Eq.{max (succ u1) (succ u2)} (AddValuation.{u1, u2} R (CommRing.toRing.{u1} R _inst_1) Γ₀ _inst_2) (AddValuation.comap.{u1, u2, u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) Γ₀ _inst_2 (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (Ideal.Quotient.commRing.{u1} R _inst_1 J)) R (CommRing.toRing.{u1} R _inst_1) (Ideal.Quotient.mk.{u1} R _inst_1 J) (AddValuation.onQuot.{u1, u2} R Γ₀ _inst_1 _inst_2 v J hJ)) v
+  forall {R : Type.{u1}} {Γ₀ : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : LinearOrderedAddCommMonoidWithTop.{u2} Γ₀] (v : AddValuation.{u1, u2} R (CommRing.toRing.{u1} R _inst_1) Γ₀ _inst_2) {J : Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))} (hJ : LE.le.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Preorder.toHasLe.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))))) J (AddValuation.supp.{u1, u2} R Γ₀ _inst_2 _inst_1 v)), Eq.{max (succ u1) (succ u2)} (AddValuation.{u1, u2} R (CommRing.toRing.{u1} R _inst_1) Γ₀ _inst_2) (AddValuation.comap.{u1, u2, u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) Γ₀ _inst_2 (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (Ideal.Quotient.commRing.{u1} R _inst_1 J)) R (CommRing.toRing.{u1} R _inst_1) (Ideal.Quotient.mk.{u1} R _inst_1 J) (AddValuation.onQuot.{u1, u2} R Γ₀ _inst_1 _inst_2 v J hJ)) v
 but is expected to have type
   forall {R : Type.{u2}} {Γ₀ : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : LinearOrderedAddCommMonoidWithTop.{u1} Γ₀] (v : AddValuation.{u2, u1} R (CommRing.toRing.{u2} R _inst_1) Γ₀ _inst_2) {J : Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))} (hJ : LE.le.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Preorder.toLE.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (PartialOrder.toPreorder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Submodule.completeLattice.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))))) J (AddValuation.supp.{u2, u1} R Γ₀ _inst_2 _inst_1 v)), Eq.{max (succ u2) (succ u1)} (AddValuation.{u2, u1} R (CommRing.toRing.{u2} R _inst_1) Γ₀ _inst_2) (AddValuation.comap.{u2, u1, u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) J) Γ₀ (CommRing.toRing.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) J) (Ideal.Quotient.commRing.{u2} R _inst_1 J)) _inst_2 R (CommRing.toRing.{u2} R _inst_1) (Ideal.Quotient.mk.{u2} R _inst_1 J) (AddValuation.onQuot.{u2, u1} R Γ₀ _inst_1 _inst_2 v J hJ)) v
 Case conversion may be inaccurate. Consider using '#align add_valuation.on_quot_comap_eq AddValuation.onQuot_comap_eqₓ'. -/
@@ -177,7 +193,7 @@ theorem comap_supp {S : Type _} [CommRing S] (f : S →+* R) :
 
 /- warning: add_valuation.self_le_supp_comap -> AddValuation.self_le_supp_comap is a dubious translation:
 lean 3 declaration is
-  forall {R : Type.{u1}} {Γ₀ : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : LinearOrderedAddCommMonoidWithTop.{u2} Γ₀] (J : Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (v : AddValuation.{u1, u2} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (Ideal.Quotient.commRing.{u1} R _inst_1 J)) Γ₀ _inst_2), LE.le.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Preorder.toLE.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))))) J (AddValuation.supp.{u1, u2} R Γ₀ _inst_2 _inst_1 (AddValuation.comap.{u1, u2, u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) Γ₀ _inst_2 (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (Ideal.Quotient.commRing.{u1} R _inst_1 J)) R (CommRing.toRing.{u1} R _inst_1) (Ideal.Quotient.mk.{u1} R _inst_1 J) v))
+  forall {R : Type.{u1}} {Γ₀ : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : LinearOrderedAddCommMonoidWithTop.{u2} Γ₀] (J : Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (v : AddValuation.{u1, u2} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (Ideal.Quotient.commRing.{u1} R _inst_1 J)) Γ₀ _inst_2), LE.le.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Preorder.toHasLe.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))))) J (AddValuation.supp.{u1, u2} R Γ₀ _inst_2 _inst_1 (AddValuation.comap.{u1, u2, u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) Γ₀ _inst_2 (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (Ideal.Quotient.commRing.{u1} R _inst_1 J)) R (CommRing.toRing.{u1} R _inst_1) (Ideal.Quotient.mk.{u1} R _inst_1 J) v))
 but is expected to have type
   forall {R : Type.{u2}} {Γ₀ : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : LinearOrderedAddCommMonoidWithTop.{u1} Γ₀] (J : Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (v : AddValuation.{u2, u1} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) J) (CommRing.toRing.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) J) (Ideal.Quotient.commRing.{u2} R _inst_1 J)) Γ₀ _inst_2), LE.le.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Preorder.toLE.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (PartialOrder.toPreorder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Submodule.completeLattice.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))))) J (AddValuation.supp.{u2, u1} R Γ₀ _inst_2 _inst_1 (AddValuation.comap.{u2, u1, u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) J) Γ₀ (CommRing.toRing.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) J) (Ideal.Quotient.commRing.{u2} R _inst_1 J)) _inst_2 R (CommRing.toRing.{u2} R _inst_1) (Ideal.Quotient.mk.{u2} R _inst_1 J) v))
 Case conversion may be inaccurate. Consider using '#align add_valuation.self_le_supp_comap AddValuation.self_le_supp_comapₓ'. -/
@@ -200,7 +216,7 @@ theorem comap_onQuot_eq (J : Ideal R) (v : AddValuation (R ⧸ J) Γ₀) :
 
 /- warning: add_valuation.supp_quot -> AddValuation.supp_quot is a dubious translation:
 lean 3 declaration is
-  forall {R : Type.{u1}} {Γ₀ : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : LinearOrderedAddCommMonoidWithTop.{u2} Γ₀] (v : AddValuation.{u1, u2} R (CommRing.toRing.{u1} R _inst_1) Γ₀ _inst_2) {J : Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))} (hJ : LE.le.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Preorder.toLE.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))))) J (AddValuation.supp.{u1, u2} R Γ₀ _inst_2 _inst_1 v)), Eq.{succ u1} (Ideal.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (Ring.toSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (Ideal.Quotient.commRing.{u1} R _inst_1 J)))) (AddValuation.supp.{u1, u2} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) Γ₀ _inst_2 (Ideal.Quotient.commRing.{u1} R _inst_1 J) (AddValuation.onQuot.{u1, u2} R Γ₀ _inst_1 _inst_2 v J hJ)) (Ideal.map.{u1, u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (RingHom.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (Ring.toNonAssocRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (Ideal.Quotient.commRing.{u1} R _inst_1 J))))) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (Ideal.Quotient.commRing.{u1} R _inst_1 J))) (RingHom.ringHomClass.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (Ring.toNonAssocRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (Ideal.Quotient.commRing.{u1} R _inst_1 J))))) (Ideal.Quotient.mk.{u1} R _inst_1 J) (AddValuation.supp.{u1, u2} R Γ₀ _inst_2 _inst_1 v))
+  forall {R : Type.{u1}} {Γ₀ : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : LinearOrderedAddCommMonoidWithTop.{u2} Γ₀] (v : AddValuation.{u1, u2} R (CommRing.toRing.{u1} R _inst_1) Γ₀ _inst_2) {J : Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))} (hJ : LE.le.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Preorder.toHasLe.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))))) J (AddValuation.supp.{u1, u2} R Γ₀ _inst_2 _inst_1 v)), Eq.{succ u1} (Ideal.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (Ring.toSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (Ideal.Quotient.commRing.{u1} R _inst_1 J)))) (AddValuation.supp.{u1, u2} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) Γ₀ _inst_2 (Ideal.Quotient.commRing.{u1} R _inst_1 J) (AddValuation.onQuot.{u1, u2} R Γ₀ _inst_1 _inst_2 v J hJ)) (Ideal.map.{u1, u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (RingHom.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (Ring.toNonAssocRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (Ideal.Quotient.commRing.{u1} R _inst_1 J))))) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (Ideal.Quotient.commRing.{u1} R _inst_1 J))) (RingHom.ringHomClass.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (Ring.toNonAssocRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (Ideal.Quotient.commRing.{u1} R _inst_1 J))))) (Ideal.Quotient.mk.{u1} R _inst_1 J) (AddValuation.supp.{u1, u2} R Γ₀ _inst_2 _inst_1 v))
 but is expected to have type
   forall {R : Type.{u2}} {Γ₀ : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : LinearOrderedAddCommMonoidWithTop.{u1} Γ₀] (v : AddValuation.{u2, u1} R (CommRing.toRing.{u2} R _inst_1) Γ₀ _inst_2) {J : Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))} (hJ : LE.le.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Preorder.toLE.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (PartialOrder.toPreorder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Submodule.completeLattice.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))))) J (AddValuation.supp.{u2, u1} R Γ₀ _inst_2 _inst_1 v)), Eq.{succ u2} (Ideal.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) J) (CommSemiring.toSemiring.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) J) (CommRing.toCommSemiring.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) J) (Ideal.Quotient.commRing.{u2} R _inst_1 J)))) (AddValuation.supp.{u2, u1} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) J) Γ₀ _inst_2 (Ideal.Quotient.commRing.{u2} R _inst_1 J) (AddValuation.onQuot.{u2, u1} R Γ₀ _inst_1 _inst_2 v J hJ)) (Ideal.map.{u2, u2, u2} R (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) J) (RingHom.{u2, u2} R (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) J) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) J) (CommSemiring.toSemiring.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) J) (CommRing.toCommSemiring.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) J) (Ideal.Quotient.commRing.{u2} R _inst_1 J))))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) J) (CommRing.toCommSemiring.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) J) (Ideal.Quotient.commRing.{u2} R _inst_1 J))) (RingHom.instRingHomClassRingHom.{u2, u2} R (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) J) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) J) (CommSemiring.toSemiring.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) J) (CommRing.toCommSemiring.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) J) (Ideal.Quotient.commRing.{u2} R _inst_1 J))))) (Ideal.Quotient.mk.{u2} R _inst_1 J) (AddValuation.supp.{u2, u1} R Γ₀ _inst_2 _inst_1 v))
 Case conversion may be inaccurate. Consider using '#align add_valuation.supp_quot AddValuation.supp_quotₓ'. -/
Diff
@@ -59,7 +59,7 @@ def onQuot {J : Ideal R} (hJ : J ≤ supp v) : Valuation (R ⧸ J) Γ₀
 lean 3 declaration is
   forall {R : Type.{u1}} {Γ₀ : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : LinearOrderedCommMonoidWithZero.{u2} Γ₀] (v : Valuation.{u1, u2} R Γ₀ _inst_2 (CommRing.toRing.{u1} R _inst_1)) {J : Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))} (hJ : LE.le.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Preorder.toLE.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))))) J (Valuation.supp.{u1, u2} R Γ₀ _inst_1 _inst_2 v)), Eq.{max (succ u1) (succ u2)} (Valuation.{u1, u2} R Γ₀ _inst_2 (CommRing.toRing.{u1} R _inst_1)) (Valuation.comap.{u1, u2, u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) Γ₀ (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (Ideal.Quotient.commRing.{u1} R _inst_1 J)) _inst_2 R (CommRing.toRing.{u1} R _inst_1) (Ideal.Quotient.mk.{u1} R _inst_1 J) (Valuation.onQuot.{u1, u2} R Γ₀ _inst_1 _inst_2 v J hJ)) v
 but is expected to have type
-  forall {R : Type.{u2}} {Γ₀ : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : LinearOrderedCommMonoidWithZero.{u1} Γ₀] (v : Valuation.{u2, u1} R Γ₀ _inst_2 (CommRing.toRing.{u2} R _inst_1)) {J : Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))} (hJ : LE.le.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Preorder.toLE.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (PartialOrder.toPreorder.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Submodule.completeLattice.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))))))) J (Valuation.supp.{u2, u1} R Γ₀ _inst_1 _inst_2 v)), Eq.{max (succ u2) (succ u1)} (Valuation.{u2, u1} R Γ₀ _inst_2 (CommRing.toRing.{u2} R _inst_1)) (Valuation.comap.{u2, u1, u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToRing.{u2} R _inst_1) J) Γ₀ (CommRing.toRing.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToRing.{u2} R _inst_1) J) (Ideal.Quotient.commRing.{u2} R _inst_1 J)) _inst_2 R (CommRing.toRing.{u2} R _inst_1) (Ideal.Quotient.mk.{u2} R _inst_1 J) (Valuation.onQuot.{u2, u1} R Γ₀ _inst_1 _inst_2 v J hJ)) v
+  forall {R : Type.{u2}} {Γ₀ : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : LinearOrderedCommMonoidWithZero.{u1} Γ₀] (v : Valuation.{u2, u1} R Γ₀ _inst_2 (CommRing.toRing.{u2} R _inst_1)) {J : Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))} (hJ : LE.le.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Preorder.toLE.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (PartialOrder.toPreorder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Submodule.completeLattice.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))))) J (Valuation.supp.{u2, u1} R Γ₀ _inst_1 _inst_2 v)), Eq.{max (succ u2) (succ u1)} (Valuation.{u2, u1} R Γ₀ _inst_2 (CommRing.toRing.{u2} R _inst_1)) (Valuation.comap.{u2, u1, u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) J) Γ₀ (CommRing.toRing.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) J) (Ideal.Quotient.commRing.{u2} R _inst_1 J)) _inst_2 R (CommRing.toRing.{u2} R _inst_1) (Ideal.Quotient.mk.{u2} R _inst_1 J) (Valuation.onQuot.{u2, u1} R Γ₀ _inst_1 _inst_2 v J hJ)) v
 Case conversion may be inaccurate. Consider using '#align valuation.on_quot_comap_eq Valuation.onQuot_comap_eqₓ'. -/
 @[simp]
 theorem onQuot_comap_eq {J : Ideal R} (hJ : J ≤ supp v) :
@@ -71,7 +71,7 @@ theorem onQuot_comap_eq {J : Ideal R} (hJ : J ≤ supp v) :
 lean 3 declaration is
   forall {R : Type.{u1}} {Γ₀ : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : LinearOrderedCommMonoidWithZero.{u2} Γ₀] (J : Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (v : Valuation.{u1, u2} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) Γ₀ _inst_2 (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (Ideal.Quotient.commRing.{u1} R _inst_1 J))), LE.le.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Preorder.toLE.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))))) J (Valuation.supp.{u1, u2} R Γ₀ _inst_1 _inst_2 (Valuation.comap.{u1, u2, u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) Γ₀ (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (Ideal.Quotient.commRing.{u1} R _inst_1 J)) _inst_2 R (CommRing.toRing.{u1} R _inst_1) (Ideal.Quotient.mk.{u1} R _inst_1 J) v))
 but is expected to have type
-  forall {R : Type.{u2}} {Γ₀ : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : LinearOrderedCommMonoidWithZero.{u1} Γ₀] (J : Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (v : Valuation.{u2, u1} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToRing.{u2} R _inst_1) J) Γ₀ _inst_2 (CommRing.toRing.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToRing.{u2} R _inst_1) J) (Ideal.Quotient.commRing.{u2} R _inst_1 J))), LE.le.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Preorder.toLE.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (PartialOrder.toPreorder.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Submodule.completeLattice.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))))))) J (Valuation.supp.{u2, u1} R Γ₀ _inst_1 _inst_2 (Valuation.comap.{u2, u1, u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToRing.{u2} R _inst_1) J) Γ₀ (CommRing.toRing.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToRing.{u2} R _inst_1) J) (Ideal.Quotient.commRing.{u2} R _inst_1 J)) _inst_2 R (CommRing.toRing.{u2} R _inst_1) (Ideal.Quotient.mk.{u2} R _inst_1 J) v))
+  forall {R : Type.{u2}} {Γ₀ : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : LinearOrderedCommMonoidWithZero.{u1} Γ₀] (J : Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (v : Valuation.{u2, u1} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) J) Γ₀ _inst_2 (CommRing.toRing.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) J) (Ideal.Quotient.commRing.{u2} R _inst_1 J))), LE.le.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Preorder.toLE.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (PartialOrder.toPreorder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Submodule.completeLattice.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))))) J (Valuation.supp.{u2, u1} R Γ₀ _inst_1 _inst_2 (Valuation.comap.{u2, u1, u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) J) Γ₀ (CommRing.toRing.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) J) (Ideal.Quotient.commRing.{u2} R _inst_1 J)) _inst_2 R (CommRing.toRing.{u2} R _inst_1) (Ideal.Quotient.mk.{u2} R _inst_1 J) v))
 Case conversion may be inaccurate. Consider using '#align valuation.self_le_supp_comap Valuation.self_le_supp_comapₓ'. -/
 theorem self_le_supp_comap (J : Ideal R) (v : Valuation (R ⧸ J) Γ₀) :
     J ≤ (v.comap (Ideal.Quotient.mk J)).supp :=
@@ -84,7 +84,7 @@ theorem self_le_supp_comap (J : Ideal R) (v : Valuation (R ⧸ J) Γ₀) :
 lean 3 declaration is
   forall {R : Type.{u1}} {Γ₀ : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : LinearOrderedCommMonoidWithZero.{u2} Γ₀] (J : Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (v : Valuation.{u1, u2} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) Γ₀ _inst_2 (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (Ideal.Quotient.commRing.{u1} R _inst_1 J))), Eq.{max (succ u1) (succ u2)} (Valuation.{u1, u2} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) Γ₀ _inst_2 (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (Ideal.Quotient.commRing.{u1} R _inst_1 J))) (Valuation.onQuot.{u1, u2} R Γ₀ _inst_1 _inst_2 (Valuation.comap.{u1, u2, u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) Γ₀ (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (Ideal.Quotient.commRing.{u1} R _inst_1 J)) _inst_2 R (CommRing.toRing.{u1} R _inst_1) (Ideal.Quotient.mk.{u1} R _inst_1 J) v) J (Valuation.self_le_supp_comap.{u1, u2} R Γ₀ _inst_1 _inst_2 J v)) v
 but is expected to have type
-  forall {R : Type.{u2}} {Γ₀ : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : LinearOrderedCommMonoidWithZero.{u1} Γ₀] (J : Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (v : Valuation.{u2, u1} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToRing.{u2} R _inst_1) J) Γ₀ _inst_2 (CommRing.toRing.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToRing.{u2} R _inst_1) J) (Ideal.Quotient.commRing.{u2} R _inst_1 J))), Eq.{max (succ u2) (succ u1)} (Valuation.{u2, u1} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToRing.{u2} R _inst_1) J) Γ₀ _inst_2 (CommRing.toRing.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToRing.{u2} R _inst_1) J) (Ideal.Quotient.commRing.{u2} R _inst_1 J))) (Valuation.onQuot.{u2, u1} R Γ₀ _inst_1 _inst_2 (Valuation.comap.{u2, u1, u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToRing.{u2} R _inst_1) J) Γ₀ (CommRing.toRing.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToRing.{u2} R _inst_1) J) (Ideal.Quotient.commRing.{u2} R _inst_1 J)) _inst_2 R (CommRing.toRing.{u2} R _inst_1) (Ideal.Quotient.mk.{u2} R _inst_1 J) v) J (Valuation.self_le_supp_comap.{u1, u2} R Γ₀ _inst_1 _inst_2 J v)) v
+  forall {R : Type.{u2}} {Γ₀ : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : LinearOrderedCommMonoidWithZero.{u1} Γ₀] (J : Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (v : Valuation.{u2, u1} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) J) Γ₀ _inst_2 (CommRing.toRing.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) J) (Ideal.Quotient.commRing.{u2} R _inst_1 J))), Eq.{max (succ u2) (succ u1)} (Valuation.{u2, u1} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) J) Γ₀ _inst_2 (CommRing.toRing.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) J) (Ideal.Quotient.commRing.{u2} R _inst_1 J))) (Valuation.onQuot.{u2, u1} R Γ₀ _inst_1 _inst_2 (Valuation.comap.{u2, u1, u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) J) Γ₀ (CommRing.toRing.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) J) (Ideal.Quotient.commRing.{u2} R _inst_1 J)) _inst_2 R (CommRing.toRing.{u2} R _inst_1) (Ideal.Quotient.mk.{u2} R _inst_1 J) v) J (Valuation.self_le_supp_comap.{u1, u2} R Γ₀ _inst_1 _inst_2 J v)) v
 Case conversion may be inaccurate. Consider using '#align valuation.comap_on_quot_eq Valuation.comap_onQuot_eqₓ'. -/
 @[simp]
 theorem comap_onQuot_eq (J : Ideal R) (v : Valuation (R ⧸ J) Γ₀) :
@@ -98,7 +98,7 @@ theorem comap_onQuot_eq (J : Ideal R) (v : Valuation (R ⧸ J) Γ₀) :
 lean 3 declaration is
   forall {R : Type.{u1}} {Γ₀ : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : LinearOrderedCommMonoidWithZero.{u2} Γ₀] (v : Valuation.{u1, u2} R Γ₀ _inst_2 (CommRing.toRing.{u1} R _inst_1)) {J : Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))} (hJ : LE.le.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Preorder.toLE.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))))) J (Valuation.supp.{u1, u2} R Γ₀ _inst_1 _inst_2 v)), Eq.{succ u1} (Ideal.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (Ring.toSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (Ideal.Quotient.commRing.{u1} R _inst_1 J)))) (Valuation.supp.{u1, u2} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) Γ₀ (Ideal.Quotient.commRing.{u1} R _inst_1 J) _inst_2 (Valuation.onQuot.{u1, u2} R Γ₀ _inst_1 _inst_2 v J hJ)) (Ideal.map.{u1, u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (RingHom.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (Ring.toNonAssocRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (Ideal.Quotient.commRing.{u1} R _inst_1 J))))) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (Ideal.Quotient.commRing.{u1} R _inst_1 J))) (RingHom.ringHomClass.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (Ring.toNonAssocRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (Ideal.Quotient.commRing.{u1} R _inst_1 J))))) (Ideal.Quotient.mk.{u1} R _inst_1 J) (Valuation.supp.{u1, u2} R Γ₀ _inst_1 _inst_2 v))
 but is expected to have type
-  forall {R : Type.{u2}} {Γ₀ : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : LinearOrderedCommMonoidWithZero.{u1} Γ₀] (v : Valuation.{u2, u1} R Γ₀ _inst_2 (CommRing.toRing.{u2} R _inst_1)) {J : Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))} (hJ : LE.le.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Preorder.toLE.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (PartialOrder.toPreorder.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Submodule.completeLattice.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))))))) J (Valuation.supp.{u2, u1} R Γ₀ _inst_1 _inst_2 v)), Eq.{succ u2} (Ideal.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToRing.{u2} R _inst_1) J) (Ring.toSemiring.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToRing.{u2} R _inst_1) J) (CommRing.toRing.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToRing.{u2} R _inst_1) J) (Ideal.Quotient.commRing.{u2} R _inst_1 J)))) (Valuation.supp.{u2, u1} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToRing.{u2} R _inst_1) J) Γ₀ (Ideal.Quotient.commRing.{u2} R _inst_1 J) _inst_2 (Valuation.onQuot.{u2, u1} R Γ₀ _inst_1 _inst_2 v J hJ)) (Ideal.map.{u2, u2, u2} R (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToRing.{u2} R _inst_1) J) (RingHom.{u2, u2} R (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToRing.{u2} R _inst_1) J) (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToRing.{u2} R _inst_1) J) (Ring.toNonAssocRing.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToRing.{u2} R _inst_1) J) (CommRing.toRing.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToRing.{u2} R _inst_1) J) (Ideal.Quotient.commRing.{u2} R _inst_1 J))))) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToRing.{u2} R _inst_1) J) (CommRing.toRing.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToRing.{u2} R _inst_1) J) (Ideal.Quotient.commRing.{u2} R _inst_1 J))) (RingHom.instRingHomClassRingHom.{u2, u2} R (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToRing.{u2} R _inst_1) J) (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToRing.{u2} R _inst_1) J) (Ring.toNonAssocRing.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToRing.{u2} R _inst_1) J) (CommRing.toRing.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToRing.{u2} R _inst_1) J) (Ideal.Quotient.commRing.{u2} R _inst_1 J))))) (Ideal.Quotient.mk.{u2} R _inst_1 J) (Valuation.supp.{u2, u1} R Γ₀ _inst_1 _inst_2 v))
+  forall {R : Type.{u2}} {Γ₀ : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : LinearOrderedCommMonoidWithZero.{u1} Γ₀] (v : Valuation.{u2, u1} R Γ₀ _inst_2 (CommRing.toRing.{u2} R _inst_1)) {J : Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))} (hJ : LE.le.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Preorder.toLE.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (PartialOrder.toPreorder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Submodule.completeLattice.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))))) J (Valuation.supp.{u2, u1} R Γ₀ _inst_1 _inst_2 v)), Eq.{succ u2} (Ideal.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) J) (CommSemiring.toSemiring.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) J) (CommRing.toCommSemiring.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) J) (Ideal.Quotient.commRing.{u2} R _inst_1 J)))) (Valuation.supp.{u2, u1} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) J) Γ₀ (Ideal.Quotient.commRing.{u2} R _inst_1 J) _inst_2 (Valuation.onQuot.{u2, u1} R Γ₀ _inst_1 _inst_2 v J hJ)) (Ideal.map.{u2, u2, u2} R (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) J) (RingHom.{u2, u2} R (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) J) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) J) (CommSemiring.toSemiring.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) J) (CommRing.toCommSemiring.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) J) (Ideal.Quotient.commRing.{u2} R _inst_1 J))))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) J) (CommRing.toCommSemiring.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) J) (Ideal.Quotient.commRing.{u2} R _inst_1 J))) (RingHom.instRingHomClassRingHom.{u2, u2} R (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) J) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) J) (CommSemiring.toSemiring.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) J) (CommRing.toCommSemiring.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) J) (Ideal.Quotient.commRing.{u2} R _inst_1 J))))) (Ideal.Quotient.mk.{u2} R _inst_1 J) (Valuation.supp.{u2, u1} R Γ₀ _inst_1 _inst_2 v))
 Case conversion may be inaccurate. Consider using '#align valuation.supp_quot Valuation.supp_quotₓ'. -/
 /-- The quotient valuation on R/J has support supp(v)/J if J ⊆ supp v. -/
 theorem supp_quot {J : Ideal R} (hJ : J ≤ supp v) :
@@ -117,7 +117,7 @@ theorem supp_quot {J : Ideal R} (hJ : J ≤ supp v) :
 lean 3 declaration is
   forall {R : Type.{u1}} {Γ₀ : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : LinearOrderedCommMonoidWithZero.{u2} Γ₀] (v : Valuation.{u1, u2} R Γ₀ _inst_2 (CommRing.toRing.{u1} R _inst_1)), Eq.{succ u1} (Ideal.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (Valuation.supp.{u1, u2} R Γ₀ _inst_1 _inst_2 v)) (Ring.toSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (Valuation.supp.{u1, u2} R Γ₀ _inst_1 _inst_2 v)) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (Valuation.supp.{u1, u2} R Γ₀ _inst_1 _inst_2 v)) (Ideal.Quotient.commRing.{u1} R _inst_1 (Valuation.supp.{u1, u2} R Γ₀ _inst_1 _inst_2 v))))) (Valuation.supp.{u1, u2} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (Valuation.supp.{u1, u2} R Γ₀ _inst_1 _inst_2 v)) Γ₀ (Ideal.Quotient.commRing.{u1} R _inst_1 (Valuation.supp.{u1, u2} R Γ₀ _inst_1 _inst_2 v)) _inst_2 (Valuation.onQuot.{u1, u2} R Γ₀ _inst_1 _inst_2 v (Valuation.supp.{u1, u2} R Γ₀ _inst_1 _inst_2 v) (le_rfl.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) (Valuation.supp.{u1, u2} R Γ₀ _inst_1 _inst_2 v)))) (OfNat.ofNat.{u1} (Ideal.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (Valuation.supp.{u1, u2} R Γ₀ _inst_1 _inst_2 v)) (Ring.toSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (Valuation.supp.{u1, u2} R Γ₀ _inst_1 _inst_2 v)) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (Valuation.supp.{u1, u2} R Γ₀ _inst_1 _inst_2 v)) (Ideal.Quotient.commRing.{u1} R _inst_1 (Valuation.supp.{u1, u2} R Γ₀ _inst_1 _inst_2 v))))) 0 (OfNat.mk.{u1} (Ideal.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (Valuation.supp.{u1, u2} R Γ₀ _inst_1 _inst_2 v)) (Ring.toSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (Valuation.supp.{u1, u2} R Γ₀ _inst_1 _inst_2 v)) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (Valuation.supp.{u1, u2} R Γ₀ _inst_1 _inst_2 v)) (Ideal.Quotient.commRing.{u1} R _inst_1 (Valuation.supp.{u1, u2} R Γ₀ _inst_1 _inst_2 v))))) 0 (Zero.zero.{u1} (Ideal.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (Valuation.supp.{u1, u2} R Γ₀ _inst_1 _inst_2 v)) (Ring.toSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (Valuation.supp.{u1, u2} R Γ₀ _inst_1 _inst_2 v)) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (Valuation.supp.{u1, u2} R Γ₀ _inst_1 _inst_2 v)) (Ideal.Quotient.commRing.{u1} R _inst_1 (Valuation.supp.{u1, u2} R Γ₀ _inst_1 _inst_2 v))))) (MulZeroClass.toHasZero.{u1} (Ideal.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (Valuation.supp.{u1, u2} R Γ₀ _inst_1 _inst_2 v)) (Ring.toSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (Valuation.supp.{u1, u2} R Γ₀ _inst_1 _inst_2 v)) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (Valuation.supp.{u1, u2} R Γ₀ _inst_1 _inst_2 v)) (Ideal.Quotient.commRing.{u1} R _inst_1 (Valuation.supp.{u1, u2} R Γ₀ _inst_1 _inst_2 v))))) (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} (Ideal.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (Valuation.supp.{u1, u2} R Γ₀ _inst_1 _inst_2 v)) (Ring.toSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (Valuation.supp.{u1, u2} R Γ₀ _inst_1 _inst_2 v)) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (Valuation.supp.{u1, u2} R Γ₀ _inst_1 _inst_2 v)) (Ideal.Quotient.commRing.{u1} R _inst_1 (Valuation.supp.{u1, u2} R Γ₀ _inst_1 _inst_2 v))))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Ideal.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (Valuation.supp.{u1, u2} R Γ₀ _inst_1 _inst_2 v)) (Ring.toSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (Valuation.supp.{u1, u2} R Γ₀ _inst_1 _inst_2 v)) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (Valuation.supp.{u1, u2} R Γ₀ _inst_1 _inst_2 v)) (Ideal.Quotient.commRing.{u1} R _inst_1 (Valuation.supp.{u1, u2} R Γ₀ _inst_1 _inst_2 v))))) (Semiring.toNonAssocSemiring.{u1} (Ideal.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (Valuation.supp.{u1, u2} R Γ₀ _inst_1 _inst_2 v)) (Ring.toSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (Valuation.supp.{u1, u2} R Γ₀ _inst_1 _inst_2 v)) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (Valuation.supp.{u1, u2} R Γ₀ _inst_1 _inst_2 v)) (Ideal.Quotient.commRing.{u1} R _inst_1 (Valuation.supp.{u1, u2} R Γ₀ _inst_1 _inst_2 v))))) (IdemSemiring.toSemiring.{u1} (Ideal.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (Valuation.supp.{u1, u2} R Γ₀ _inst_1 _inst_2 v)) (Ring.toSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (Valuation.supp.{u1, u2} R Γ₀ _inst_1 _inst_2 v)) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (Valuation.supp.{u1, u2} R Γ₀ _inst_1 _inst_2 v)) (Ideal.Quotient.commRing.{u1} R _inst_1 (Valuation.supp.{u1, u2} R Γ₀ _inst_1 _inst_2 v))))) (Submodule.idemSemiring.{u1, u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (Valuation.supp.{u1, u2} R Γ₀ _inst_1 _inst_2 v)) (CommRing.toCommSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (Valuation.supp.{u1, u2} R Γ₀ _inst_1 _inst_2 v)) (Ideal.Quotient.commRing.{u1} R _inst_1 (Valuation.supp.{u1, u2} R Γ₀ _inst_1 _inst_2 v))) (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (Valuation.supp.{u1, u2} R Γ₀ _inst_1 _inst_2 v)) (Ring.toSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (Valuation.supp.{u1, u2} R Γ₀ _inst_1 _inst_2 v)) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (Valuation.supp.{u1, u2} R Γ₀ _inst_1 _inst_2 v)) (Ideal.Quotient.commRing.{u1} R _inst_1 (Valuation.supp.{u1, u2} R Γ₀ _inst_1 _inst_2 v)))) (Algebra.id.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (Valuation.supp.{u1, u2} R Γ₀ _inst_1 _inst_2 v)) (CommRing.toCommSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (Valuation.supp.{u1, u2} R Γ₀ _inst_1 _inst_2 v)) (Ideal.Quotient.commRing.{u1} R _inst_1 (Valuation.supp.{u1, u2} R Γ₀ _inst_1 _inst_2 v)))))))))))))
 but is expected to have type
-  forall {R : Type.{u2}} {Γ₀ : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : LinearOrderedCommMonoidWithZero.{u1} Γ₀] (v : Valuation.{u2, u1} R Γ₀ _inst_2 (CommRing.toRing.{u2} R _inst_1)), Eq.{succ u2} (Ideal.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToRing.{u2} R _inst_1) (Valuation.supp.{u2, u1} R Γ₀ _inst_1 _inst_2 v)) (Ring.toSemiring.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToRing.{u2} R _inst_1) (Valuation.supp.{u2, u1} R Γ₀ _inst_1 _inst_2 v)) (CommRing.toRing.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToRing.{u2} R _inst_1) (Valuation.supp.{u2, u1} R Γ₀ _inst_1 _inst_2 v)) (Ideal.Quotient.commRing.{u2} R _inst_1 (Valuation.supp.{u2, u1} R Γ₀ _inst_1 _inst_2 v))))) (Valuation.supp.{u2, u1} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToRing.{u2} R _inst_1) (Valuation.supp.{u2, u1} R Γ₀ _inst_1 _inst_2 v)) Γ₀ (Ideal.Quotient.commRing.{u2} R _inst_1 (Valuation.supp.{u2, u1} R Γ₀ _inst_1 _inst_2 v)) _inst_2 (Valuation.onQuot.{u2, u1} R Γ₀ _inst_1 _inst_2 v (Valuation.supp.{u2, u1} R Γ₀ _inst_1 _inst_2 v) (le_rfl.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (PartialOrder.toPreorder.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Submodule.completeLattice.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))))) (Valuation.supp.{u2, u1} R Γ₀ _inst_1 _inst_2 v)))) (OfNat.ofNat.{u2} (Ideal.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToRing.{u2} R _inst_1) (Valuation.supp.{u2, u1} R Γ₀ _inst_1 _inst_2 v)) (Ring.toSemiring.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToRing.{u2} R _inst_1) (Valuation.supp.{u2, u1} R Γ₀ _inst_1 _inst_2 v)) (CommRing.toRing.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToRing.{u2} R _inst_1) (Valuation.supp.{u2, u1} R Γ₀ _inst_1 _inst_2 v)) (Ideal.Quotient.commRing.{u2} R _inst_1 (Valuation.supp.{u2, u1} R Γ₀ _inst_1 _inst_2 v))))) 0 (Zero.toOfNat0.{u2} (Ideal.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToRing.{u2} R _inst_1) (Valuation.supp.{u2, u1} R Γ₀ _inst_1 _inst_2 v)) (Ring.toSemiring.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToRing.{u2} R _inst_1) (Valuation.supp.{u2, u1} R Γ₀ _inst_1 _inst_2 v)) (CommRing.toRing.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToRing.{u2} R _inst_1) (Valuation.supp.{u2, u1} R Γ₀ _inst_1 _inst_2 v)) (Ideal.Quotient.commRing.{u2} R _inst_1 (Valuation.supp.{u2, u1} R Γ₀ _inst_1 _inst_2 v))))) (CommMonoidWithZero.toZero.{u2} (Ideal.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToRing.{u2} R _inst_1) (Valuation.supp.{u2, u1} R Γ₀ _inst_1 _inst_2 v)) (Ring.toSemiring.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToRing.{u2} R _inst_1) (Valuation.supp.{u2, u1} R Γ₀ _inst_1 _inst_2 v)) (CommRing.toRing.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToRing.{u2} R _inst_1) (Valuation.supp.{u2, u1} R Γ₀ _inst_1 _inst_2 v)) (Ideal.Quotient.commRing.{u2} R _inst_1 (Valuation.supp.{u2, u1} R Γ₀ _inst_1 _inst_2 v))))) (CommSemiring.toCommMonoidWithZero.{u2} (Ideal.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToRing.{u2} R _inst_1) (Valuation.supp.{u2, u1} R Γ₀ _inst_1 _inst_2 v)) (Ring.toSemiring.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToRing.{u2} R _inst_1) (Valuation.supp.{u2, u1} R Γ₀ _inst_1 _inst_2 v)) (CommRing.toRing.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToRing.{u2} R _inst_1) (Valuation.supp.{u2, u1} R Γ₀ _inst_1 _inst_2 v)) (Ideal.Quotient.commRing.{u2} R _inst_1 (Valuation.supp.{u2, u1} R Γ₀ _inst_1 _inst_2 v))))) (IdemCommSemiring.toCommSemiring.{u2} (Ideal.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToRing.{u2} R _inst_1) (Valuation.supp.{u2, u1} R Γ₀ _inst_1 _inst_2 v)) (Ring.toSemiring.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToRing.{u2} R _inst_1) (Valuation.supp.{u2, u1} R Γ₀ _inst_1 _inst_2 v)) (CommRing.toRing.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToRing.{u2} R _inst_1) (Valuation.supp.{u2, u1} R Γ₀ _inst_1 _inst_2 v)) (Ideal.Quotient.commRing.{u2} R _inst_1 (Valuation.supp.{u2, u1} R Γ₀ _inst_1 _inst_2 v))))) (Ideal.instIdemCommSemiringIdealToSemiring.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToRing.{u2} R _inst_1) (Valuation.supp.{u2, u1} R Γ₀ _inst_1 _inst_2 v)) (CommRing.toCommSemiring.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToRing.{u2} R _inst_1) (Valuation.supp.{u2, u1} R Γ₀ _inst_1 _inst_2 v)) (Ideal.Quotient.commRing.{u2} R _inst_1 (Valuation.supp.{u2, u1} R Γ₀ _inst_1 _inst_2 v)))))))))
+  forall {R : Type.{u2}} {Γ₀ : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : LinearOrderedCommMonoidWithZero.{u1} Γ₀] (v : Valuation.{u2, u1} R Γ₀ _inst_2 (CommRing.toRing.{u2} R _inst_1)), Eq.{succ u2} (Ideal.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) (Valuation.supp.{u2, u1} R Γ₀ _inst_1 _inst_2 v)) (CommSemiring.toSemiring.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) (Valuation.supp.{u2, u1} R Γ₀ _inst_1 _inst_2 v)) (CommRing.toCommSemiring.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) (Valuation.supp.{u2, u1} R Γ₀ _inst_1 _inst_2 v)) (Ideal.Quotient.commRing.{u2} R _inst_1 (Valuation.supp.{u2, u1} R Γ₀ _inst_1 _inst_2 v))))) (Valuation.supp.{u2, u1} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) (Valuation.supp.{u2, u1} R Γ₀ _inst_1 _inst_2 v)) Γ₀ (Ideal.Quotient.commRing.{u2} R _inst_1 (Valuation.supp.{u2, u1} R Γ₀ _inst_1 _inst_2 v)) _inst_2 (Valuation.onQuot.{u2, u1} R Γ₀ _inst_1 _inst_2 v (Valuation.supp.{u2, u1} R Γ₀ _inst_1 _inst_2 v) (le_rfl.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (PartialOrder.toPreorder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Submodule.completeLattice.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))))) (Valuation.supp.{u2, u1} R Γ₀ _inst_1 _inst_2 v)))) (OfNat.ofNat.{u2} (Ideal.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) (Valuation.supp.{u2, u1} R Γ₀ _inst_1 _inst_2 v)) (CommSemiring.toSemiring.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) (Valuation.supp.{u2, u1} R Γ₀ _inst_1 _inst_2 v)) (CommRing.toCommSemiring.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) (Valuation.supp.{u2, u1} R Γ₀ _inst_1 _inst_2 v)) (Ideal.Quotient.commRing.{u2} R _inst_1 (Valuation.supp.{u2, u1} R Γ₀ _inst_1 _inst_2 v))))) 0 (Zero.toOfNat0.{u2} (Ideal.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) (Valuation.supp.{u2, u1} R Γ₀ _inst_1 _inst_2 v)) (CommSemiring.toSemiring.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) (Valuation.supp.{u2, u1} R Γ₀ _inst_1 _inst_2 v)) (CommRing.toCommSemiring.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) (Valuation.supp.{u2, u1} R Γ₀ _inst_1 _inst_2 v)) (Ideal.Quotient.commRing.{u2} R _inst_1 (Valuation.supp.{u2, u1} R Γ₀ _inst_1 _inst_2 v))))) (CommMonoidWithZero.toZero.{u2} (Ideal.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) (Valuation.supp.{u2, u1} R Γ₀ _inst_1 _inst_2 v)) (CommSemiring.toSemiring.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) (Valuation.supp.{u2, u1} R Γ₀ _inst_1 _inst_2 v)) (CommRing.toCommSemiring.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) (Valuation.supp.{u2, u1} R Γ₀ _inst_1 _inst_2 v)) (Ideal.Quotient.commRing.{u2} R _inst_1 (Valuation.supp.{u2, u1} R Γ₀ _inst_1 _inst_2 v))))) (CommSemiring.toCommMonoidWithZero.{u2} (Ideal.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) (Valuation.supp.{u2, u1} R Γ₀ _inst_1 _inst_2 v)) (CommSemiring.toSemiring.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) (Valuation.supp.{u2, u1} R Γ₀ _inst_1 _inst_2 v)) (CommRing.toCommSemiring.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) (Valuation.supp.{u2, u1} R Γ₀ _inst_1 _inst_2 v)) (Ideal.Quotient.commRing.{u2} R _inst_1 (Valuation.supp.{u2, u1} R Γ₀ _inst_1 _inst_2 v))))) (IdemCommSemiring.toCommSemiring.{u2} (Ideal.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) (Valuation.supp.{u2, u1} R Γ₀ _inst_1 _inst_2 v)) (CommSemiring.toSemiring.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) (Valuation.supp.{u2, u1} R Γ₀ _inst_1 _inst_2 v)) (CommRing.toCommSemiring.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) (Valuation.supp.{u2, u1} R Γ₀ _inst_1 _inst_2 v)) (Ideal.Quotient.commRing.{u2} R _inst_1 (Valuation.supp.{u2, u1} R Γ₀ _inst_1 _inst_2 v))))) (Ideal.instIdemCommSemiringIdealToSemiring.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) (Valuation.supp.{u2, u1} R Γ₀ _inst_1 _inst_2 v)) (CommRing.toCommSemiring.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) (Valuation.supp.{u2, u1} R Γ₀ _inst_1 _inst_2 v)) (Ideal.Quotient.commRing.{u2} R _inst_1 (Valuation.supp.{u2, u1} R Γ₀ _inst_1 _inst_2 v)))))))))
 Case conversion may be inaccurate. Consider using '#align valuation.supp_quot_supp Valuation.supp_quot_suppₓ'. -/
 theorem supp_quot_supp : supp (v.onQuot le_rfl) = 0 :=
   by
@@ -156,7 +156,7 @@ def onQuot {J : Ideal R} (hJ : J ≤ supp v) : AddValuation (R ⧸ J) Γ₀ :=
 lean 3 declaration is
   forall {R : Type.{u1}} {Γ₀ : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : LinearOrderedAddCommMonoidWithTop.{u2} Γ₀] (v : AddValuation.{u1, u2} R (CommRing.toRing.{u1} R _inst_1) Γ₀ _inst_2) {J : Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))} (hJ : LE.le.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Preorder.toLE.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))))) J (AddValuation.supp.{u1, u2} R Γ₀ _inst_2 _inst_1 v)), Eq.{max (succ u1) (succ u2)} (AddValuation.{u1, u2} R (CommRing.toRing.{u1} R _inst_1) Γ₀ _inst_2) (AddValuation.comap.{u1, u2, u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) Γ₀ _inst_2 (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (Ideal.Quotient.commRing.{u1} R _inst_1 J)) R (CommRing.toRing.{u1} R _inst_1) (Ideal.Quotient.mk.{u1} R _inst_1 J) (AddValuation.onQuot.{u1, u2} R Γ₀ _inst_1 _inst_2 v J hJ)) v
 but is expected to have type
-  forall {R : Type.{u2}} {Γ₀ : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : LinearOrderedAddCommMonoidWithTop.{u1} Γ₀] (v : AddValuation.{u2, u1} R (CommRing.toRing.{u2} R _inst_1) Γ₀ _inst_2) {J : Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))} (hJ : LE.le.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Preorder.toLE.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (PartialOrder.toPreorder.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Submodule.completeLattice.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))))))) J (AddValuation.supp.{u2, u1} R Γ₀ _inst_2 _inst_1 v)), Eq.{max (succ u2) (succ u1)} (AddValuation.{u2, u1} R (CommRing.toRing.{u2} R _inst_1) Γ₀ _inst_2) (AddValuation.comap.{u2, u1, u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToRing.{u2} R _inst_1) J) Γ₀ (CommRing.toRing.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToRing.{u2} R _inst_1) J) (Ideal.Quotient.commRing.{u2} R _inst_1 J)) _inst_2 R (CommRing.toRing.{u2} R _inst_1) (Ideal.Quotient.mk.{u2} R _inst_1 J) (AddValuation.onQuot.{u2, u1} R Γ₀ _inst_1 _inst_2 v J hJ)) v
+  forall {R : Type.{u2}} {Γ₀ : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : LinearOrderedAddCommMonoidWithTop.{u1} Γ₀] (v : AddValuation.{u2, u1} R (CommRing.toRing.{u2} R _inst_1) Γ₀ _inst_2) {J : Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))} (hJ : LE.le.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Preorder.toLE.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (PartialOrder.toPreorder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Submodule.completeLattice.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))))) J (AddValuation.supp.{u2, u1} R Γ₀ _inst_2 _inst_1 v)), Eq.{max (succ u2) (succ u1)} (AddValuation.{u2, u1} R (CommRing.toRing.{u2} R _inst_1) Γ₀ _inst_2) (AddValuation.comap.{u2, u1, u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) J) Γ₀ (CommRing.toRing.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) J) (Ideal.Quotient.commRing.{u2} R _inst_1 J)) _inst_2 R (CommRing.toRing.{u2} R _inst_1) (Ideal.Quotient.mk.{u2} R _inst_1 J) (AddValuation.onQuot.{u2, u1} R Γ₀ _inst_1 _inst_2 v J hJ)) v
 Case conversion may be inaccurate. Consider using '#align add_valuation.on_quot_comap_eq AddValuation.onQuot_comap_eqₓ'. -/
 @[simp]
 theorem onQuot_comap_eq {J : Ideal R} (hJ : J ≤ supp v) :
@@ -168,7 +168,7 @@ theorem onQuot_comap_eq {J : Ideal R} (hJ : J ≤ supp v) :
 lean 3 declaration is
   forall {R : Type.{u1}} {Γ₀ : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : LinearOrderedAddCommMonoidWithTop.{u2} Γ₀] (v : AddValuation.{u1, u2} R (CommRing.toRing.{u1} R _inst_1) Γ₀ _inst_2) {S : Type.{u3}} [_inst_3 : CommRing.{u3} S] (f : RingHom.{u3, u1} S R (NonAssocRing.toNonAssocSemiring.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_3))) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))), Eq.{succ u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) (AddValuation.supp.{u3, u2} S Γ₀ _inst_2 _inst_3 (AddValuation.comap.{u1, u2, u3} R Γ₀ _inst_2 (CommRing.toRing.{u1} R _inst_1) S (CommRing.toRing.{u3} S _inst_3) f v)) (Ideal.comap.{u3, u1, max u3 u1} S R (RingHom.{u3, u1} S R (NonAssocRing.toNonAssocSemiring.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_3))) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.ringHomClass.{u3, u1} S R (NonAssocRing.toNonAssocSemiring.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_3))) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) f (AddValuation.supp.{u1, u2} R Γ₀ _inst_2 _inst_1 v))
 but is expected to have type
-  forall {R : Type.{u2}} {Γ₀ : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : LinearOrderedAddCommMonoidWithTop.{u1} Γ₀] (v : AddValuation.{u2, u1} R (CommRing.toRing.{u2} R _inst_1) Γ₀ _inst_2) {S : Type.{u3}} [_inst_3 : CommRing.{u3} S] (f : RingHom.{u3, u2} S R (NonAssocRing.toNonAssocSemiring.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_3))) (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))), Eq.{succ u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) (AddValuation.supp.{u3, u1} S Γ₀ _inst_2 _inst_3 (AddValuation.comap.{u2, u1, u3} R Γ₀ (CommRing.toRing.{u2} R _inst_1) _inst_2 S (CommRing.toRing.{u3} S _inst_3) f v)) (Ideal.comap.{u3, u2, max u2 u3} S R (RingHom.{u3, u2} S R (NonAssocRing.toNonAssocSemiring.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_3))) (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.instRingHomClassRingHom.{u3, u2} S R (NonAssocRing.toNonAssocSemiring.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_3))) (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) f (AddValuation.supp.{u2, u1} R Γ₀ _inst_2 _inst_1 v))
+  forall {R : Type.{u2}} {Γ₀ : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : LinearOrderedAddCommMonoidWithTop.{u1} Γ₀] (v : AddValuation.{u2, u1} R (CommRing.toRing.{u2} R _inst_1) Γ₀ _inst_2) {S : Type.{u3}} [_inst_3 : CommRing.{u3} S] (f : RingHom.{u3, u2} S R (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_3))) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))), Eq.{succ u3} (Ideal.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_3))) (AddValuation.supp.{u3, u1} S Γ₀ _inst_2 _inst_3 (AddValuation.comap.{u2, u1, u3} R Γ₀ (CommRing.toRing.{u2} R _inst_1) _inst_2 S (CommRing.toRing.{u3} S _inst_3) f v)) (Ideal.comap.{u3, u2, max u2 u3} S R (RingHom.{u3, u2} S R (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_3))) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.instRingHomClassRingHom.{u3, u2} S R (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_3))) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) f (AddValuation.supp.{u2, u1} R Γ₀ _inst_2 _inst_1 v))
 Case conversion may be inaccurate. Consider using '#align add_valuation.comap_supp AddValuation.comap_suppₓ'. -/
 theorem comap_supp {S : Type _} [CommRing S] (f : S →+* R) :
     supp (v.comap f) = Ideal.comap f v.supp :=
@@ -179,7 +179,7 @@ theorem comap_supp {S : Type _} [CommRing S] (f : S →+* R) :
 lean 3 declaration is
   forall {R : Type.{u1}} {Γ₀ : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : LinearOrderedAddCommMonoidWithTop.{u2} Γ₀] (J : Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (v : AddValuation.{u1, u2} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (Ideal.Quotient.commRing.{u1} R _inst_1 J)) Γ₀ _inst_2), LE.le.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Preorder.toLE.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))))) J (AddValuation.supp.{u1, u2} R Γ₀ _inst_2 _inst_1 (AddValuation.comap.{u1, u2, u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) Γ₀ _inst_2 (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (Ideal.Quotient.commRing.{u1} R _inst_1 J)) R (CommRing.toRing.{u1} R _inst_1) (Ideal.Quotient.mk.{u1} R _inst_1 J) v))
 but is expected to have type
-  forall {R : Type.{u2}} {Γ₀ : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : LinearOrderedAddCommMonoidWithTop.{u1} Γ₀] (J : Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (v : AddValuation.{u2, u1} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToRing.{u2} R _inst_1) J) (CommRing.toRing.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToRing.{u2} R _inst_1) J) (Ideal.Quotient.commRing.{u2} R _inst_1 J)) Γ₀ _inst_2), LE.le.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Preorder.toLE.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (PartialOrder.toPreorder.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Submodule.completeLattice.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))))))) J (AddValuation.supp.{u2, u1} R Γ₀ _inst_2 _inst_1 (AddValuation.comap.{u2, u1, u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToRing.{u2} R _inst_1) J) Γ₀ (CommRing.toRing.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToRing.{u2} R _inst_1) J) (Ideal.Quotient.commRing.{u2} R _inst_1 J)) _inst_2 R (CommRing.toRing.{u2} R _inst_1) (Ideal.Quotient.mk.{u2} R _inst_1 J) v))
+  forall {R : Type.{u2}} {Γ₀ : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : LinearOrderedAddCommMonoidWithTop.{u1} Γ₀] (J : Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (v : AddValuation.{u2, u1} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) J) (CommRing.toRing.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) J) (Ideal.Quotient.commRing.{u2} R _inst_1 J)) Γ₀ _inst_2), LE.le.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Preorder.toLE.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (PartialOrder.toPreorder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Submodule.completeLattice.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))))) J (AddValuation.supp.{u2, u1} R Γ₀ _inst_2 _inst_1 (AddValuation.comap.{u2, u1, u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) J) Γ₀ (CommRing.toRing.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) J) (Ideal.Quotient.commRing.{u2} R _inst_1 J)) _inst_2 R (CommRing.toRing.{u2} R _inst_1) (Ideal.Quotient.mk.{u2} R _inst_1 J) v))
 Case conversion may be inaccurate. Consider using '#align add_valuation.self_le_supp_comap AddValuation.self_le_supp_comapₓ'. -/
 theorem self_le_supp_comap (J : Ideal R) (v : AddValuation (R ⧸ J) Γ₀) :
     J ≤ (v.comap (Ideal.Quotient.mk J)).supp :=
@@ -190,7 +190,7 @@ theorem self_le_supp_comap (J : Ideal R) (v : AddValuation (R ⧸ J) Γ₀) :
 lean 3 declaration is
   forall {R : Type.{u1}} {Γ₀ : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : LinearOrderedAddCommMonoidWithTop.{u2} Γ₀] (J : Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (v : AddValuation.{u1, u2} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (Ideal.Quotient.commRing.{u1} R _inst_1 J)) Γ₀ _inst_2), Eq.{max (succ u1) (succ u2)} (AddValuation.{u1, u2} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (Ideal.Quotient.commRing.{u1} R _inst_1 J)) Γ₀ _inst_2) (AddValuation.onQuot.{u1, u2} R Γ₀ _inst_1 _inst_2 (AddValuation.comap.{u1, u2, u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) Γ₀ _inst_2 (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (Ideal.Quotient.commRing.{u1} R _inst_1 J)) R (CommRing.toRing.{u1} R _inst_1) (Ideal.Quotient.mk.{u1} R _inst_1 J) v) J (AddValuation.self_le_supp_comap.{u1, u2} R Γ₀ _inst_1 _inst_2 J v)) v
 but is expected to have type
-  forall {R : Type.{u2}} {Γ₀ : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : LinearOrderedAddCommMonoidWithTop.{u1} Γ₀] (J : Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (v : AddValuation.{u2, u1} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToRing.{u2} R _inst_1) J) (CommRing.toRing.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToRing.{u2} R _inst_1) J) (Ideal.Quotient.commRing.{u2} R _inst_1 J)) Γ₀ _inst_2), Eq.{max (succ u2) (succ u1)} (AddValuation.{u2, u1} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToRing.{u2} R _inst_1) J) (CommRing.toRing.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToRing.{u2} R _inst_1) J) (Ideal.Quotient.commRing.{u2} R _inst_1 J)) Γ₀ _inst_2) (AddValuation.onQuot.{u2, u1} R Γ₀ _inst_1 _inst_2 (AddValuation.comap.{u2, u1, u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToRing.{u2} R _inst_1) J) Γ₀ (CommRing.toRing.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToRing.{u2} R _inst_1) J) (Ideal.Quotient.commRing.{u2} R _inst_1 J)) _inst_2 R (CommRing.toRing.{u2} R _inst_1) (Ideal.Quotient.mk.{u2} R _inst_1 J) v) J (AddValuation.self_le_supp_comap.{u1, u2} R Γ₀ _inst_1 _inst_2 J v)) v
+  forall {R : Type.{u2}} {Γ₀ : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : LinearOrderedAddCommMonoidWithTop.{u1} Γ₀] (J : Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (v : AddValuation.{u2, u1} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) J) (CommRing.toRing.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) J) (Ideal.Quotient.commRing.{u2} R _inst_1 J)) Γ₀ _inst_2), Eq.{max (succ u2) (succ u1)} (AddValuation.{u2, u1} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) J) (CommRing.toRing.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) J) (Ideal.Quotient.commRing.{u2} R _inst_1 J)) Γ₀ _inst_2) (AddValuation.onQuot.{u2, u1} R Γ₀ _inst_1 _inst_2 (AddValuation.comap.{u2, u1, u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) J) Γ₀ (CommRing.toRing.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) J) (Ideal.Quotient.commRing.{u2} R _inst_1 J)) _inst_2 R (CommRing.toRing.{u2} R _inst_1) (Ideal.Quotient.mk.{u2} R _inst_1 J) v) J (AddValuation.self_le_supp_comap.{u1, u2} R Γ₀ _inst_1 _inst_2 J v)) v
 Case conversion may be inaccurate. Consider using '#align add_valuation.comap_on_quot_eq AddValuation.comap_onQuot_eqₓ'. -/
 @[simp]
 theorem comap_onQuot_eq (J : Ideal R) (v : AddValuation (R ⧸ J) Γ₀) :
@@ -202,7 +202,7 @@ theorem comap_onQuot_eq (J : Ideal R) (v : AddValuation (R ⧸ J) Γ₀) :
 lean 3 declaration is
   forall {R : Type.{u1}} {Γ₀ : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : LinearOrderedAddCommMonoidWithTop.{u2} Γ₀] (v : AddValuation.{u1, u2} R (CommRing.toRing.{u1} R _inst_1) Γ₀ _inst_2) {J : Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))} (hJ : LE.le.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Preorder.toLE.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))))) J (AddValuation.supp.{u1, u2} R Γ₀ _inst_2 _inst_1 v)), Eq.{succ u1} (Ideal.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (Ring.toSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (Ideal.Quotient.commRing.{u1} R _inst_1 J)))) (AddValuation.supp.{u1, u2} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) Γ₀ _inst_2 (Ideal.Quotient.commRing.{u1} R _inst_1 J) (AddValuation.onQuot.{u1, u2} R Γ₀ _inst_1 _inst_2 v J hJ)) (Ideal.map.{u1, u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (RingHom.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (Ring.toNonAssocRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (Ideal.Quotient.commRing.{u1} R _inst_1 J))))) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (Ideal.Quotient.commRing.{u1} R _inst_1 J))) (RingHom.ringHomClass.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (Ring.toNonAssocRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (Ideal.Quotient.commRing.{u1} R _inst_1 J))))) (Ideal.Quotient.mk.{u1} R _inst_1 J) (AddValuation.supp.{u1, u2} R Γ₀ _inst_2 _inst_1 v))
 but is expected to have type
-  forall {R : Type.{u2}} {Γ₀ : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : LinearOrderedAddCommMonoidWithTop.{u1} Γ₀] (v : AddValuation.{u2, u1} R (CommRing.toRing.{u2} R _inst_1) Γ₀ _inst_2) {J : Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))} (hJ : LE.le.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Preorder.toLE.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (PartialOrder.toPreorder.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Submodule.completeLattice.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))))))) J (AddValuation.supp.{u2, u1} R Γ₀ _inst_2 _inst_1 v)), Eq.{succ u2} (Ideal.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToRing.{u2} R _inst_1) J) (Ring.toSemiring.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToRing.{u2} R _inst_1) J) (CommRing.toRing.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToRing.{u2} R _inst_1) J) (Ideal.Quotient.commRing.{u2} R _inst_1 J)))) (AddValuation.supp.{u2, u1} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToRing.{u2} R _inst_1) J) Γ₀ _inst_2 (Ideal.Quotient.commRing.{u2} R _inst_1 J) (AddValuation.onQuot.{u2, u1} R Γ₀ _inst_1 _inst_2 v J hJ)) (Ideal.map.{u2, u2, u2} R (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToRing.{u2} R _inst_1) J) (RingHom.{u2, u2} R (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToRing.{u2} R _inst_1) J) (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToRing.{u2} R _inst_1) J) (Ring.toNonAssocRing.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToRing.{u2} R _inst_1) J) (CommRing.toRing.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToRing.{u2} R _inst_1) J) (Ideal.Quotient.commRing.{u2} R _inst_1 J))))) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToRing.{u2} R _inst_1) J) (CommRing.toRing.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToRing.{u2} R _inst_1) J) (Ideal.Quotient.commRing.{u2} R _inst_1 J))) (RingHom.instRingHomClassRingHom.{u2, u2} R (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToRing.{u2} R _inst_1) J) (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToRing.{u2} R _inst_1) J) (Ring.toNonAssocRing.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToRing.{u2} R _inst_1) J) (CommRing.toRing.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToRing.{u2} R _inst_1) J) (Ideal.Quotient.commRing.{u2} R _inst_1 J))))) (Ideal.Quotient.mk.{u2} R _inst_1 J) (AddValuation.supp.{u2, u1} R Γ₀ _inst_2 _inst_1 v))
+  forall {R : Type.{u2}} {Γ₀ : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : LinearOrderedAddCommMonoidWithTop.{u1} Γ₀] (v : AddValuation.{u2, u1} R (CommRing.toRing.{u2} R _inst_1) Γ₀ _inst_2) {J : Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))} (hJ : LE.le.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Preorder.toLE.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (PartialOrder.toPreorder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Submodule.completeLattice.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))))) J (AddValuation.supp.{u2, u1} R Γ₀ _inst_2 _inst_1 v)), Eq.{succ u2} (Ideal.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) J) (CommSemiring.toSemiring.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) J) (CommRing.toCommSemiring.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) J) (Ideal.Quotient.commRing.{u2} R _inst_1 J)))) (AddValuation.supp.{u2, u1} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) J) Γ₀ _inst_2 (Ideal.Quotient.commRing.{u2} R _inst_1 J) (AddValuation.onQuot.{u2, u1} R Γ₀ _inst_1 _inst_2 v J hJ)) (Ideal.map.{u2, u2, u2} R (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) J) (RingHom.{u2, u2} R (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) J) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) J) (CommSemiring.toSemiring.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) J) (CommRing.toCommSemiring.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) J) (Ideal.Quotient.commRing.{u2} R _inst_1 J))))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) J) (CommRing.toCommSemiring.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) J) (Ideal.Quotient.commRing.{u2} R _inst_1 J))) (RingHom.instRingHomClassRingHom.{u2, u2} R (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) J) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) J) (CommSemiring.toSemiring.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) J) (CommRing.toCommSemiring.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) J) (Ideal.Quotient.commRing.{u2} R _inst_1 J))))) (Ideal.Quotient.mk.{u2} R _inst_1 J) (AddValuation.supp.{u2, u1} R Γ₀ _inst_2 _inst_1 v))
 Case conversion may be inaccurate. Consider using '#align add_valuation.supp_quot AddValuation.supp_quotₓ'. -/
 /-- The quotient valuation on R/J has support supp(v)/J if J ⊆ supp v. -/
 theorem supp_quot {J : Ideal R} (hJ : J ≤ supp v) :
@@ -214,7 +214,7 @@ theorem supp_quot {J : Ideal R} (hJ : J ≤ supp v) :
 lean 3 declaration is
   forall {R : Type.{u1}} {Γ₀ : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : LinearOrderedAddCommMonoidWithTop.{u2} Γ₀] (v : AddValuation.{u1, u2} R (CommRing.toRing.{u1} R _inst_1) Γ₀ _inst_2), Eq.{succ u1} (Ideal.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (AddValuation.supp.{u1, u2} R Γ₀ _inst_2 _inst_1 v)) (Ring.toSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (AddValuation.supp.{u1, u2} R Γ₀ _inst_2 _inst_1 v)) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (AddValuation.supp.{u1, u2} R Γ₀ _inst_2 _inst_1 v)) (Ideal.Quotient.commRing.{u1} R _inst_1 (AddValuation.supp.{u1, u2} R Γ₀ _inst_2 _inst_1 v))))) (AddValuation.supp.{u1, u2} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (AddValuation.supp.{u1, u2} R Γ₀ _inst_2 _inst_1 v)) Γ₀ _inst_2 (Ideal.Quotient.commRing.{u1} R _inst_1 (AddValuation.supp.{u1, u2} R Γ₀ _inst_2 _inst_1 v)) (AddValuation.onQuot.{u1, u2} R Γ₀ _inst_1 _inst_2 v (AddValuation.supp.{u1, u2} R Γ₀ _inst_2 _inst_1 v) (le_rfl.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) (AddValuation.supp.{u1, u2} R Γ₀ _inst_2 _inst_1 v)))) (OfNat.ofNat.{u1} (Ideal.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (AddValuation.supp.{u1, u2} R Γ₀ _inst_2 _inst_1 v)) (Ring.toSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (AddValuation.supp.{u1, u2} R Γ₀ _inst_2 _inst_1 v)) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (AddValuation.supp.{u1, u2} R Γ₀ _inst_2 _inst_1 v)) (Ideal.Quotient.commRing.{u1} R _inst_1 (AddValuation.supp.{u1, u2} R Γ₀ _inst_2 _inst_1 v))))) 0 (OfNat.mk.{u1} (Ideal.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (AddValuation.supp.{u1, u2} R Γ₀ _inst_2 _inst_1 v)) (Ring.toSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (AddValuation.supp.{u1, u2} R Γ₀ _inst_2 _inst_1 v)) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (AddValuation.supp.{u1, u2} R Γ₀ _inst_2 _inst_1 v)) (Ideal.Quotient.commRing.{u1} R _inst_1 (AddValuation.supp.{u1, u2} R Γ₀ _inst_2 _inst_1 v))))) 0 (Zero.zero.{u1} (Ideal.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (AddValuation.supp.{u1, u2} R Γ₀ _inst_2 _inst_1 v)) (Ring.toSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (AddValuation.supp.{u1, u2} R Γ₀ _inst_2 _inst_1 v)) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (AddValuation.supp.{u1, u2} R Γ₀ _inst_2 _inst_1 v)) (Ideal.Quotient.commRing.{u1} R _inst_1 (AddValuation.supp.{u1, u2} R Γ₀ _inst_2 _inst_1 v))))) (MulZeroClass.toHasZero.{u1} (Ideal.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (AddValuation.supp.{u1, u2} R Γ₀ _inst_2 _inst_1 v)) (Ring.toSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (AddValuation.supp.{u1, u2} R Γ₀ _inst_2 _inst_1 v)) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (AddValuation.supp.{u1, u2} R Γ₀ _inst_2 _inst_1 v)) (Ideal.Quotient.commRing.{u1} R _inst_1 (AddValuation.supp.{u1, u2} R Γ₀ _inst_2 _inst_1 v))))) (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} (Ideal.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (AddValuation.supp.{u1, u2} R Γ₀ _inst_2 _inst_1 v)) (Ring.toSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (AddValuation.supp.{u1, u2} R Γ₀ _inst_2 _inst_1 v)) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (AddValuation.supp.{u1, u2} R Γ₀ _inst_2 _inst_1 v)) (Ideal.Quotient.commRing.{u1} R _inst_1 (AddValuation.supp.{u1, u2} R Γ₀ _inst_2 _inst_1 v))))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Ideal.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (AddValuation.supp.{u1, u2} R Γ₀ _inst_2 _inst_1 v)) (Ring.toSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (AddValuation.supp.{u1, u2} R Γ₀ _inst_2 _inst_1 v)) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (AddValuation.supp.{u1, u2} R Γ₀ _inst_2 _inst_1 v)) (Ideal.Quotient.commRing.{u1} R _inst_1 (AddValuation.supp.{u1, u2} R Γ₀ _inst_2 _inst_1 v))))) (Semiring.toNonAssocSemiring.{u1} (Ideal.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (AddValuation.supp.{u1, u2} R Γ₀ _inst_2 _inst_1 v)) (Ring.toSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (AddValuation.supp.{u1, u2} R Γ₀ _inst_2 _inst_1 v)) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (AddValuation.supp.{u1, u2} R Γ₀ _inst_2 _inst_1 v)) (Ideal.Quotient.commRing.{u1} R _inst_1 (AddValuation.supp.{u1, u2} R Γ₀ _inst_2 _inst_1 v))))) (IdemSemiring.toSemiring.{u1} (Ideal.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (AddValuation.supp.{u1, u2} R Γ₀ _inst_2 _inst_1 v)) (Ring.toSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (AddValuation.supp.{u1, u2} R Γ₀ _inst_2 _inst_1 v)) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (AddValuation.supp.{u1, u2} R Γ₀ _inst_2 _inst_1 v)) (Ideal.Quotient.commRing.{u1} R _inst_1 (AddValuation.supp.{u1, u2} R Γ₀ _inst_2 _inst_1 v))))) (Submodule.idemSemiring.{u1, u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (AddValuation.supp.{u1, u2} R Γ₀ _inst_2 _inst_1 v)) (CommRing.toCommSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (AddValuation.supp.{u1, u2} R Γ₀ _inst_2 _inst_1 v)) (Ideal.Quotient.commRing.{u1} R _inst_1 (AddValuation.supp.{u1, u2} R Γ₀ _inst_2 _inst_1 v))) (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (AddValuation.supp.{u1, u2} R Γ₀ _inst_2 _inst_1 v)) (Ring.toSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (AddValuation.supp.{u1, u2} R Γ₀ _inst_2 _inst_1 v)) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (AddValuation.supp.{u1, u2} R Γ₀ _inst_2 _inst_1 v)) (Ideal.Quotient.commRing.{u1} R _inst_1 (AddValuation.supp.{u1, u2} R Γ₀ _inst_2 _inst_1 v)))) (Algebra.id.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (AddValuation.supp.{u1, u2} R Γ₀ _inst_2 _inst_1 v)) (CommRing.toCommSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (AddValuation.supp.{u1, u2} R Γ₀ _inst_2 _inst_1 v)) (Ideal.Quotient.commRing.{u1} R _inst_1 (AddValuation.supp.{u1, u2} R Γ₀ _inst_2 _inst_1 v)))))))))))))
 but is expected to have type
-  forall {R : Type.{u2}} {Γ₀ : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : LinearOrderedAddCommMonoidWithTop.{u1} Γ₀] (v : AddValuation.{u2, u1} R (CommRing.toRing.{u2} R _inst_1) Γ₀ _inst_2), Eq.{succ u2} (Ideal.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToRing.{u2} R _inst_1) (Valuation.supp.{u2, u1} R (Multiplicative.{u1} (OrderDual.{u1} Γ₀)) _inst_1 (instLinearOrderedCommMonoidWithZeroMultiplicativeOrderDual.{u1} Γ₀ _inst_2) v)) (Ring.toSemiring.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToRing.{u2} R _inst_1) (Valuation.supp.{u2, u1} R (Multiplicative.{u1} (OrderDual.{u1} Γ₀)) _inst_1 (instLinearOrderedCommMonoidWithZeroMultiplicativeOrderDual.{u1} Γ₀ _inst_2) v)) (CommRing.toRing.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToRing.{u2} R _inst_1) (Valuation.supp.{u2, u1} R (Multiplicative.{u1} (OrderDual.{u1} Γ₀)) _inst_1 (instLinearOrderedCommMonoidWithZeroMultiplicativeOrderDual.{u1} Γ₀ _inst_2) v)) (Ideal.Quotient.commRing.{u2} R _inst_1 (Valuation.supp.{u2, u1} R (Multiplicative.{u1} (OrderDual.{u1} Γ₀)) _inst_1 (instLinearOrderedCommMonoidWithZeroMultiplicativeOrderDual.{u1} Γ₀ _inst_2) v))))) (AddValuation.supp.{u2, u1} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToRing.{u2} R _inst_1) (Valuation.supp.{u2, u1} R (Multiplicative.{u1} (OrderDual.{u1} Γ₀)) _inst_1 (instLinearOrderedCommMonoidWithZeroMultiplicativeOrderDual.{u1} Γ₀ _inst_2) v)) Γ₀ _inst_2 (Ideal.Quotient.commRing.{u2} R _inst_1 (Valuation.supp.{u2, u1} R (Multiplicative.{u1} (OrderDual.{u1} Γ₀)) _inst_1 (instLinearOrderedCommMonoidWithZeroMultiplicativeOrderDual.{u1} Γ₀ _inst_2) v)) (Valuation.onQuot.{u2, u1} R (Multiplicative.{u1} (OrderDual.{u1} Γ₀)) _inst_1 (instLinearOrderedCommMonoidWithZeroMultiplicativeOrderDual.{u1} Γ₀ _inst_2) v (Valuation.supp.{u2, u1} R (Multiplicative.{u1} (OrderDual.{u1} Γ₀)) _inst_1 (instLinearOrderedCommMonoidWithZeroMultiplicativeOrderDual.{u1} Γ₀ _inst_2) v) (le_rfl.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (PartialOrder.toPreorder.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Submodule.completeLattice.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))))) (Valuation.supp.{u2, u1} R (Multiplicative.{u1} (OrderDual.{u1} Γ₀)) _inst_1 (instLinearOrderedCommMonoidWithZeroMultiplicativeOrderDual.{u1} Γ₀ _inst_2) v)))) (OfNat.ofNat.{u2} (Ideal.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToRing.{u2} R _inst_1) (Valuation.supp.{u2, u1} R (Multiplicative.{u1} (OrderDual.{u1} Γ₀)) _inst_1 (instLinearOrderedCommMonoidWithZeroMultiplicativeOrderDual.{u1} Γ₀ _inst_2) v)) (Ring.toSemiring.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToRing.{u2} R _inst_1) (Valuation.supp.{u2, u1} R (Multiplicative.{u1} (OrderDual.{u1} Γ₀)) _inst_1 (instLinearOrderedCommMonoidWithZeroMultiplicativeOrderDual.{u1} Γ₀ _inst_2) v)) (CommRing.toRing.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToRing.{u2} R _inst_1) (Valuation.supp.{u2, u1} R (Multiplicative.{u1} (OrderDual.{u1} Γ₀)) _inst_1 (instLinearOrderedCommMonoidWithZeroMultiplicativeOrderDual.{u1} Γ₀ _inst_2) v)) (Ideal.Quotient.commRing.{u2} R _inst_1 (Valuation.supp.{u2, u1} R (Multiplicative.{u1} (OrderDual.{u1} Γ₀)) _inst_1 (instLinearOrderedCommMonoidWithZeroMultiplicativeOrderDual.{u1} Γ₀ _inst_2) v))))) 0 (Zero.toOfNat0.{u2} (Ideal.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToRing.{u2} R _inst_1) (Valuation.supp.{u2, u1} R (Multiplicative.{u1} (OrderDual.{u1} Γ₀)) _inst_1 (instLinearOrderedCommMonoidWithZeroMultiplicativeOrderDual.{u1} Γ₀ _inst_2) v)) (Ring.toSemiring.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToRing.{u2} R _inst_1) (Valuation.supp.{u2, u1} R (Multiplicative.{u1} (OrderDual.{u1} Γ₀)) _inst_1 (instLinearOrderedCommMonoidWithZeroMultiplicativeOrderDual.{u1} Γ₀ _inst_2) v)) (CommRing.toRing.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToRing.{u2} R _inst_1) (Valuation.supp.{u2, u1} R (Multiplicative.{u1} (OrderDual.{u1} Γ₀)) _inst_1 (instLinearOrderedCommMonoidWithZeroMultiplicativeOrderDual.{u1} Γ₀ _inst_2) v)) (Ideal.Quotient.commRing.{u2} R _inst_1 (Valuation.supp.{u2, u1} R (Multiplicative.{u1} (OrderDual.{u1} Γ₀)) _inst_1 (instLinearOrderedCommMonoidWithZeroMultiplicativeOrderDual.{u1} Γ₀ _inst_2) v))))) (CommMonoidWithZero.toZero.{u2} (Ideal.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToRing.{u2} R _inst_1) (Valuation.supp.{u2, u1} R (Multiplicative.{u1} (OrderDual.{u1} Γ₀)) _inst_1 (instLinearOrderedCommMonoidWithZeroMultiplicativeOrderDual.{u1} Γ₀ _inst_2) v)) (Ring.toSemiring.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToRing.{u2} R _inst_1) (Valuation.supp.{u2, u1} R (Multiplicative.{u1} (OrderDual.{u1} Γ₀)) _inst_1 (instLinearOrderedCommMonoidWithZeroMultiplicativeOrderDual.{u1} Γ₀ _inst_2) v)) (CommRing.toRing.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToRing.{u2} R _inst_1) (Valuation.supp.{u2, u1} R (Multiplicative.{u1} (OrderDual.{u1} Γ₀)) _inst_1 (instLinearOrderedCommMonoidWithZeroMultiplicativeOrderDual.{u1} Γ₀ _inst_2) v)) (Ideal.Quotient.commRing.{u2} R _inst_1 (Valuation.supp.{u2, u1} R (Multiplicative.{u1} (OrderDual.{u1} Γ₀)) _inst_1 (instLinearOrderedCommMonoidWithZeroMultiplicativeOrderDual.{u1} Γ₀ _inst_2) v))))) (CommSemiring.toCommMonoidWithZero.{u2} (Ideal.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToRing.{u2} R _inst_1) (Valuation.supp.{u2, u1} R (Multiplicative.{u1} (OrderDual.{u1} Γ₀)) _inst_1 (instLinearOrderedCommMonoidWithZeroMultiplicativeOrderDual.{u1} Γ₀ _inst_2) v)) (Ring.toSemiring.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToRing.{u2} R _inst_1) (Valuation.supp.{u2, u1} R (Multiplicative.{u1} (OrderDual.{u1} Γ₀)) _inst_1 (instLinearOrderedCommMonoidWithZeroMultiplicativeOrderDual.{u1} Γ₀ _inst_2) v)) (CommRing.toRing.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToRing.{u2} R _inst_1) (Valuation.supp.{u2, u1} R (Multiplicative.{u1} (OrderDual.{u1} Γ₀)) _inst_1 (instLinearOrderedCommMonoidWithZeroMultiplicativeOrderDual.{u1} Γ₀ _inst_2) v)) (Ideal.Quotient.commRing.{u2} R _inst_1 (Valuation.supp.{u2, u1} R (Multiplicative.{u1} (OrderDual.{u1} Γ₀)) _inst_1 (instLinearOrderedCommMonoidWithZeroMultiplicativeOrderDual.{u1} Γ₀ _inst_2) v))))) (IdemCommSemiring.toCommSemiring.{u2} (Ideal.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToRing.{u2} R _inst_1) (Valuation.supp.{u2, u1} R (Multiplicative.{u1} (OrderDual.{u1} Γ₀)) _inst_1 (instLinearOrderedCommMonoidWithZeroMultiplicativeOrderDual.{u1} Γ₀ _inst_2) v)) (Ring.toSemiring.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToRing.{u2} R _inst_1) (Valuation.supp.{u2, u1} R (Multiplicative.{u1} (OrderDual.{u1} Γ₀)) _inst_1 (instLinearOrderedCommMonoidWithZeroMultiplicativeOrderDual.{u1} Γ₀ _inst_2) v)) (CommRing.toRing.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToRing.{u2} R _inst_1) (Valuation.supp.{u2, u1} R (Multiplicative.{u1} (OrderDual.{u1} Γ₀)) _inst_1 (instLinearOrderedCommMonoidWithZeroMultiplicativeOrderDual.{u1} Γ₀ _inst_2) v)) (Ideal.Quotient.commRing.{u2} R _inst_1 (Valuation.supp.{u2, u1} R (Multiplicative.{u1} (OrderDual.{u1} Γ₀)) _inst_1 (instLinearOrderedCommMonoidWithZeroMultiplicativeOrderDual.{u1} Γ₀ _inst_2) v))))) (Ideal.instIdemCommSemiringIdealToSemiring.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToRing.{u2} R _inst_1) (Valuation.supp.{u2, u1} R (Multiplicative.{u1} (OrderDual.{u1} Γ₀)) _inst_1 (instLinearOrderedCommMonoidWithZeroMultiplicativeOrderDual.{u1} Γ₀ _inst_2) v)) (CommRing.toCommSemiring.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToRing.{u2} R _inst_1) (Valuation.supp.{u2, u1} R (Multiplicative.{u1} (OrderDual.{u1} Γ₀)) _inst_1 (instLinearOrderedCommMonoidWithZeroMultiplicativeOrderDual.{u1} Γ₀ _inst_2) v)) (Ideal.Quotient.commRing.{u2} R _inst_1 (Valuation.supp.{u2, u1} R (Multiplicative.{u1} (OrderDual.{u1} Γ₀)) _inst_1 (instLinearOrderedCommMonoidWithZeroMultiplicativeOrderDual.{u1} Γ₀ _inst_2) v)))))))))
+  forall {R : Type.{u2}} {Γ₀ : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : LinearOrderedAddCommMonoidWithTop.{u1} Γ₀] (v : AddValuation.{u2, u1} R (CommRing.toRing.{u2} R _inst_1) Γ₀ _inst_2), Eq.{succ u2} (Ideal.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) (Valuation.supp.{u2, u1} R (Multiplicative.{u1} (OrderDual.{u1} Γ₀)) _inst_1 (instLinearOrderedCommMonoidWithZeroMultiplicativeOrderDual.{u1} Γ₀ _inst_2) v)) (CommSemiring.toSemiring.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) (Valuation.supp.{u2, u1} R (Multiplicative.{u1} (OrderDual.{u1} Γ₀)) _inst_1 (instLinearOrderedCommMonoidWithZeroMultiplicativeOrderDual.{u1} Γ₀ _inst_2) v)) (CommRing.toCommSemiring.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) (Valuation.supp.{u2, u1} R (Multiplicative.{u1} (OrderDual.{u1} Γ₀)) _inst_1 (instLinearOrderedCommMonoidWithZeroMultiplicativeOrderDual.{u1} Γ₀ _inst_2) v)) (Ideal.Quotient.commRing.{u2} R _inst_1 (Valuation.supp.{u2, u1} R (Multiplicative.{u1} (OrderDual.{u1} Γ₀)) _inst_1 (instLinearOrderedCommMonoidWithZeroMultiplicativeOrderDual.{u1} Γ₀ _inst_2) v))))) (AddValuation.supp.{u2, u1} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) (Valuation.supp.{u2, u1} R (Multiplicative.{u1} (OrderDual.{u1} Γ₀)) _inst_1 (instLinearOrderedCommMonoidWithZeroMultiplicativeOrderDual.{u1} Γ₀ _inst_2) v)) Γ₀ _inst_2 (Ideal.Quotient.commRing.{u2} R _inst_1 (Valuation.supp.{u2, u1} R (Multiplicative.{u1} (OrderDual.{u1} Γ₀)) _inst_1 (instLinearOrderedCommMonoidWithZeroMultiplicativeOrderDual.{u1} Γ₀ _inst_2) v)) (Valuation.onQuot.{u2, u1} R (Multiplicative.{u1} (OrderDual.{u1} Γ₀)) _inst_1 (instLinearOrderedCommMonoidWithZeroMultiplicativeOrderDual.{u1} Γ₀ _inst_2) v (Valuation.supp.{u2, u1} R (Multiplicative.{u1} (OrderDual.{u1} Γ₀)) _inst_1 (instLinearOrderedCommMonoidWithZeroMultiplicativeOrderDual.{u1} Γ₀ _inst_2) v) (le_rfl.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (PartialOrder.toPreorder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Submodule.completeLattice.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))))) (Valuation.supp.{u2, u1} R (Multiplicative.{u1} (OrderDual.{u1} Γ₀)) _inst_1 (instLinearOrderedCommMonoidWithZeroMultiplicativeOrderDual.{u1} Γ₀ _inst_2) v)))) (OfNat.ofNat.{u2} (Ideal.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) (Valuation.supp.{u2, u1} R (Multiplicative.{u1} (OrderDual.{u1} Γ₀)) _inst_1 (instLinearOrderedCommMonoidWithZeroMultiplicativeOrderDual.{u1} Γ₀ _inst_2) v)) (CommSemiring.toSemiring.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) (Valuation.supp.{u2, u1} R (Multiplicative.{u1} (OrderDual.{u1} Γ₀)) _inst_1 (instLinearOrderedCommMonoidWithZeroMultiplicativeOrderDual.{u1} Γ₀ _inst_2) v)) (CommRing.toCommSemiring.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) (Valuation.supp.{u2, u1} R (Multiplicative.{u1} (OrderDual.{u1} Γ₀)) _inst_1 (instLinearOrderedCommMonoidWithZeroMultiplicativeOrderDual.{u1} Γ₀ _inst_2) v)) (Ideal.Quotient.commRing.{u2} R _inst_1 (Valuation.supp.{u2, u1} R (Multiplicative.{u1} (OrderDual.{u1} Γ₀)) _inst_1 (instLinearOrderedCommMonoidWithZeroMultiplicativeOrderDual.{u1} Γ₀ _inst_2) v))))) 0 (Zero.toOfNat0.{u2} (Ideal.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) (Valuation.supp.{u2, u1} R (Multiplicative.{u1} (OrderDual.{u1} Γ₀)) _inst_1 (instLinearOrderedCommMonoidWithZeroMultiplicativeOrderDual.{u1} Γ₀ _inst_2) v)) (CommSemiring.toSemiring.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) (Valuation.supp.{u2, u1} R (Multiplicative.{u1} (OrderDual.{u1} Γ₀)) _inst_1 (instLinearOrderedCommMonoidWithZeroMultiplicativeOrderDual.{u1} Γ₀ _inst_2) v)) (CommRing.toCommSemiring.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) (Valuation.supp.{u2, u1} R (Multiplicative.{u1} (OrderDual.{u1} Γ₀)) _inst_1 (instLinearOrderedCommMonoidWithZeroMultiplicativeOrderDual.{u1} Γ₀ _inst_2) v)) (Ideal.Quotient.commRing.{u2} R _inst_1 (Valuation.supp.{u2, u1} R (Multiplicative.{u1} (OrderDual.{u1} Γ₀)) _inst_1 (instLinearOrderedCommMonoidWithZeroMultiplicativeOrderDual.{u1} Γ₀ _inst_2) v))))) (CommMonoidWithZero.toZero.{u2} (Ideal.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) (Valuation.supp.{u2, u1} R (Multiplicative.{u1} (OrderDual.{u1} Γ₀)) _inst_1 (instLinearOrderedCommMonoidWithZeroMultiplicativeOrderDual.{u1} Γ₀ _inst_2) v)) (CommSemiring.toSemiring.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) (Valuation.supp.{u2, u1} R (Multiplicative.{u1} (OrderDual.{u1} Γ₀)) _inst_1 (instLinearOrderedCommMonoidWithZeroMultiplicativeOrderDual.{u1} Γ₀ _inst_2) v)) (CommRing.toCommSemiring.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) (Valuation.supp.{u2, u1} R (Multiplicative.{u1} (OrderDual.{u1} Γ₀)) _inst_1 (instLinearOrderedCommMonoidWithZeroMultiplicativeOrderDual.{u1} Γ₀ _inst_2) v)) (Ideal.Quotient.commRing.{u2} R _inst_1 (Valuation.supp.{u2, u1} R (Multiplicative.{u1} (OrderDual.{u1} Γ₀)) _inst_1 (instLinearOrderedCommMonoidWithZeroMultiplicativeOrderDual.{u1} Γ₀ _inst_2) v))))) (CommSemiring.toCommMonoidWithZero.{u2} (Ideal.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) (Valuation.supp.{u2, u1} R (Multiplicative.{u1} (OrderDual.{u1} Γ₀)) _inst_1 (instLinearOrderedCommMonoidWithZeroMultiplicativeOrderDual.{u1} Γ₀ _inst_2) v)) (CommSemiring.toSemiring.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) (Valuation.supp.{u2, u1} R (Multiplicative.{u1} (OrderDual.{u1} Γ₀)) _inst_1 (instLinearOrderedCommMonoidWithZeroMultiplicativeOrderDual.{u1} Γ₀ _inst_2) v)) (CommRing.toCommSemiring.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) (Valuation.supp.{u2, u1} R (Multiplicative.{u1} (OrderDual.{u1} Γ₀)) _inst_1 (instLinearOrderedCommMonoidWithZeroMultiplicativeOrderDual.{u1} Γ₀ _inst_2) v)) (Ideal.Quotient.commRing.{u2} R _inst_1 (Valuation.supp.{u2, u1} R (Multiplicative.{u1} (OrderDual.{u1} Γ₀)) _inst_1 (instLinearOrderedCommMonoidWithZeroMultiplicativeOrderDual.{u1} Γ₀ _inst_2) v))))) (IdemCommSemiring.toCommSemiring.{u2} (Ideal.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) (Valuation.supp.{u2, u1} R (Multiplicative.{u1} (OrderDual.{u1} Γ₀)) _inst_1 (instLinearOrderedCommMonoidWithZeroMultiplicativeOrderDual.{u1} Γ₀ _inst_2) v)) (CommSemiring.toSemiring.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) (Valuation.supp.{u2, u1} R (Multiplicative.{u1} (OrderDual.{u1} Γ₀)) _inst_1 (instLinearOrderedCommMonoidWithZeroMultiplicativeOrderDual.{u1} Γ₀ _inst_2) v)) (CommRing.toCommSemiring.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) (Valuation.supp.{u2, u1} R (Multiplicative.{u1} (OrderDual.{u1} Γ₀)) _inst_1 (instLinearOrderedCommMonoidWithZeroMultiplicativeOrderDual.{u1} Γ₀ _inst_2) v)) (Ideal.Quotient.commRing.{u2} R _inst_1 (Valuation.supp.{u2, u1} R (Multiplicative.{u1} (OrderDual.{u1} Γ₀)) _inst_1 (instLinearOrderedCommMonoidWithZeroMultiplicativeOrderDual.{u1} Γ₀ _inst_2) v))))) (Ideal.instIdemCommSemiringIdealToSemiring.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) (Valuation.supp.{u2, u1} R (Multiplicative.{u1} (OrderDual.{u1} Γ₀)) _inst_1 (instLinearOrderedCommMonoidWithZeroMultiplicativeOrderDual.{u1} Γ₀ _inst_2) v)) (CommRing.toCommSemiring.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} R _inst_1) (Valuation.supp.{u2, u1} R (Multiplicative.{u1} (OrderDual.{u1} Γ₀)) _inst_1 (instLinearOrderedCommMonoidWithZeroMultiplicativeOrderDual.{u1} Γ₀ _inst_2) v)) (Ideal.Quotient.commRing.{u2} R _inst_1 (Valuation.supp.{u2, u1} R (Multiplicative.{u1} (OrderDual.{u1} Γ₀)) _inst_1 (instLinearOrderedCommMonoidWithZeroMultiplicativeOrderDual.{u1} Γ₀ _inst_2) v)))))))))
 Case conversion may be inaccurate. Consider using '#align add_valuation.supp_quot_supp AddValuation.supp_quot_suppₓ'. -/
 theorem supp_quot_supp : supp (v.onQuot le_rfl) = 0 :=
   v.supp_quot_supp
Diff
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Kevin Buzzard, Johan Commelin, Patrick Massot
 
 ! This file was ported from Lean 3 source module ring_theory.valuation.quotient
-! leanprover-community/mathlib commit da420a8c6dd5bdfb85c4ced85c34388f633bc6ff
+! leanprover-community/mathlib commit 19cb3751e5e9b3d97adb51023949c50c13b5fdfd
 ! 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.Ideal.QuotientOperations
 /-!
 # The valuation on a quotient ring
 
+> THIS FILE IS SYNCHRONIZED WITH MATHLIB4.
+> Any changes to this file require a corresponding PR to mathlib4.
+
 The support of a valuation `v : valuation R Γ₀` is `supp v`. If `J` is an ideal of `R`
 with `h : J ⊆ supp v` then the induced valuation
 on R / J = `ideal.quotient J` is `on_quot v h`.
Diff
@@ -27,6 +27,7 @@ variable {R Γ₀ : Type _} [CommRing R] [LinearOrderedCommMonoidWithZero Γ₀]
 
 variable (v : Valuation R Γ₀)
 
+#print Valuation.onQuotVal /-
 /-- If `hJ : J ⊆ supp v` then `on_quot_val hJ` is the induced function on R/J as a function.
 Note: it's just the function; the valuation is `on_quot hJ`. -/
 def onQuotVal {J : Ideal R} (hJ : J ≤ supp v) : R ⧸ J → Γ₀ := fun q =>
@@ -37,7 +38,9 @@ def onQuotVal {J : Ideal R} (hJ : J ≤ supp v) : R ⧸ J → Γ₀ := fun q =>
         v.map_add_supp b <| (Ideal.neg_mem_iff _).2 <| hJ <| QuotientAddGroup.leftRel_apply.mp h
       
 #align valuation.on_quot_val Valuation.onQuotVal
+-/
 
+#print Valuation.onQuot /-
 /-- The extension of valuation v on R to valuation on R/J if J ⊆ supp v -/
 def onQuot {J : Ideal R} (hJ : J ≤ supp v) : Valuation (R ⧸ J) Γ₀
     where
@@ -47,13 +50,26 @@ def onQuot {J : Ideal R} (hJ : J ≤ supp v) : Valuation (R ⧸ J) Γ₀
   map_mul' xbar ybar := Quotient.ind₂' v.map_mul xbar ybar
   map_add_le_max' xbar ybar := Quotient.ind₂' v.map_add xbar ybar
 #align valuation.on_quot Valuation.onQuot
+-/
 
+/- warning: valuation.on_quot_comap_eq -> Valuation.onQuot_comap_eq is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {Γ₀ : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : LinearOrderedCommMonoidWithZero.{u2} Γ₀] (v : Valuation.{u1, u2} R Γ₀ _inst_2 (CommRing.toRing.{u1} R _inst_1)) {J : Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))} (hJ : LE.le.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Preorder.toLE.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))))) J (Valuation.supp.{u1, u2} R Γ₀ _inst_1 _inst_2 v)), Eq.{max (succ u1) (succ u2)} (Valuation.{u1, u2} R Γ₀ _inst_2 (CommRing.toRing.{u1} R _inst_1)) (Valuation.comap.{u1, u2, u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) Γ₀ (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (Ideal.Quotient.commRing.{u1} R _inst_1 J)) _inst_2 R (CommRing.toRing.{u1} R _inst_1) (Ideal.Quotient.mk.{u1} R _inst_1 J) (Valuation.onQuot.{u1, u2} R Γ₀ _inst_1 _inst_2 v J hJ)) v
+but is expected to have type
+  forall {R : Type.{u2}} {Γ₀ : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : LinearOrderedCommMonoidWithZero.{u1} Γ₀] (v : Valuation.{u2, u1} R Γ₀ _inst_2 (CommRing.toRing.{u2} R _inst_1)) {J : Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))} (hJ : LE.le.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Preorder.toLE.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (PartialOrder.toPreorder.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Submodule.completeLattice.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))))))) J (Valuation.supp.{u2, u1} R Γ₀ _inst_1 _inst_2 v)), Eq.{max (succ u2) (succ u1)} (Valuation.{u2, u1} R Γ₀ _inst_2 (CommRing.toRing.{u2} R _inst_1)) (Valuation.comap.{u2, u1, u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToRing.{u2} R _inst_1) J) Γ₀ (CommRing.toRing.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToRing.{u2} R _inst_1) J) (Ideal.Quotient.commRing.{u2} R _inst_1 J)) _inst_2 R (CommRing.toRing.{u2} R _inst_1) (Ideal.Quotient.mk.{u2} R _inst_1 J) (Valuation.onQuot.{u2, u1} R Γ₀ _inst_1 _inst_2 v J hJ)) v
+Case conversion may be inaccurate. Consider using '#align valuation.on_quot_comap_eq Valuation.onQuot_comap_eqₓ'. -/
 @[simp]
 theorem onQuot_comap_eq {J : Ideal R} (hJ : J ≤ supp v) :
     (v.onQuot hJ).comap (Ideal.Quotient.mk J) = v :=
   ext fun r => rfl
 #align valuation.on_quot_comap_eq Valuation.onQuot_comap_eq
 
+/- warning: valuation.self_le_supp_comap -> Valuation.self_le_supp_comap is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {Γ₀ : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : LinearOrderedCommMonoidWithZero.{u2} Γ₀] (J : Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (v : Valuation.{u1, u2} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) Γ₀ _inst_2 (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (Ideal.Quotient.commRing.{u1} R _inst_1 J))), LE.le.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Preorder.toLE.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))))) J (Valuation.supp.{u1, u2} R Γ₀ _inst_1 _inst_2 (Valuation.comap.{u1, u2, u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) Γ₀ (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (Ideal.Quotient.commRing.{u1} R _inst_1 J)) _inst_2 R (CommRing.toRing.{u1} R _inst_1) (Ideal.Quotient.mk.{u1} R _inst_1 J) v))
+but is expected to have type
+  forall {R : Type.{u2}} {Γ₀ : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : LinearOrderedCommMonoidWithZero.{u1} Γ₀] (J : Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (v : Valuation.{u2, u1} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToRing.{u2} R _inst_1) J) Γ₀ _inst_2 (CommRing.toRing.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToRing.{u2} R _inst_1) J) (Ideal.Quotient.commRing.{u2} R _inst_1 J))), LE.le.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Preorder.toLE.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (PartialOrder.toPreorder.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Submodule.completeLattice.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))))))) J (Valuation.supp.{u2, u1} R Γ₀ _inst_1 _inst_2 (Valuation.comap.{u2, u1, u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToRing.{u2} R _inst_1) J) Γ₀ (CommRing.toRing.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToRing.{u2} R _inst_1) J) (Ideal.Quotient.commRing.{u2} R _inst_1 J)) _inst_2 R (CommRing.toRing.{u2} R _inst_1) (Ideal.Quotient.mk.{u2} R _inst_1 J) v))
+Case conversion may be inaccurate. Consider using '#align valuation.self_le_supp_comap Valuation.self_le_supp_comapₓ'. -/
 theorem self_le_supp_comap (J : Ideal R) (v : Valuation (R ⧸ J) Γ₀) :
     J ≤ (v.comap (Ideal.Quotient.mk J)).supp :=
   by
@@ -61,6 +77,12 @@ theorem self_le_supp_comap (J : Ideal R) (v : Valuation (R ⧸ J) Γ₀) :
   simp
 #align valuation.self_le_supp_comap Valuation.self_le_supp_comap
 
+/- warning: valuation.comap_on_quot_eq -> Valuation.comap_onQuot_eq is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {Γ₀ : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : LinearOrderedCommMonoidWithZero.{u2} Γ₀] (J : Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (v : Valuation.{u1, u2} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) Γ₀ _inst_2 (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (Ideal.Quotient.commRing.{u1} R _inst_1 J))), Eq.{max (succ u1) (succ u2)} (Valuation.{u1, u2} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) Γ₀ _inst_2 (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (Ideal.Quotient.commRing.{u1} R _inst_1 J))) (Valuation.onQuot.{u1, u2} R Γ₀ _inst_1 _inst_2 (Valuation.comap.{u1, u2, u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) Γ₀ (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (Ideal.Quotient.commRing.{u1} R _inst_1 J)) _inst_2 R (CommRing.toRing.{u1} R _inst_1) (Ideal.Quotient.mk.{u1} R _inst_1 J) v) J (Valuation.self_le_supp_comap.{u1, u2} R Γ₀ _inst_1 _inst_2 J v)) v
+but is expected to have type
+  forall {R : Type.{u2}} {Γ₀ : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : LinearOrderedCommMonoidWithZero.{u1} Γ₀] (J : Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (v : Valuation.{u2, u1} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToRing.{u2} R _inst_1) J) Γ₀ _inst_2 (CommRing.toRing.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToRing.{u2} R _inst_1) J) (Ideal.Quotient.commRing.{u2} R _inst_1 J))), Eq.{max (succ u2) (succ u1)} (Valuation.{u2, u1} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToRing.{u2} R _inst_1) J) Γ₀ _inst_2 (CommRing.toRing.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToRing.{u2} R _inst_1) J) (Ideal.Quotient.commRing.{u2} R _inst_1 J))) (Valuation.onQuot.{u2, u1} R Γ₀ _inst_1 _inst_2 (Valuation.comap.{u2, u1, u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToRing.{u2} R _inst_1) J) Γ₀ (CommRing.toRing.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToRing.{u2} R _inst_1) J) (Ideal.Quotient.commRing.{u2} R _inst_1 J)) _inst_2 R (CommRing.toRing.{u2} R _inst_1) (Ideal.Quotient.mk.{u2} R _inst_1 J) v) J (Valuation.self_le_supp_comap.{u1, u2} R Γ₀ _inst_1 _inst_2 J v)) v
+Case conversion may be inaccurate. Consider using '#align valuation.comap_on_quot_eq Valuation.comap_onQuot_eqₓ'. -/
 @[simp]
 theorem comap_onQuot_eq (J : Ideal R) (v : Valuation (R ⧸ J) Γ₀) :
     (v.comap (Ideal.Quotient.mk J)).onQuot (v.self_le_supp_comap J) = v :=
@@ -69,6 +91,12 @@ theorem comap_onQuot_eq (J : Ideal R) (v : Valuation (R ⧸ J) Γ₀) :
     rfl
 #align valuation.comap_on_quot_eq Valuation.comap_onQuot_eq
 
+/- warning: valuation.supp_quot -> Valuation.supp_quot is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {Γ₀ : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : LinearOrderedCommMonoidWithZero.{u2} Γ₀] (v : Valuation.{u1, u2} R Γ₀ _inst_2 (CommRing.toRing.{u1} R _inst_1)) {J : Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))} (hJ : LE.le.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Preorder.toLE.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))))) J (Valuation.supp.{u1, u2} R Γ₀ _inst_1 _inst_2 v)), Eq.{succ u1} (Ideal.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (Ring.toSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (Ideal.Quotient.commRing.{u1} R _inst_1 J)))) (Valuation.supp.{u1, u2} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) Γ₀ (Ideal.Quotient.commRing.{u1} R _inst_1 J) _inst_2 (Valuation.onQuot.{u1, u2} R Γ₀ _inst_1 _inst_2 v J hJ)) (Ideal.map.{u1, u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (RingHom.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (Ring.toNonAssocRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (Ideal.Quotient.commRing.{u1} R _inst_1 J))))) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (Ideal.Quotient.commRing.{u1} R _inst_1 J))) (RingHom.ringHomClass.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (Ring.toNonAssocRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (Ideal.Quotient.commRing.{u1} R _inst_1 J))))) (Ideal.Quotient.mk.{u1} R _inst_1 J) (Valuation.supp.{u1, u2} R Γ₀ _inst_1 _inst_2 v))
+but is expected to have type
+  forall {R : Type.{u2}} {Γ₀ : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : LinearOrderedCommMonoidWithZero.{u1} Γ₀] (v : Valuation.{u2, u1} R Γ₀ _inst_2 (CommRing.toRing.{u2} R _inst_1)) {J : Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))} (hJ : LE.le.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Preorder.toLE.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (PartialOrder.toPreorder.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Submodule.completeLattice.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))))))) J (Valuation.supp.{u2, u1} R Γ₀ _inst_1 _inst_2 v)), Eq.{succ u2} (Ideal.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToRing.{u2} R _inst_1) J) (Ring.toSemiring.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToRing.{u2} R _inst_1) J) (CommRing.toRing.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToRing.{u2} R _inst_1) J) (Ideal.Quotient.commRing.{u2} R _inst_1 J)))) (Valuation.supp.{u2, u1} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToRing.{u2} R _inst_1) J) Γ₀ (Ideal.Quotient.commRing.{u2} R _inst_1 J) _inst_2 (Valuation.onQuot.{u2, u1} R Γ₀ _inst_1 _inst_2 v J hJ)) (Ideal.map.{u2, u2, u2} R (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToRing.{u2} R _inst_1) J) (RingHom.{u2, u2} R (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToRing.{u2} R _inst_1) J) (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToRing.{u2} R _inst_1) J) (Ring.toNonAssocRing.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToRing.{u2} R _inst_1) J) (CommRing.toRing.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToRing.{u2} R _inst_1) J) (Ideal.Quotient.commRing.{u2} R _inst_1 J))))) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToRing.{u2} R _inst_1) J) (CommRing.toRing.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToRing.{u2} R _inst_1) J) (Ideal.Quotient.commRing.{u2} R _inst_1 J))) (RingHom.instRingHomClassRingHom.{u2, u2} R (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToRing.{u2} R _inst_1) J) (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToRing.{u2} R _inst_1) J) (Ring.toNonAssocRing.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToRing.{u2} R _inst_1) J) (CommRing.toRing.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToRing.{u2} R _inst_1) J) (Ideal.Quotient.commRing.{u2} R _inst_1 J))))) (Ideal.Quotient.mk.{u2} R _inst_1 J) (Valuation.supp.{u2, u1} R Γ₀ _inst_1 _inst_2 v))
+Case conversion may be inaccurate. Consider using '#align valuation.supp_quot Valuation.supp_quotₓ'. -/
 /-- The quotient valuation on R/J has support supp(v)/J if J ⊆ supp v. -/
 theorem supp_quot {J : Ideal R} (hJ : J ≤ supp v) :
     supp (v.onQuot hJ) = (supp v).map (Ideal.Quotient.mk J) :=
@@ -82,6 +110,12 @@ theorem supp_quot {J : Ideal R} (hJ : J ≤ supp v) :
     exact hx
 #align valuation.supp_quot Valuation.supp_quot
 
+/- warning: valuation.supp_quot_supp -> Valuation.supp_quot_supp is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {Γ₀ : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : LinearOrderedCommMonoidWithZero.{u2} Γ₀] (v : Valuation.{u1, u2} R Γ₀ _inst_2 (CommRing.toRing.{u1} R _inst_1)), Eq.{succ u1} (Ideal.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (Valuation.supp.{u1, u2} R Γ₀ _inst_1 _inst_2 v)) (Ring.toSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (Valuation.supp.{u1, u2} R Γ₀ _inst_1 _inst_2 v)) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (Valuation.supp.{u1, u2} R Γ₀ _inst_1 _inst_2 v)) (Ideal.Quotient.commRing.{u1} R _inst_1 (Valuation.supp.{u1, u2} R Γ₀ _inst_1 _inst_2 v))))) (Valuation.supp.{u1, u2} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (Valuation.supp.{u1, u2} R Γ₀ _inst_1 _inst_2 v)) Γ₀ (Ideal.Quotient.commRing.{u1} R _inst_1 (Valuation.supp.{u1, u2} R Γ₀ _inst_1 _inst_2 v)) _inst_2 (Valuation.onQuot.{u1, u2} R Γ₀ _inst_1 _inst_2 v (Valuation.supp.{u1, u2} R Γ₀ _inst_1 _inst_2 v) (le_rfl.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) (Valuation.supp.{u1, u2} R Γ₀ _inst_1 _inst_2 v)))) (OfNat.ofNat.{u1} (Ideal.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (Valuation.supp.{u1, u2} R Γ₀ _inst_1 _inst_2 v)) (Ring.toSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (Valuation.supp.{u1, u2} R Γ₀ _inst_1 _inst_2 v)) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (Valuation.supp.{u1, u2} R Γ₀ _inst_1 _inst_2 v)) (Ideal.Quotient.commRing.{u1} R _inst_1 (Valuation.supp.{u1, u2} R Γ₀ _inst_1 _inst_2 v))))) 0 (OfNat.mk.{u1} (Ideal.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (Valuation.supp.{u1, u2} R Γ₀ _inst_1 _inst_2 v)) (Ring.toSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (Valuation.supp.{u1, u2} R Γ₀ _inst_1 _inst_2 v)) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (Valuation.supp.{u1, u2} R Γ₀ _inst_1 _inst_2 v)) (Ideal.Quotient.commRing.{u1} R _inst_1 (Valuation.supp.{u1, u2} R Γ₀ _inst_1 _inst_2 v))))) 0 (Zero.zero.{u1} (Ideal.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (Valuation.supp.{u1, u2} R Γ₀ _inst_1 _inst_2 v)) (Ring.toSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (Valuation.supp.{u1, u2} R Γ₀ _inst_1 _inst_2 v)) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (Valuation.supp.{u1, u2} R Γ₀ _inst_1 _inst_2 v)) (Ideal.Quotient.commRing.{u1} R _inst_1 (Valuation.supp.{u1, u2} R Γ₀ _inst_1 _inst_2 v))))) (MulZeroClass.toHasZero.{u1} (Ideal.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (Valuation.supp.{u1, u2} R Γ₀ _inst_1 _inst_2 v)) (Ring.toSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (Valuation.supp.{u1, u2} R Γ₀ _inst_1 _inst_2 v)) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (Valuation.supp.{u1, u2} R Γ₀ _inst_1 _inst_2 v)) (Ideal.Quotient.commRing.{u1} R _inst_1 (Valuation.supp.{u1, u2} R Γ₀ _inst_1 _inst_2 v))))) (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} (Ideal.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (Valuation.supp.{u1, u2} R Γ₀ _inst_1 _inst_2 v)) (Ring.toSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (Valuation.supp.{u1, u2} R Γ₀ _inst_1 _inst_2 v)) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (Valuation.supp.{u1, u2} R Γ₀ _inst_1 _inst_2 v)) (Ideal.Quotient.commRing.{u1} R _inst_1 (Valuation.supp.{u1, u2} R Γ₀ _inst_1 _inst_2 v))))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Ideal.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (Valuation.supp.{u1, u2} R Γ₀ _inst_1 _inst_2 v)) (Ring.toSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (Valuation.supp.{u1, u2} R Γ₀ _inst_1 _inst_2 v)) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (Valuation.supp.{u1, u2} R Γ₀ _inst_1 _inst_2 v)) (Ideal.Quotient.commRing.{u1} R _inst_1 (Valuation.supp.{u1, u2} R Γ₀ _inst_1 _inst_2 v))))) (Semiring.toNonAssocSemiring.{u1} (Ideal.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (Valuation.supp.{u1, u2} R Γ₀ _inst_1 _inst_2 v)) (Ring.toSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (Valuation.supp.{u1, u2} R Γ₀ _inst_1 _inst_2 v)) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (Valuation.supp.{u1, u2} R Γ₀ _inst_1 _inst_2 v)) (Ideal.Quotient.commRing.{u1} R _inst_1 (Valuation.supp.{u1, u2} R Γ₀ _inst_1 _inst_2 v))))) (IdemSemiring.toSemiring.{u1} (Ideal.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (Valuation.supp.{u1, u2} R Γ₀ _inst_1 _inst_2 v)) (Ring.toSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (Valuation.supp.{u1, u2} R Γ₀ _inst_1 _inst_2 v)) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (Valuation.supp.{u1, u2} R Γ₀ _inst_1 _inst_2 v)) (Ideal.Quotient.commRing.{u1} R _inst_1 (Valuation.supp.{u1, u2} R Γ₀ _inst_1 _inst_2 v))))) (Submodule.idemSemiring.{u1, u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (Valuation.supp.{u1, u2} R Γ₀ _inst_1 _inst_2 v)) (CommRing.toCommSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (Valuation.supp.{u1, u2} R Γ₀ _inst_1 _inst_2 v)) (Ideal.Quotient.commRing.{u1} R _inst_1 (Valuation.supp.{u1, u2} R Γ₀ _inst_1 _inst_2 v))) (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (Valuation.supp.{u1, u2} R Γ₀ _inst_1 _inst_2 v)) (Ring.toSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (Valuation.supp.{u1, u2} R Γ₀ _inst_1 _inst_2 v)) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (Valuation.supp.{u1, u2} R Γ₀ _inst_1 _inst_2 v)) (Ideal.Quotient.commRing.{u1} R _inst_1 (Valuation.supp.{u1, u2} R Γ₀ _inst_1 _inst_2 v)))) (Algebra.id.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (Valuation.supp.{u1, u2} R Γ₀ _inst_1 _inst_2 v)) (CommRing.toCommSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (Valuation.supp.{u1, u2} R Γ₀ _inst_1 _inst_2 v)) (Ideal.Quotient.commRing.{u1} R _inst_1 (Valuation.supp.{u1, u2} R Γ₀ _inst_1 _inst_2 v)))))))))))))
+but is expected to have type
+  forall {R : Type.{u2}} {Γ₀ : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : LinearOrderedCommMonoidWithZero.{u1} Γ₀] (v : Valuation.{u2, u1} R Γ₀ _inst_2 (CommRing.toRing.{u2} R _inst_1)), Eq.{succ u2} (Ideal.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToRing.{u2} R _inst_1) (Valuation.supp.{u2, u1} R Γ₀ _inst_1 _inst_2 v)) (Ring.toSemiring.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToRing.{u2} R _inst_1) (Valuation.supp.{u2, u1} R Γ₀ _inst_1 _inst_2 v)) (CommRing.toRing.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToRing.{u2} R _inst_1) (Valuation.supp.{u2, u1} R Γ₀ _inst_1 _inst_2 v)) (Ideal.Quotient.commRing.{u2} R _inst_1 (Valuation.supp.{u2, u1} R Γ₀ _inst_1 _inst_2 v))))) (Valuation.supp.{u2, u1} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToRing.{u2} R _inst_1) (Valuation.supp.{u2, u1} R Γ₀ _inst_1 _inst_2 v)) Γ₀ (Ideal.Quotient.commRing.{u2} R _inst_1 (Valuation.supp.{u2, u1} R Γ₀ _inst_1 _inst_2 v)) _inst_2 (Valuation.onQuot.{u2, u1} R Γ₀ _inst_1 _inst_2 v (Valuation.supp.{u2, u1} R Γ₀ _inst_1 _inst_2 v) (le_rfl.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (PartialOrder.toPreorder.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Submodule.completeLattice.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))))) (Valuation.supp.{u2, u1} R Γ₀ _inst_1 _inst_2 v)))) (OfNat.ofNat.{u2} (Ideal.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToRing.{u2} R _inst_1) (Valuation.supp.{u2, u1} R Γ₀ _inst_1 _inst_2 v)) (Ring.toSemiring.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToRing.{u2} R _inst_1) (Valuation.supp.{u2, u1} R Γ₀ _inst_1 _inst_2 v)) (CommRing.toRing.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToRing.{u2} R _inst_1) (Valuation.supp.{u2, u1} R Γ₀ _inst_1 _inst_2 v)) (Ideal.Quotient.commRing.{u2} R _inst_1 (Valuation.supp.{u2, u1} R Γ₀ _inst_1 _inst_2 v))))) 0 (Zero.toOfNat0.{u2} (Ideal.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToRing.{u2} R _inst_1) (Valuation.supp.{u2, u1} R Γ₀ _inst_1 _inst_2 v)) (Ring.toSemiring.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToRing.{u2} R _inst_1) (Valuation.supp.{u2, u1} R Γ₀ _inst_1 _inst_2 v)) (CommRing.toRing.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToRing.{u2} R _inst_1) (Valuation.supp.{u2, u1} R Γ₀ _inst_1 _inst_2 v)) (Ideal.Quotient.commRing.{u2} R _inst_1 (Valuation.supp.{u2, u1} R Γ₀ _inst_1 _inst_2 v))))) (CommMonoidWithZero.toZero.{u2} (Ideal.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToRing.{u2} R _inst_1) (Valuation.supp.{u2, u1} R Γ₀ _inst_1 _inst_2 v)) (Ring.toSemiring.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToRing.{u2} R _inst_1) (Valuation.supp.{u2, u1} R Γ₀ _inst_1 _inst_2 v)) (CommRing.toRing.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToRing.{u2} R _inst_1) (Valuation.supp.{u2, u1} R Γ₀ _inst_1 _inst_2 v)) (Ideal.Quotient.commRing.{u2} R _inst_1 (Valuation.supp.{u2, u1} R Γ₀ _inst_1 _inst_2 v))))) (CommSemiring.toCommMonoidWithZero.{u2} (Ideal.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToRing.{u2} R _inst_1) (Valuation.supp.{u2, u1} R Γ₀ _inst_1 _inst_2 v)) (Ring.toSemiring.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToRing.{u2} R _inst_1) (Valuation.supp.{u2, u1} R Γ₀ _inst_1 _inst_2 v)) (CommRing.toRing.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToRing.{u2} R _inst_1) (Valuation.supp.{u2, u1} R Γ₀ _inst_1 _inst_2 v)) (Ideal.Quotient.commRing.{u2} R _inst_1 (Valuation.supp.{u2, u1} R Γ₀ _inst_1 _inst_2 v))))) (IdemCommSemiring.toCommSemiring.{u2} (Ideal.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToRing.{u2} R _inst_1) (Valuation.supp.{u2, u1} R Γ₀ _inst_1 _inst_2 v)) (Ring.toSemiring.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToRing.{u2} R _inst_1) (Valuation.supp.{u2, u1} R Γ₀ _inst_1 _inst_2 v)) (CommRing.toRing.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToRing.{u2} R _inst_1) (Valuation.supp.{u2, u1} R Γ₀ _inst_1 _inst_2 v)) (Ideal.Quotient.commRing.{u2} R _inst_1 (Valuation.supp.{u2, u1} R Γ₀ _inst_1 _inst_2 v))))) (Ideal.instIdemCommSemiringIdealToSemiring.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToRing.{u2} R _inst_1) (Valuation.supp.{u2, u1} R Γ₀ _inst_1 _inst_2 v)) (CommRing.toCommSemiring.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToRing.{u2} R _inst_1) (Valuation.supp.{u2, u1} R Γ₀ _inst_1 _inst_2 v)) (Ideal.Quotient.commRing.{u2} R _inst_1 (Valuation.supp.{u2, u1} R Γ₀ _inst_1 _inst_2 v)))))))))
+Case conversion may be inaccurate. Consider using '#align valuation.supp_quot_supp Valuation.supp_quot_suppₓ'. -/
 theorem supp_quot_supp : supp (v.onQuot le_rfl) = 0 :=
   by
   rw [supp_quot]
@@ -100,45 +134,85 @@ variable (v : AddValuation R Γ₀)
 
 attribute [local reducible] AddValuation
 
+#print AddValuation.onQuotVal /-
 /-- If `hJ : J ⊆ supp v` then `on_quot_val hJ` is the induced function on R/J as a function.
 Note: it's just the function; the valuation is `on_quot hJ`. -/
 def onQuotVal {J : Ideal R} (hJ : J ≤ supp v) : R ⧸ J → Γ₀ :=
   v.onQuotVal hJ
 #align add_valuation.on_quot_val AddValuation.onQuotVal
+-/
 
+#print AddValuation.onQuot /-
 /-- The extension of valuation v on R to valuation on R/J if J ⊆ supp v -/
 def onQuot {J : Ideal R} (hJ : J ≤ supp v) : AddValuation (R ⧸ J) Γ₀ :=
   v.onQuot hJ
 #align add_valuation.on_quot AddValuation.onQuot
+-/
 
+/- warning: add_valuation.on_quot_comap_eq -> AddValuation.onQuot_comap_eq is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {Γ₀ : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : LinearOrderedAddCommMonoidWithTop.{u2} Γ₀] (v : AddValuation.{u1, u2} R (CommRing.toRing.{u1} R _inst_1) Γ₀ _inst_2) {J : Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))} (hJ : LE.le.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Preorder.toLE.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))))) J (AddValuation.supp.{u1, u2} R Γ₀ _inst_2 _inst_1 v)), Eq.{max (succ u1) (succ u2)} (AddValuation.{u1, u2} R (CommRing.toRing.{u1} R _inst_1) Γ₀ _inst_2) (AddValuation.comap.{u1, u2, u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) Γ₀ _inst_2 (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (Ideal.Quotient.commRing.{u1} R _inst_1 J)) R (CommRing.toRing.{u1} R _inst_1) (Ideal.Quotient.mk.{u1} R _inst_1 J) (AddValuation.onQuot.{u1, u2} R Γ₀ _inst_1 _inst_2 v J hJ)) v
+but is expected to have type
+  forall {R : Type.{u2}} {Γ₀ : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : LinearOrderedAddCommMonoidWithTop.{u1} Γ₀] (v : AddValuation.{u2, u1} R (CommRing.toRing.{u2} R _inst_1) Γ₀ _inst_2) {J : Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))} (hJ : LE.le.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Preorder.toLE.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (PartialOrder.toPreorder.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Submodule.completeLattice.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))))))) J (AddValuation.supp.{u2, u1} R Γ₀ _inst_2 _inst_1 v)), Eq.{max (succ u2) (succ u1)} (AddValuation.{u2, u1} R (CommRing.toRing.{u2} R _inst_1) Γ₀ _inst_2) (AddValuation.comap.{u2, u1, u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToRing.{u2} R _inst_1) J) Γ₀ (CommRing.toRing.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToRing.{u2} R _inst_1) J) (Ideal.Quotient.commRing.{u2} R _inst_1 J)) _inst_2 R (CommRing.toRing.{u2} R _inst_1) (Ideal.Quotient.mk.{u2} R _inst_1 J) (AddValuation.onQuot.{u2, u1} R Γ₀ _inst_1 _inst_2 v J hJ)) v
+Case conversion may be inaccurate. Consider using '#align add_valuation.on_quot_comap_eq AddValuation.onQuot_comap_eqₓ'. -/
 @[simp]
 theorem onQuot_comap_eq {J : Ideal R} (hJ : J ≤ supp v) :
     (v.onQuot hJ).comap (Ideal.Quotient.mk J) = v :=
   v.onQuot_comap_eq hJ
 #align add_valuation.on_quot_comap_eq AddValuation.onQuot_comap_eq
 
+/- warning: add_valuation.comap_supp -> AddValuation.comap_supp is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {Γ₀ : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : LinearOrderedAddCommMonoidWithTop.{u2} Γ₀] (v : AddValuation.{u1, u2} R (CommRing.toRing.{u1} R _inst_1) Γ₀ _inst_2) {S : Type.{u3}} [_inst_3 : CommRing.{u3} S] (f : RingHom.{u3, u1} S R (NonAssocRing.toNonAssocSemiring.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_3))) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))), Eq.{succ u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) (AddValuation.supp.{u3, u2} S Γ₀ _inst_2 _inst_3 (AddValuation.comap.{u1, u2, u3} R Γ₀ _inst_2 (CommRing.toRing.{u1} R _inst_1) S (CommRing.toRing.{u3} S _inst_3) f v)) (Ideal.comap.{u3, u1, max u3 u1} S R (RingHom.{u3, u1} S R (NonAssocRing.toNonAssocSemiring.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_3))) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.ringHomClass.{u3, u1} S R (NonAssocRing.toNonAssocSemiring.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_3))) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) f (AddValuation.supp.{u1, u2} R Γ₀ _inst_2 _inst_1 v))
+but is expected to have type
+  forall {R : Type.{u2}} {Γ₀ : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : LinearOrderedAddCommMonoidWithTop.{u1} Γ₀] (v : AddValuation.{u2, u1} R (CommRing.toRing.{u2} R _inst_1) Γ₀ _inst_2) {S : Type.{u3}} [_inst_3 : CommRing.{u3} S] (f : RingHom.{u3, u2} S R (NonAssocRing.toNonAssocSemiring.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_3))) (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))), Eq.{succ u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) (AddValuation.supp.{u3, u1} S Γ₀ _inst_2 _inst_3 (AddValuation.comap.{u2, u1, u3} R Γ₀ (CommRing.toRing.{u2} R _inst_1) _inst_2 S (CommRing.toRing.{u3} S _inst_3) f v)) (Ideal.comap.{u3, u2, max u2 u3} S R (RingHom.{u3, u2} S R (NonAssocRing.toNonAssocSemiring.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_3))) (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.instRingHomClassRingHom.{u3, u2} S R (NonAssocRing.toNonAssocSemiring.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_3))) (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) f (AddValuation.supp.{u2, u1} R Γ₀ _inst_2 _inst_1 v))
+Case conversion may be inaccurate. Consider using '#align add_valuation.comap_supp AddValuation.comap_suppₓ'. -/
 theorem comap_supp {S : Type _} [CommRing S] (f : S →+* R) :
     supp (v.comap f) = Ideal.comap f v.supp :=
   v.comap_supp f
 #align add_valuation.comap_supp AddValuation.comap_supp
 
+/- warning: add_valuation.self_le_supp_comap -> AddValuation.self_le_supp_comap is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {Γ₀ : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : LinearOrderedAddCommMonoidWithTop.{u2} Γ₀] (J : Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (v : AddValuation.{u1, u2} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (Ideal.Quotient.commRing.{u1} R _inst_1 J)) Γ₀ _inst_2), LE.le.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Preorder.toLE.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))))) J (AddValuation.supp.{u1, u2} R Γ₀ _inst_2 _inst_1 (AddValuation.comap.{u1, u2, u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) Γ₀ _inst_2 (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (Ideal.Quotient.commRing.{u1} R _inst_1 J)) R (CommRing.toRing.{u1} R _inst_1) (Ideal.Quotient.mk.{u1} R _inst_1 J) v))
+but is expected to have type
+  forall {R : Type.{u2}} {Γ₀ : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : LinearOrderedAddCommMonoidWithTop.{u1} Γ₀] (J : Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (v : AddValuation.{u2, u1} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToRing.{u2} R _inst_1) J) (CommRing.toRing.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToRing.{u2} R _inst_1) J) (Ideal.Quotient.commRing.{u2} R _inst_1 J)) Γ₀ _inst_2), LE.le.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Preorder.toLE.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (PartialOrder.toPreorder.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Submodule.completeLattice.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))))))) J (AddValuation.supp.{u2, u1} R Γ₀ _inst_2 _inst_1 (AddValuation.comap.{u2, u1, u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToRing.{u2} R _inst_1) J) Γ₀ (CommRing.toRing.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToRing.{u2} R _inst_1) J) (Ideal.Quotient.commRing.{u2} R _inst_1 J)) _inst_2 R (CommRing.toRing.{u2} R _inst_1) (Ideal.Quotient.mk.{u2} R _inst_1 J) v))
+Case conversion may be inaccurate. Consider using '#align add_valuation.self_le_supp_comap AddValuation.self_le_supp_comapₓ'. -/
 theorem self_le_supp_comap (J : Ideal R) (v : AddValuation (R ⧸ J) Γ₀) :
     J ≤ (v.comap (Ideal.Quotient.mk J)).supp :=
   v.self_le_supp_comap J
 #align add_valuation.self_le_supp_comap AddValuation.self_le_supp_comap
 
+/- warning: add_valuation.comap_on_quot_eq -> AddValuation.comap_onQuot_eq is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {Γ₀ : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : LinearOrderedAddCommMonoidWithTop.{u2} Γ₀] (J : Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (v : AddValuation.{u1, u2} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (Ideal.Quotient.commRing.{u1} R _inst_1 J)) Γ₀ _inst_2), Eq.{max (succ u1) (succ u2)} (AddValuation.{u1, u2} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (Ideal.Quotient.commRing.{u1} R _inst_1 J)) Γ₀ _inst_2) (AddValuation.onQuot.{u1, u2} R Γ₀ _inst_1 _inst_2 (AddValuation.comap.{u1, u2, u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) Γ₀ _inst_2 (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (Ideal.Quotient.commRing.{u1} R _inst_1 J)) R (CommRing.toRing.{u1} R _inst_1) (Ideal.Quotient.mk.{u1} R _inst_1 J) v) J (AddValuation.self_le_supp_comap.{u1, u2} R Γ₀ _inst_1 _inst_2 J v)) v
+but is expected to have type
+  forall {R : Type.{u2}} {Γ₀ : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : LinearOrderedAddCommMonoidWithTop.{u1} Γ₀] (J : Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (v : AddValuation.{u2, u1} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToRing.{u2} R _inst_1) J) (CommRing.toRing.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToRing.{u2} R _inst_1) J) (Ideal.Quotient.commRing.{u2} R _inst_1 J)) Γ₀ _inst_2), Eq.{max (succ u2) (succ u1)} (AddValuation.{u2, u1} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToRing.{u2} R _inst_1) J) (CommRing.toRing.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToRing.{u2} R _inst_1) J) (Ideal.Quotient.commRing.{u2} R _inst_1 J)) Γ₀ _inst_2) (AddValuation.onQuot.{u2, u1} R Γ₀ _inst_1 _inst_2 (AddValuation.comap.{u2, u1, u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToRing.{u2} R _inst_1) J) Γ₀ (CommRing.toRing.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToRing.{u2} R _inst_1) J) (Ideal.Quotient.commRing.{u2} R _inst_1 J)) _inst_2 R (CommRing.toRing.{u2} R _inst_1) (Ideal.Quotient.mk.{u2} R _inst_1 J) v) J (AddValuation.self_le_supp_comap.{u1, u2} R Γ₀ _inst_1 _inst_2 J v)) v
+Case conversion may be inaccurate. Consider using '#align add_valuation.comap_on_quot_eq AddValuation.comap_onQuot_eqₓ'. -/
 @[simp]
 theorem comap_onQuot_eq (J : Ideal R) (v : AddValuation (R ⧸ J) Γ₀) :
     (v.comap (Ideal.Quotient.mk J)).onQuot (v.self_le_supp_comap J) = v :=
   v.comap_onQuot_eq J
 #align add_valuation.comap_on_quot_eq AddValuation.comap_onQuot_eq
 
+/- warning: add_valuation.supp_quot -> AddValuation.supp_quot is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {Γ₀ : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : LinearOrderedAddCommMonoidWithTop.{u2} Γ₀] (v : AddValuation.{u1, u2} R (CommRing.toRing.{u1} R _inst_1) Γ₀ _inst_2) {J : Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))} (hJ : LE.le.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Preorder.toLE.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))))) J (AddValuation.supp.{u1, u2} R Γ₀ _inst_2 _inst_1 v)), Eq.{succ u1} (Ideal.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (Ring.toSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (Ideal.Quotient.commRing.{u1} R _inst_1 J)))) (AddValuation.supp.{u1, u2} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) Γ₀ _inst_2 (Ideal.Quotient.commRing.{u1} R _inst_1 J) (AddValuation.onQuot.{u1, u2} R Γ₀ _inst_1 _inst_2 v J hJ)) (Ideal.map.{u1, u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (RingHom.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (Ring.toNonAssocRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (Ideal.Quotient.commRing.{u1} R _inst_1 J))))) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (Ideal.Quotient.commRing.{u1} R _inst_1 J))) (RingHom.ringHomClass.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (Ring.toNonAssocRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) J) (Ideal.Quotient.commRing.{u1} R _inst_1 J))))) (Ideal.Quotient.mk.{u1} R _inst_1 J) (AddValuation.supp.{u1, u2} R Γ₀ _inst_2 _inst_1 v))
+but is expected to have type
+  forall {R : Type.{u2}} {Γ₀ : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : LinearOrderedAddCommMonoidWithTop.{u1} Γ₀] (v : AddValuation.{u2, u1} R (CommRing.toRing.{u2} R _inst_1) Γ₀ _inst_2) {J : Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))} (hJ : LE.le.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Preorder.toLE.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (PartialOrder.toPreorder.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Submodule.completeLattice.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))))))) J (AddValuation.supp.{u2, u1} R Γ₀ _inst_2 _inst_1 v)), Eq.{succ u2} (Ideal.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToRing.{u2} R _inst_1) J) (Ring.toSemiring.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToRing.{u2} R _inst_1) J) (CommRing.toRing.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToRing.{u2} R _inst_1) J) (Ideal.Quotient.commRing.{u2} R _inst_1 J)))) (AddValuation.supp.{u2, u1} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToRing.{u2} R _inst_1) J) Γ₀ _inst_2 (Ideal.Quotient.commRing.{u2} R _inst_1 J) (AddValuation.onQuot.{u2, u1} R Γ₀ _inst_1 _inst_2 v J hJ)) (Ideal.map.{u2, u2, u2} R (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToRing.{u2} R _inst_1) J) (RingHom.{u2, u2} R (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToRing.{u2} R _inst_1) J) (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToRing.{u2} R _inst_1) J) (Ring.toNonAssocRing.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToRing.{u2} R _inst_1) J) (CommRing.toRing.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToRing.{u2} R _inst_1) J) (Ideal.Quotient.commRing.{u2} R _inst_1 J))))) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToRing.{u2} R _inst_1) J) (CommRing.toRing.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToRing.{u2} R _inst_1) J) (Ideal.Quotient.commRing.{u2} R _inst_1 J))) (RingHom.instRingHomClassRingHom.{u2, u2} R (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToRing.{u2} R _inst_1) J) (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToRing.{u2} R _inst_1) J) (Ring.toNonAssocRing.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToRing.{u2} R _inst_1) J) (CommRing.toRing.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToRing.{u2} R _inst_1) J) (Ideal.Quotient.commRing.{u2} R _inst_1 J))))) (Ideal.Quotient.mk.{u2} R _inst_1 J) (AddValuation.supp.{u2, u1} R Γ₀ _inst_2 _inst_1 v))
+Case conversion may be inaccurate. Consider using '#align add_valuation.supp_quot AddValuation.supp_quotₓ'. -/
 /-- The quotient valuation on R/J has support supp(v)/J if J ⊆ supp v. -/
 theorem supp_quot {J : Ideal R} (hJ : J ≤ supp v) :
     supp (v.onQuot hJ) = (supp v).map (Ideal.Quotient.mk J) :=
   v.supp_quot hJ
 #align add_valuation.supp_quot AddValuation.supp_quot
 
+/- warning: add_valuation.supp_quot_supp -> AddValuation.supp_quot_supp is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {Γ₀ : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : LinearOrderedAddCommMonoidWithTop.{u2} Γ₀] (v : AddValuation.{u1, u2} R (CommRing.toRing.{u1} R _inst_1) Γ₀ _inst_2), Eq.{succ u1} (Ideal.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (AddValuation.supp.{u1, u2} R Γ₀ _inst_2 _inst_1 v)) (Ring.toSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (AddValuation.supp.{u1, u2} R Γ₀ _inst_2 _inst_1 v)) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (AddValuation.supp.{u1, u2} R Γ₀ _inst_2 _inst_1 v)) (Ideal.Quotient.commRing.{u1} R _inst_1 (AddValuation.supp.{u1, u2} R Γ₀ _inst_2 _inst_1 v))))) (AddValuation.supp.{u1, u2} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (AddValuation.supp.{u1, u2} R Γ₀ _inst_2 _inst_1 v)) Γ₀ _inst_2 (Ideal.Quotient.commRing.{u1} R _inst_1 (AddValuation.supp.{u1, u2} R Γ₀ _inst_2 _inst_1 v)) (AddValuation.onQuot.{u1, u2} R Γ₀ _inst_1 _inst_2 v (AddValuation.supp.{u1, u2} R Γ₀ _inst_2 _inst_1 v) (le_rfl.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) (AddValuation.supp.{u1, u2} R Γ₀ _inst_2 _inst_1 v)))) (OfNat.ofNat.{u1} (Ideal.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (AddValuation.supp.{u1, u2} R Γ₀ _inst_2 _inst_1 v)) (Ring.toSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (AddValuation.supp.{u1, u2} R Γ₀ _inst_2 _inst_1 v)) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (AddValuation.supp.{u1, u2} R Γ₀ _inst_2 _inst_1 v)) (Ideal.Quotient.commRing.{u1} R _inst_1 (AddValuation.supp.{u1, u2} R Γ₀ _inst_2 _inst_1 v))))) 0 (OfNat.mk.{u1} (Ideal.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (AddValuation.supp.{u1, u2} R Γ₀ _inst_2 _inst_1 v)) (Ring.toSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (AddValuation.supp.{u1, u2} R Γ₀ _inst_2 _inst_1 v)) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (AddValuation.supp.{u1, u2} R Γ₀ _inst_2 _inst_1 v)) (Ideal.Quotient.commRing.{u1} R _inst_1 (AddValuation.supp.{u1, u2} R Γ₀ _inst_2 _inst_1 v))))) 0 (Zero.zero.{u1} (Ideal.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (AddValuation.supp.{u1, u2} R Γ₀ _inst_2 _inst_1 v)) (Ring.toSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (AddValuation.supp.{u1, u2} R Γ₀ _inst_2 _inst_1 v)) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (AddValuation.supp.{u1, u2} R Γ₀ _inst_2 _inst_1 v)) (Ideal.Quotient.commRing.{u1} R _inst_1 (AddValuation.supp.{u1, u2} R Γ₀ _inst_2 _inst_1 v))))) (MulZeroClass.toHasZero.{u1} (Ideal.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (AddValuation.supp.{u1, u2} R Γ₀ _inst_2 _inst_1 v)) (Ring.toSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (AddValuation.supp.{u1, u2} R Γ₀ _inst_2 _inst_1 v)) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (AddValuation.supp.{u1, u2} R Γ₀ _inst_2 _inst_1 v)) (Ideal.Quotient.commRing.{u1} R _inst_1 (AddValuation.supp.{u1, u2} R Γ₀ _inst_2 _inst_1 v))))) (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} (Ideal.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (AddValuation.supp.{u1, u2} R Γ₀ _inst_2 _inst_1 v)) (Ring.toSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (AddValuation.supp.{u1, u2} R Γ₀ _inst_2 _inst_1 v)) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (AddValuation.supp.{u1, u2} R Γ₀ _inst_2 _inst_1 v)) (Ideal.Quotient.commRing.{u1} R _inst_1 (AddValuation.supp.{u1, u2} R Γ₀ _inst_2 _inst_1 v))))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Ideal.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (AddValuation.supp.{u1, u2} R Γ₀ _inst_2 _inst_1 v)) (Ring.toSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (AddValuation.supp.{u1, u2} R Γ₀ _inst_2 _inst_1 v)) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (AddValuation.supp.{u1, u2} R Γ₀ _inst_2 _inst_1 v)) (Ideal.Quotient.commRing.{u1} R _inst_1 (AddValuation.supp.{u1, u2} R Γ₀ _inst_2 _inst_1 v))))) (Semiring.toNonAssocSemiring.{u1} (Ideal.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (AddValuation.supp.{u1, u2} R Γ₀ _inst_2 _inst_1 v)) (Ring.toSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (AddValuation.supp.{u1, u2} R Γ₀ _inst_2 _inst_1 v)) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (AddValuation.supp.{u1, u2} R Γ₀ _inst_2 _inst_1 v)) (Ideal.Quotient.commRing.{u1} R _inst_1 (AddValuation.supp.{u1, u2} R Γ₀ _inst_2 _inst_1 v))))) (IdemSemiring.toSemiring.{u1} (Ideal.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (AddValuation.supp.{u1, u2} R Γ₀ _inst_2 _inst_1 v)) (Ring.toSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (AddValuation.supp.{u1, u2} R Γ₀ _inst_2 _inst_1 v)) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (AddValuation.supp.{u1, u2} R Γ₀ _inst_2 _inst_1 v)) (Ideal.Quotient.commRing.{u1} R _inst_1 (AddValuation.supp.{u1, u2} R Γ₀ _inst_2 _inst_1 v))))) (Submodule.idemSemiring.{u1, u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (AddValuation.supp.{u1, u2} R Γ₀ _inst_2 _inst_1 v)) (CommRing.toCommSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (AddValuation.supp.{u1, u2} R Γ₀ _inst_2 _inst_1 v)) (Ideal.Quotient.commRing.{u1} R _inst_1 (AddValuation.supp.{u1, u2} R Γ₀ _inst_2 _inst_1 v))) (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (AddValuation.supp.{u1, u2} R Γ₀ _inst_2 _inst_1 v)) (Ring.toSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (AddValuation.supp.{u1, u2} R Γ₀ _inst_2 _inst_1 v)) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (AddValuation.supp.{u1, u2} R Γ₀ _inst_2 _inst_1 v)) (Ideal.Quotient.commRing.{u1} R _inst_1 (AddValuation.supp.{u1, u2} R Γ₀ _inst_2 _inst_1 v)))) (Algebra.id.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (AddValuation.supp.{u1, u2} R Γ₀ _inst_2 _inst_1 v)) (CommRing.toCommSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (AddValuation.supp.{u1, u2} R Γ₀ _inst_2 _inst_1 v)) (Ideal.Quotient.commRing.{u1} R _inst_1 (AddValuation.supp.{u1, u2} R Γ₀ _inst_2 _inst_1 v)))))))))))))
+but is expected to have type
+  forall {R : Type.{u2}} {Γ₀ : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : LinearOrderedAddCommMonoidWithTop.{u1} Γ₀] (v : AddValuation.{u2, u1} R (CommRing.toRing.{u2} R _inst_1) Γ₀ _inst_2), Eq.{succ u2} (Ideal.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToRing.{u2} R _inst_1) (Valuation.supp.{u2, u1} R (Multiplicative.{u1} (OrderDual.{u1} Γ₀)) _inst_1 (instLinearOrderedCommMonoidWithZeroMultiplicativeOrderDual.{u1} Γ₀ _inst_2) v)) (Ring.toSemiring.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToRing.{u2} R _inst_1) (Valuation.supp.{u2, u1} R (Multiplicative.{u1} (OrderDual.{u1} Γ₀)) _inst_1 (instLinearOrderedCommMonoidWithZeroMultiplicativeOrderDual.{u1} Γ₀ _inst_2) v)) (CommRing.toRing.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToRing.{u2} R _inst_1) (Valuation.supp.{u2, u1} R (Multiplicative.{u1} (OrderDual.{u1} Γ₀)) _inst_1 (instLinearOrderedCommMonoidWithZeroMultiplicativeOrderDual.{u1} Γ₀ _inst_2) v)) (Ideal.Quotient.commRing.{u2} R _inst_1 (Valuation.supp.{u2, u1} R (Multiplicative.{u1} (OrderDual.{u1} Γ₀)) _inst_1 (instLinearOrderedCommMonoidWithZeroMultiplicativeOrderDual.{u1} Γ₀ _inst_2) v))))) (AddValuation.supp.{u2, u1} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToRing.{u2} R _inst_1) (Valuation.supp.{u2, u1} R (Multiplicative.{u1} (OrderDual.{u1} Γ₀)) _inst_1 (instLinearOrderedCommMonoidWithZeroMultiplicativeOrderDual.{u1} Γ₀ _inst_2) v)) Γ₀ _inst_2 (Ideal.Quotient.commRing.{u2} R _inst_1 (Valuation.supp.{u2, u1} R (Multiplicative.{u1} (OrderDual.{u1} Γ₀)) _inst_1 (instLinearOrderedCommMonoidWithZeroMultiplicativeOrderDual.{u1} Γ₀ _inst_2) v)) (Valuation.onQuot.{u2, u1} R (Multiplicative.{u1} (OrderDual.{u1} Γ₀)) _inst_1 (instLinearOrderedCommMonoidWithZeroMultiplicativeOrderDual.{u1} Γ₀ _inst_2) v (Valuation.supp.{u2, u1} R (Multiplicative.{u1} (OrderDual.{u1} Γ₀)) _inst_1 (instLinearOrderedCommMonoidWithZeroMultiplicativeOrderDual.{u1} Γ₀ _inst_2) v) (le_rfl.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (PartialOrder.toPreorder.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Submodule.completeLattice.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))))) (Valuation.supp.{u2, u1} R (Multiplicative.{u1} (OrderDual.{u1} Γ₀)) _inst_1 (instLinearOrderedCommMonoidWithZeroMultiplicativeOrderDual.{u1} Γ₀ _inst_2) v)))) (OfNat.ofNat.{u2} (Ideal.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToRing.{u2} R _inst_1) (Valuation.supp.{u2, u1} R (Multiplicative.{u1} (OrderDual.{u1} Γ₀)) _inst_1 (instLinearOrderedCommMonoidWithZeroMultiplicativeOrderDual.{u1} Γ₀ _inst_2) v)) (Ring.toSemiring.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToRing.{u2} R _inst_1) (Valuation.supp.{u2, u1} R (Multiplicative.{u1} (OrderDual.{u1} Γ₀)) _inst_1 (instLinearOrderedCommMonoidWithZeroMultiplicativeOrderDual.{u1} Γ₀ _inst_2) v)) (CommRing.toRing.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToRing.{u2} R _inst_1) (Valuation.supp.{u2, u1} R (Multiplicative.{u1} (OrderDual.{u1} Γ₀)) _inst_1 (instLinearOrderedCommMonoidWithZeroMultiplicativeOrderDual.{u1} Γ₀ _inst_2) v)) (Ideal.Quotient.commRing.{u2} R _inst_1 (Valuation.supp.{u2, u1} R (Multiplicative.{u1} (OrderDual.{u1} Γ₀)) _inst_1 (instLinearOrderedCommMonoidWithZeroMultiplicativeOrderDual.{u1} Γ₀ _inst_2) v))))) 0 (Zero.toOfNat0.{u2} (Ideal.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToRing.{u2} R _inst_1) (Valuation.supp.{u2, u1} R (Multiplicative.{u1} (OrderDual.{u1} Γ₀)) _inst_1 (instLinearOrderedCommMonoidWithZeroMultiplicativeOrderDual.{u1} Γ₀ _inst_2) v)) (Ring.toSemiring.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToRing.{u2} R _inst_1) (Valuation.supp.{u2, u1} R (Multiplicative.{u1} (OrderDual.{u1} Γ₀)) _inst_1 (instLinearOrderedCommMonoidWithZeroMultiplicativeOrderDual.{u1} Γ₀ _inst_2) v)) (CommRing.toRing.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToRing.{u2} R _inst_1) (Valuation.supp.{u2, u1} R (Multiplicative.{u1} (OrderDual.{u1} Γ₀)) _inst_1 (instLinearOrderedCommMonoidWithZeroMultiplicativeOrderDual.{u1} Γ₀ _inst_2) v)) (Ideal.Quotient.commRing.{u2} R _inst_1 (Valuation.supp.{u2, u1} R (Multiplicative.{u1} (OrderDual.{u1} Γ₀)) _inst_1 (instLinearOrderedCommMonoidWithZeroMultiplicativeOrderDual.{u1} Γ₀ _inst_2) v))))) (CommMonoidWithZero.toZero.{u2} (Ideal.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToRing.{u2} R _inst_1) (Valuation.supp.{u2, u1} R (Multiplicative.{u1} (OrderDual.{u1} Γ₀)) _inst_1 (instLinearOrderedCommMonoidWithZeroMultiplicativeOrderDual.{u1} Γ₀ _inst_2) v)) (Ring.toSemiring.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToRing.{u2} R _inst_1) (Valuation.supp.{u2, u1} R (Multiplicative.{u1} (OrderDual.{u1} Γ₀)) _inst_1 (instLinearOrderedCommMonoidWithZeroMultiplicativeOrderDual.{u1} Γ₀ _inst_2) v)) (CommRing.toRing.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToRing.{u2} R _inst_1) (Valuation.supp.{u2, u1} R (Multiplicative.{u1} (OrderDual.{u1} Γ₀)) _inst_1 (instLinearOrderedCommMonoidWithZeroMultiplicativeOrderDual.{u1} Γ₀ _inst_2) v)) (Ideal.Quotient.commRing.{u2} R _inst_1 (Valuation.supp.{u2, u1} R (Multiplicative.{u1} (OrderDual.{u1} Γ₀)) _inst_1 (instLinearOrderedCommMonoidWithZeroMultiplicativeOrderDual.{u1} Γ₀ _inst_2) v))))) (CommSemiring.toCommMonoidWithZero.{u2} (Ideal.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToRing.{u2} R _inst_1) (Valuation.supp.{u2, u1} R (Multiplicative.{u1} (OrderDual.{u1} Γ₀)) _inst_1 (instLinearOrderedCommMonoidWithZeroMultiplicativeOrderDual.{u1} Γ₀ _inst_2) v)) (Ring.toSemiring.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToRing.{u2} R _inst_1) (Valuation.supp.{u2, u1} R (Multiplicative.{u1} (OrderDual.{u1} Γ₀)) _inst_1 (instLinearOrderedCommMonoidWithZeroMultiplicativeOrderDual.{u1} Γ₀ _inst_2) v)) (CommRing.toRing.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToRing.{u2} R _inst_1) (Valuation.supp.{u2, u1} R (Multiplicative.{u1} (OrderDual.{u1} Γ₀)) _inst_1 (instLinearOrderedCommMonoidWithZeroMultiplicativeOrderDual.{u1} Γ₀ _inst_2) v)) (Ideal.Quotient.commRing.{u2} R _inst_1 (Valuation.supp.{u2, u1} R (Multiplicative.{u1} (OrderDual.{u1} Γ₀)) _inst_1 (instLinearOrderedCommMonoidWithZeroMultiplicativeOrderDual.{u1} Γ₀ _inst_2) v))))) (IdemCommSemiring.toCommSemiring.{u2} (Ideal.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToRing.{u2} R _inst_1) (Valuation.supp.{u2, u1} R (Multiplicative.{u1} (OrderDual.{u1} Γ₀)) _inst_1 (instLinearOrderedCommMonoidWithZeroMultiplicativeOrderDual.{u1} Γ₀ _inst_2) v)) (Ring.toSemiring.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToRing.{u2} R _inst_1) (Valuation.supp.{u2, u1} R (Multiplicative.{u1} (OrderDual.{u1} Γ₀)) _inst_1 (instLinearOrderedCommMonoidWithZeroMultiplicativeOrderDual.{u1} Γ₀ _inst_2) v)) (CommRing.toRing.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToRing.{u2} R _inst_1) (Valuation.supp.{u2, u1} R (Multiplicative.{u1} (OrderDual.{u1} Γ₀)) _inst_1 (instLinearOrderedCommMonoidWithZeroMultiplicativeOrderDual.{u1} Γ₀ _inst_2) v)) (Ideal.Quotient.commRing.{u2} R _inst_1 (Valuation.supp.{u2, u1} R (Multiplicative.{u1} (OrderDual.{u1} Γ₀)) _inst_1 (instLinearOrderedCommMonoidWithZeroMultiplicativeOrderDual.{u1} Γ₀ _inst_2) v))))) (Ideal.instIdemCommSemiringIdealToSemiring.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToRing.{u2} R _inst_1) (Valuation.supp.{u2, u1} R (Multiplicative.{u1} (OrderDual.{u1} Γ₀)) _inst_1 (instLinearOrderedCommMonoidWithZeroMultiplicativeOrderDual.{u1} Γ₀ _inst_2) v)) (CommRing.toCommSemiring.{u2} (HasQuotient.Quotient.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToRing.{u2} R _inst_1) (Valuation.supp.{u2, u1} R (Multiplicative.{u1} (OrderDual.{u1} Γ₀)) _inst_1 (instLinearOrderedCommMonoidWithZeroMultiplicativeOrderDual.{u1} Γ₀ _inst_2) v)) (Ideal.Quotient.commRing.{u2} R _inst_1 (Valuation.supp.{u2, u1} R (Multiplicative.{u1} (OrderDual.{u1} Γ₀)) _inst_1 (instLinearOrderedCommMonoidWithZeroMultiplicativeOrderDual.{u1} Γ₀ _inst_2) v)))))))))
+Case conversion may be inaccurate. Consider using '#align add_valuation.supp_quot_supp AddValuation.supp_quot_suppₓ'. -/
 theorem supp_quot_supp : supp (v.onQuot le_rfl) = 0 :=
   v.supp_quot_supp
 #align add_valuation.supp_quot_supp AddValuation.supp_quot_supp

Changes in mathlib4

mathlib3
mathlib4
chore(*): remove empty lines between variable statements (#11418)

Empty lines were removed by executing the following Python script twice

import os
import re


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

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

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

      # Write the modified content back to the file
      with open(file_path, 'w') as file:
        file.write(modified_content)
Diff
@@ -21,7 +21,6 @@ on `R / J` = `Ideal.Quotient J` is `onQuot v h`.
 namespace Valuation
 
 variable {R Γ₀ : Type*} [CommRing R] [LinearOrderedCommMonoidWithZero Γ₀]
-
 variable (v : Valuation R Γ₀)
 
 /-- If `hJ : J ⊆ supp v` then `onQuotVal hJ` is the induced function on `R / J` as a function.
@@ -85,9 +84,7 @@ end Valuation
 namespace AddValuation
 
 variable {R Γ₀ : Type*}
-
 variable [CommRing R] [LinearOrderedAddCommMonoidWithTop Γ₀]
-
 variable (v : AddValuation R Γ₀)
 
 -- attribute [local reducible] AddValuation -- Porting note: reducible not supported
chore: banish Type _ and Sort _ (#6499)

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

This has nice performance benefits.

Diff
@@ -20,7 +20,7 @@ on `R / J` = `Ideal.Quotient J` is `onQuot v h`.
 
 namespace Valuation
 
-variable {R Γ₀ : Type _} [CommRing R] [LinearOrderedCommMonoidWithZero Γ₀]
+variable {R Γ₀ : Type*} [CommRing R] [LinearOrderedCommMonoidWithZero Γ₀]
 
 variable (v : Valuation R Γ₀)
 
@@ -84,7 +84,7 @@ end Valuation
 
 namespace AddValuation
 
-variable {R Γ₀ : Type _}
+variable {R Γ₀ : Type*}
 
 variable [CommRing R] [LinearOrderedAddCommMonoidWithTop Γ₀]
 
@@ -109,7 +109,7 @@ theorem onQuot_comap_eq {J : Ideal R} (hJ : J ≤ supp v) :
   Valuation.onQuot_comap_eq v hJ
 #align add_valuation.on_quot_comap_eq AddValuation.onQuot_comap_eq
 
-theorem comap_supp {S : Type _} [CommRing S] (f : S →+* R) :
+theorem comap_supp {S : Type*} [CommRing S] (f : S →+* R) :
     supp (v.comap f) = Ideal.comap f v.supp :=
   Valuation.comap_supp v f
 #align add_valuation.comap_supp AddValuation.comap_supp
chore: script to replace headers with #align_import statements (#5979)

Open in Gitpod

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

Diff
@@ -2,15 +2,12 @@
 Copyright (c) 2020 Johan Commelin. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Kevin Buzzard, Johan Commelin, Patrick Massot
-
-! This file was ported from Lean 3 source module ring_theory.valuation.quotient
-! leanprover-community/mathlib commit da420a8c6dd5bdfb85c4ced85c34388f633bc6ff
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
 -/
 import Mathlib.RingTheory.Valuation.Basic
 import Mathlib.RingTheory.Ideal.QuotientOperations
 
+#align_import ring_theory.valuation.quotient from "leanprover-community/mathlib"@"da420a8c6dd5bdfb85c4ced85c34388f633bc6ff"
+
 /-!
 # The valuation on a quotient ring
 
chore: reenable eta, bump to nightly 2023-05-16 (#3414)

Now that leanprover/lean4#2210 has been merged, this PR:

  • removes all the set_option synthInstance.etaExperiment true commands (and some etaExperiment% term elaborators)
  • removes many but not quite all set_option maxHeartbeats commands
  • makes various other changes required to cope with leanprover/lean4#2210.

Co-authored-by: Scott Morrison <scott.morrison@anu.edu.au> Co-authored-by: Scott Morrison <scott.morrison@gmail.com> Co-authored-by: Matthew Ballard <matt@mrb.email>

Diff
@@ -52,7 +52,6 @@ theorem onQuot_comap_eq {J : Ideal R} (hJ : J ≤ supp v) :
   ext fun _ => rfl
 #align valuation.on_quot_comap_eq Valuation.onQuot_comap_eq
 
-set_option synthInstance.etaExperiment true in -- Porting note: gets around lean4#2074
 theorem self_le_supp_comap (J : Ideal R) (v : Valuation (R ⧸ J) Γ₀) :
     J ≤ (v.comap (Ideal.Quotient.mk J)).supp := by
   rw [comap_supp, ← Ideal.map_le_iff_le_comap]
@@ -67,7 +66,6 @@ theorem comap_onQuot_eq (J : Ideal R) (v : Valuation (R ⧸ J) Γ₀) :
     rfl
 #align valuation.comap_on_quot_eq Valuation.comap_onQuot_eq
 
-set_option synthInstance.etaExperiment true in -- Porting note: gets around lean4#2074
 /-- The quotient valuation on `R / J` has support `(supp v) / J` if `J ⊆ supp v`. -/
 theorem supp_quot {J : Ideal R} (hJ : J ≤ supp v) :
     supp (v.onQuot hJ) = (supp v).map (Ideal.Quotient.mk J) := by
@@ -114,7 +112,6 @@ theorem onQuot_comap_eq {J : Ideal R} (hJ : J ≤ supp v) :
   Valuation.onQuot_comap_eq v hJ
 #align add_valuation.on_quot_comap_eq AddValuation.onQuot_comap_eq
 
-set_option synthInstance.etaExperiment true in -- Porting note: gets around lean4#2074
 theorem comap_supp {S : Type _} [CommRing S] (f : S →+* R) :
     supp (v.comap f) = Ideal.comap f v.supp :=
   Valuation.comap_supp v f
@@ -131,7 +128,6 @@ theorem comap_onQuot_eq (J : Ideal R) (v : AddValuation (R ⧸ J) Γ₀) :
   Valuation.comap_onQuot_eq J v
 #align add_valuation.comap_on_quot_eq AddValuation.comap_onQuot_eq
 
-set_option synthInstance.etaExperiment true in -- Porting note: gets around lean4#2074
 /-- The quotient valuation on `R / J` has support `(supp v) / J` if `J ⊆ supp v`. -/
 theorem supp_quot {J : Ideal R} (hJ : J ≤ supp v) :
     supp (v.onQuot hJ) = (supp v).map (Ideal.Quotient.mk J) :=
chore: fix #align lines (#3640)

This PR fixes two things:

  • Most align statements for definitions and theorems and instances that are separated by two newlines from the relevant declaration (s/\n\n#align/\n#align). This is often seen in the mathport output after ending calc blocks.
  • All remaining more-than-one-line #align statements. (This was needed for a script I wrote for #3630.)
Diff
@@ -35,7 +35,6 @@ def onQuotVal {J : Ideal R} (hJ : J ≤ supp v) : R ⧸ J → Γ₀ := fun q =>
       v a = v (b + -(-a + b)) := by simp
       _ = v b :=
         v.map_add_supp b <| (Ideal.neg_mem_iff _).2 <| hJ <| QuotientAddGroup.leftRel_apply.mp h
-
 #align valuation.on_quot_val Valuation.onQuotVal
 
 /-- The extension of valuation `v` on `R` to valuation on `R / J` if `J ⊆ supp v`. -/
feat: port RingTheory.Valuation.Quotient (#3322)

Co-authored-by: Parcly Taxel <reddeloostw@gmail.com>

Dependencies 8 + 456

457 files ported (98.3%)
188511 lines ported (98.4%)
Show graph

The unported dependencies are